summaryrefslogtreecommitdiffstats
path: root/toolkit/xre/dllservices/mozglue/WindowsDllBlocklistDefs.in
blob: 99360930cae65aa4f9c6f654dac6e4a8a46b8133 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# This file exposes five lists:
# ALL_PROCESSES, BROWSER_PROCESS, CHILD_PROCESSES, UTILITY_PROCESSES,
# and SOCKET_PROCESSES
#
# In addition, each of those lists supports a special variant for test-only
# entries:
# ALL_PROCESSES_TESTS, BROWSER_PROCESS_TESTS, CHILD_PROCESSES_TESTS,
# UTILITY_PROCESSES_TESTS, and SOCKET_PROCESSES_TESTS
#
# Choose the list that is applicable to the applicable process type(s) for your
# DLL block.
#
# The currently supported blocklist entry types are:
# DllBlocklistEntry, A11yBlocklistEntry, LspBlocklistEntry,
# RedirectToNoOpEntryPoint
# (See gen_dll_blocklist_defs.py for their documentation.)
#
# Example:
# ALL_PROCESSES += [
#     DllBlocklistEntry("foo.dll", (1, 2, 3, 4)),
#     DllBlocklistEntry("foo.dll", ALL_VERSIONS),
#     DllBlocklistEntry("foo.dll", UNVERSIONED),
#     DllBlocklistEntry("foo.dll", 0x0000123400000000),
#     DllBlocklistEntry("foo.dll", PETimeStamp(0x12345678)),
# ]
#
# The version parameter the "last bad" version, that is, we block anything that
# is less-than or equal to that version.

ALL_PROCESSES += [
    # NPFFAddon - Known malware
    DllBlocklistEntry("npffaddon.dll", ALL_VERSIONS),

    # AVG 8 - Antivirus vendor AVG, old version, plugin already blocklisted
    DllBlocklistEntry("avgrsstx.dll", (8,5,0,401)),

    # calc.dll - Suspected malware
    DllBlocklistEntry("calc.dll", (1,0,0,1)),

    # hook.dll - Suspected malware
    DllBlocklistEntry("hook.dll", ALL_VERSIONS),

    # GoogleDesktopNetwork3.dll - Extremely old, unversioned instances
    # of this DLL cause crashes
    DllBlocklistEntry("googledesktopnetwork3.dll", UNVERSIONED),

    # rdolib.dll - Suspected malware
    DllBlocklistEntry("rdolib.dll", (6,0,88,4)),

    # fgjk4wvb.dll - Suspected malware
    DllBlocklistEntry("fgjk4wvb.dll", (8,8,8,8)),

    # radhslib.dll - Naomi internet filter - unmaintained since 2006
    DllBlocklistEntry("radhslib.dll", UNVERSIONED),

    # Music download filter for vkontakte.ru - old instances
    # of this DLL cause crashes
    DllBlocklistEntry("vksaver.dll", (2,2,2,0)),

    # Topcrash in Firefox 4.0b1
    DllBlocklistEntry("rlxf.dll", (1,2,323,1)),

    # psicon.dll - Topcrashes in Thunderbird, and some crashes in Firefox
    # Adobe photoshop library, now redundant in later installations
    DllBlocklistEntry("psicon.dll", ALL_VERSIONS),

    # Topcrash in Firefox 4 betas (bug 618899),
    DllBlocklistEntry("accelerator.dll", (3,2,1,6)),

    # Topcrash with Roboform in Firefox 8 (bug 699134),
    DllBlocklistEntry("rf-firefox.dll", (7,6,1,0)),
    DllBlocklistEntry("roboform.dll", (7,6,1,0)),

    # Topcrash with Babylon Toolbar on FF16+ (bug 721264),
    DllBlocklistEntry("babyfox.dll", ALL_VERSIONS),

    # sprotector.dll crashes, bug 957258
    DllBlocklistEntry("sprotector.dll", ALL_VERSIONS),

    # Windows Media Foundation FLAC decoder and type sniffer (bug 839031).
    DllBlocklistEntry("mfflac.dll", ALL_VERSIONS),

    # Older Relevant Knowledge DLLs cause us to crash (bug 904001).
    DllBlocklistEntry("rlnx.dll", (1, 3, 334, 9)),
    DllBlocklistEntry("pmnx.dll", (1, 3, 334, 9)),
    DllBlocklistEntry("opnx.dll", (1, 3, 334, 9)),
    DllBlocklistEntry("prnx.dll", (1, 3, 334, 9)),

    # Older belgian ID card software causes Firefox to crash or hang on
    # shutdown, bug 831285 and 918399.
    DllBlocklistEntry("beid35cardlayer.dll", (3, 5, 6, 6968)),

    # bug 925459, bitguard crashes
    DllBlocklistEntry("bitguard.dll", ALL_VERSIONS),

    # bug 812683 - crashes in Windows library when Asus Gamer OSD is installed
    # Software is discontinued/unsupported
    DllBlocklistEntry("atkdx11disp.dll", ALL_VERSIONS),

    # Topcrash with Conduit SearchProtect, bug 944542
    DllBlocklistEntry("spvc32.dll", ALL_VERSIONS),

    # Topcrash with V-bates, bug 1002748 and bug 1023239
    DllBlocklistEntry("libinject.dll", UNVERSIONED),
    DllBlocklistEntry("libinject2.dll", PETimeStamp(0x537DDC93)),
    DllBlocklistEntry("libredir2.dll", PETimeStamp(0x5385B7ED)),

    # Crashes with RoboForm2Go written against old SDK, bug 988311/1196859
    DllBlocklistEntry("rf-firefox-22.dll", ALL_VERSIONS),
    DllBlocklistEntry("rf-firefox-40.dll", ALL_VERSIONS),

    # Crashes with DesktopTemperature, bug 1046382
    DllBlocklistEntry("dtwxsvc.dll", PETimeStamp(0x53153234)),

    # Startup crashes with Lenovo Onekey Theater, bug 1123778
    DllBlocklistEntry("activedetect32.dll", UNVERSIONED),
    DllBlocklistEntry("activedetect64.dll", UNVERSIONED),
    DllBlocklistEntry("windowsapihookdll32.dll", UNVERSIONED),
    DllBlocklistEntry("windowsapihookdll64.dll", UNVERSIONED),

    # Flash crashes with RealNetworks RealDownloader, bug 1132663
    DllBlocklistEntry("rndlnpshimswf.dll", ALL_VERSIONS),
    DllBlocklistEntry("rndlmainbrowserrecordplugin.dll", ALL_VERSIONS),

    # Startup crashes with RealNetworks Browser Record Plugin, bug 1170141
    DllBlocklistEntry("nprpffbrowserrecordext.dll", ALL_VERSIONS),
    DllBlocklistEntry("nprndlffbrowserrecordext.dll", ALL_VERSIONS),

    # Crashes with CyberLink YouCam, bug 1136968
    DllBlocklistEntry("ycwebcamerasource.ax", (2, 0, 0, 1611)),

    # Old version of WebcamMax crashes WebRTC, bug 1130061
    DllBlocklistEntry("vwcsource.ax", (1, 5, 0, 0)),

    # NetOp School, discontinued product, bug 763395
    DllBlocklistEntry("nlsp.dll", (6, 23, 2012, 19)),

    # Orbit Downloader, bug 1222819
    DllBlocklistEntry("grabdll.dll", (2, 6, 1, 0)),
    DllBlocklistEntry("grabkernel.dll", (1, 0, 0, 1)),

    # ESET, bug 1229252
    DllBlocklistEntry("eoppmonitor.dll", ALL_VERSIONS),

    # SS2OSD, bug 1262348
    DllBlocklistEntry("ss2osd.dll", ALL_VERSIONS),
    DllBlocklistEntry("ss2devprops.dll", ALL_VERSIONS),

    # NHASUSSTRIXOSD.DLL, bug 1269244
    DllBlocklistEntry("nhasusstrixosd.dll", ALL_VERSIONS),
    DllBlocklistEntry("nhasusstrixdevprops.dll", ALL_VERSIONS),

    # Crashes with PremierOpinion/RelevantKnowledge, bug 1277846
    DllBlocklistEntry("opls.dll", ALL_VERSIONS),
    DllBlocklistEntry("opls64.dll", ALL_VERSIONS),
    DllBlocklistEntry("pmls.dll", ALL_VERSIONS),
    DllBlocklistEntry("pmls64.dll", ALL_VERSIONS),
    DllBlocklistEntry("prls.dll", ALL_VERSIONS),
    DllBlocklistEntry("prls64.dll", ALL_VERSIONS),
    DllBlocklistEntry("rlls.dll", ALL_VERSIONS),
    DllBlocklistEntry("rlls64.dll", ALL_VERSIONS),

    # Vorbis DirectShow filters, bug 1239690.
    DllBlocklistEntry("vorbis.acm", (0, 0, 3, 6)),

    # AhnLab Internet Security, bug 1311969
    DllBlocklistEntry("nzbrcom.dll", ALL_VERSIONS),

    # K7TotalSecurity, bug 1339083 and bug 1694489.
    DllBlocklistEntry("k7pswsen.dll", (15, 2, 2, 102)),

    # smci*.dll - goobzo crashware (bug 1339908),
    DllBlocklistEntry("smci32.dll", ALL_VERSIONS),
    DllBlocklistEntry("smci64.dll", ALL_VERSIONS),

    # Crashes with Internet Download Manager, bug 1333486
    DllBlocklistEntry("idmcchandler7.dll", ALL_VERSIONS),
    DllBlocklistEntry("idmcchandler7_64.dll", ALL_VERSIONS),
    DllBlocklistEntry("idmcchandler5.dll", ALL_VERSIONS),
    DllBlocklistEntry("idmcchandler5_64.dll", ALL_VERSIONS),

    # Nahimic 2 breaks applicaton update (bug 1356637),
    DllBlocklistEntry("nahimic2devprops.dll", (2, 5, 19, 0xffff)),
    # Nahimic is causing crashes, bug 1233556
    DllBlocklistEntry("nahimicmsiosd.dll", UNVERSIONED),
    # Nahimic is causing crashes, bug 1360029
    DllBlocklistEntry("nahimicvrdevprops.dll", UNVERSIONED),
    DllBlocklistEntry("nahimic2osd.dll", (2, 5, 19, 0xffff)),
    DllBlocklistEntry("nahimicmsidevprops.dll", UNVERSIONED),

    # Bug 1268470 - crashes with Kaspersky Lab on Windows 8
    DllBlocklistEntry("klsihk64.dll", (14, 0, 456, 0xffff),
                      BLOCK_WIN8_AND_OLDER),

    # Bug 1579758, crashes with OpenSC nightly version 0.19.0.448 and lower
    DllBlocklistEntry("onepin-opensc-pkcs11.dll", (0, 19, 0, 448)),

    # Avecto Privilege Guard causes crashes, bug 1385542
    DllBlocklistEntry("pghook.dll", ALL_VERSIONS),

    # Old versions of G DATA BankGuard, bug 1421991
    DllBlocklistEntry("banksafe64.dll", (1, 2, 15299, 65535)),

    # Old versions of G DATA, bug 1043775
    DllBlocklistEntry("gdkbfltdll64.dll", (1, 0, 14141, 240)),

    # Dell Backup and Recovery tool causes crashes, bug 1433408
    DllBlocklistEntry("dbroverlayiconnotbackuped.dll", (1, 8, 0, 9)),
    DllBlocklistEntry("dbroverlayiconbackuped.dll", (1, 8, 0, 9)),

    # NVIDIA nView Desktop Management causes crashes, bug 1465787
    DllBlocklistEntry("nviewh64.dll", (6, 14, 10, 14847)),

    # Ivanti Endpoint Security, bug 1553776
    DllBlocklistEntry("sxwmon.dll", ALL_VERSIONS),
    DllBlocklistEntry("sxwmon64.dll", ALL_VERSIONS),

    # 360 Safeguard/360 Total Security causes a11y crashes, bug 1536227.
    DllBlocklistEntry("safemon64.dll", ALL_VERSIONS),

    # Old versions of Digital Guardian, bug 1318858, bug 1603974,
    # and bug 1672367
    RedirectToNoOpEntryPoint("dgapi.dll", (7, 5, 0xffff, 0xffff)),
    RedirectToNoOpEntryPoint("dgapi64.dll", (7, 5, 0xffff, 0xffff)),

    # Old versions of COMODO Internet Security, bug 1608048
    DllBlocklistEntry("IseGuard32.dll", (1, 6, 13835, 184)),
    DllBlocklistEntry("IseGuard64.dll", (1, 6, 13835, 184)),

    # Old version of COMODO Firewall, bug 1407712 and bug 1624336
    DllBlocklistEntry("guard64.dll", (8, 4, 0, 65535)),

    # Old version of Panda Security, bug 1637984 and bug 1705125
    DllBlocklistEntry("PavLspHook64.dll", (9, 2, 2, 1), BLOCK_WIN7_AND_OLDER),
    DllBlocklistEntry("PavSHook64.dll", (9, 2, 2, 1), BLOCK_WIN7_AND_OLDER),

    # Webroot SecureAnywhere causes crashes, bug 1700281
    DllBlocklistEntry("WRDll.x64.dll", (1, 1, 0, 227)),
    DllBlocklistEntry("WRDll.x86.dll", (1, 1, 0, 227)),

    # Webroot SecureAnywhere causes deadlocks, bug 1752466
    DllBlocklistEntry("WRusr.dll", (9, 0, 32, 49)),

    # InfoWatch Device Monitor causes crashes, bug 1704276
    DllBlocklistEntry("iwprn.dll", (6, 9, 11, 360)),
    DllBlocklistEntry("iwprn_x86.dll", (6, 9, 11, 360)),

    # Forcepoint DLLs causing crashes, bug 1767993
    DllBlocklistEntry("qipcap.dll", (7, 7, 819, 1)),
    DllBlocklistEntry("qipcap64.dll", (7, 7, 819, 1)),

    # Cylance, bug 1756190 and bug 1799562
    DllBlocklistEntry("CylanceMemDef64.dll", ALL_VERSIONS),
]

ALL_PROCESSES_TESTS += [
    # DLLs used by TestDllBlocklist* gTests
    DllBlocklistEntry("testdllblocklist_matchbyname.dll", ALL_VERSIONS),
    DllBlocklistEntry("testdllblocklist_matchbyversion.dll", (5, 5, 5, 5)),
    DllBlocklistEntry("testdllblocklist_allowbyversion.dll", (5, 5, 5, 5)),
    RedirectToNoOpEntryPoint("testdllblocklist_noopentrypoint.dll",
                             (5, 5, 5, 5)),
]

BROWSER_PROCESS += [
    # RealPlayer, bug 1418535, bug 1437417
    # Versions before 18.1.11.0 cause severe performance problems.
    A11yBlocklistEntry("dtvhooks.dll", (18, 1, 10, 0xffff)),
    A11yBlocklistEntry("dtvhooks64.dll", (18, 1, 10, 0xffff)),

    # SolidWorks Windows Explorer integration causes crashes, bug 1566109
    # and bug 1468250
    DllBlocklistEntry("Database.dll", ALL_VERSIONS),

    # Hancom Office shell extension causes crashes when the file picker is
    # opened. See bug 1581092.
    DllBlocklistEntry("hncshellext64.dll", (1, 0, 0 ,3)),

    # Cambridge Silicon Radio, bug 1634538
    DllBlocklistEntry("BLEtokenCredentialProvider.dll", (2, 1, 63, 0)),

    # FYunZip and PuddingZip, loaded as shell extension, cause crashes
    # bug 1576728
    DllBlocklistEntry("oly64.dll", (1, 1, 3, 19920)),
    DllBlocklistEntry("oly.dll", (1, 1, 3, 19920)),
    DllBlocklistEntry("pdzipmenu64.dll", (1, 4, 4, 20103)),
    DllBlocklistEntry("pdzipmenu32.dll", (1, 4, 4, 20103)),

    # McAfee Data Loss Prevention causes crashs with multiple signatures,
    # bug 1634090, bug 1717676
    DllBlocklistEntry("fcagff.dll", (11, 6, 300, 2)),
    DllBlocklistEntry("fcagff64.dll", (11, 6, 300, 2)),

    # AVerMedia's virtual camera module causes crashes (bug 1692908)
    DllBlocklistEntry("avmvirtualsource.ax", (1, 0, 0, 3)),

    # Avast (bug 1794064)
    DllBlocklistEntry("aswJsFlt.dll", (18, 0, 1473, 0)),

    # ASUS Web Storage (bug 1714940)
    DllBlocklistEntry("asuswsshellext64.dll", (1, 1, 0, 27)),

    # ExplorerPatcher (bug 1798707)
    DllBlocklistEntry("explorerpatcher.amd64.dll", ALL_VERSIONS),
]

CHILD_PROCESSES += [
    # Causes crashes in the GPU process with WebRender enabled, bug 1544435
    DllBlocklistEntry("wbload.dll", ALL_VERSIONS),

    # Causes crashes in the content process with win32k lockdown, bug 1766022
    DllBlocklistEntry("videocapturer.dll", ALL_VERSIONS),
    DllBlocklistEntry("videocapturerhk32.dll", ALL_VERSIONS),
    DllBlocklistEntry("videocapturerhk64.dll", ALL_VERSIONS),

    # Causes crashes in the content process with win32k lockdown, bug 1766029
    # The crash seems to be in the *_m module which has been unloaded.
    DllBlocklistEntry("safaweb.dll", (3, 0, 21, 3181)),
    DllBlocklistEntry("safaweb_m.dll", (3, 0, 21, 3181)),
    DllBlocklistEntry("safaweb64.dll", (3, 0, 21, 3181)),
    DllBlocklistEntry("safaweb64_m.dll", (3, 0, 21, 3181)),

    # Causes crashes in the content process with win32k lockdown, bug 1769309
    DllBlocklistEntry("hmpalert.dll", (3, 8, 8, 889)),
]

SOCKET_PROCESSES += [
    # Causes crashes in the socket process, bug 1760668
    DllBlocklistEntry("ipseng64.dll", (17, 2, 6, 25)),
    DllBlocklistEntry("ipseng32.dll", (17, 2, 6, 25)),

    # Causes crashes in the socket process, bug 1807038
    DllBlocklistEntry("kwsui64.dll", (2022, 2, 8, 125)),
]

SOCKET_PROCESSES_TESTS += [
    # DLLs used by TestDllBlocklist* gTests
    DllBlocklistEntry("testdllblocklist_socketprocessonly.dll", ALL_VERSIONS),
]

UTILITY_PROCESSES += [
    # Generated dynamic code that we block
    DllBlocklistEntry("cyinjct.dll", ALL_VERSIONS),
]

UTILITY_PROCESSES_TESTS += [
    # DLLs used by TestDllBlocklist* gTests
    DllBlocklistEntry("testdllblocklist_utilityprocessonly.dll", ALL_VERSIONS),
]