@zerothreatai/vulnerability-registry 1.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/categories/configuration.js +378 -0
- package/dist/error-codes.d.ts +18 -0
- package/dist/error-codes.js +18 -0
- package/dist-cjs/categories/configuration.js +378 -0
- package/dist-cjs/error-codes.js +18 -0
- package/dist-cjs/package.json +3 -0
- package/package.json +3 -1
- package/scripts/write-cjs-package.cjs +12 -0
- package/src/categories/configuration.ts +427 -31
- package/src/error-codes.ts +30 -12
- package/zerothreatai-vulnerability-registry-2.0.0.tgz +0 -0
|
@@ -50,6 +50,90 @@ export const CONFIG_VULNERABILITIES = {
|
|
|
50
50
|
],
|
|
51
51
|
remediation: 'Add Strict-Transport-Security header with max-age of at least 31536000 (1 year). Include includeSubDomains directive. Consider HSTS preloading for maximum protection.',
|
|
52
52
|
},
|
|
53
|
+
[VulnerabilityCode.HEADER_HSTS_BAD_MAX_AGE]: {
|
|
54
|
+
id: 1011,
|
|
55
|
+
code: VulnerabilityCode.HEADER_HSTS_BAD_MAX_AGE,
|
|
56
|
+
title: 'HSTS Misconfiguration - Invalid Max-Age',
|
|
57
|
+
description: 'The Strict-Transport-Security header uses an invalid or malformed max-age value, preventing reliable HTTPS enforcement.',
|
|
58
|
+
severity: 'medium',
|
|
59
|
+
category: 'configuration',
|
|
60
|
+
scanner: 'security-headers',
|
|
61
|
+
cvss: {
|
|
62
|
+
score: 5.3,
|
|
63
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N',
|
|
64
|
+
severity: 'MEDIUM',
|
|
65
|
+
},
|
|
66
|
+
cwe: [
|
|
67
|
+
{ id: 'CWE-319', name: 'Cleartext Transmission', url: 'https://cwe.mitre.org/data/definitions/319.html' },
|
|
68
|
+
],
|
|
69
|
+
owasp: [
|
|
70
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
71
|
+
],
|
|
72
|
+
remediation: 'Set a valid numeric max-age on Strict-Transport-Security (at least 31536000).',
|
|
73
|
+
},
|
|
74
|
+
[VulnerabilityCode.HEADER_HSTS_SHORT_MAX_AGE]: {
|
|
75
|
+
id: 1012,
|
|
76
|
+
code: VulnerabilityCode.HEADER_HSTS_SHORT_MAX_AGE,
|
|
77
|
+
title: 'HSTS Misconfiguration - Max-Age Too Short',
|
|
78
|
+
description: 'The Strict-Transport-Security header uses a short max-age value that weakens HTTPS enforcement and allows downgrade risk to return quickly.',
|
|
79
|
+
severity: 'medium',
|
|
80
|
+
category: 'configuration',
|
|
81
|
+
scanner: 'security-headers',
|
|
82
|
+
cvss: {
|
|
83
|
+
score: 5.3,
|
|
84
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N',
|
|
85
|
+
severity: 'MEDIUM',
|
|
86
|
+
},
|
|
87
|
+
cwe: [
|
|
88
|
+
{ id: 'CWE-319', name: 'Cleartext Transmission', url: 'https://cwe.mitre.org/data/definitions/319.html' },
|
|
89
|
+
],
|
|
90
|
+
owasp: [
|
|
91
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
92
|
+
],
|
|
93
|
+
remediation: 'Increase max-age to at least 31536000 (1 year) to provide durable HTTPS enforcement.',
|
|
94
|
+
},
|
|
95
|
+
[VulnerabilityCode.HEADER_HSTS_NO_INCLUDESUBDOMAINS]: {
|
|
96
|
+
id: 1013,
|
|
97
|
+
code: VulnerabilityCode.HEADER_HSTS_NO_INCLUDESUBDOMAINS,
|
|
98
|
+
title: 'HSTS Misconfiguration - Missing includeSubDomains',
|
|
99
|
+
description: 'The Strict-Transport-Security header is missing includeSubDomains, leaving subdomains unprotected from downgrade and stripping attacks.',
|
|
100
|
+
severity: 'medium',
|
|
101
|
+
category: 'configuration',
|
|
102
|
+
scanner: 'security-headers',
|
|
103
|
+
cvss: {
|
|
104
|
+
score: 5.3,
|
|
105
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N',
|
|
106
|
+
severity: 'MEDIUM',
|
|
107
|
+
},
|
|
108
|
+
cwe: [
|
|
109
|
+
{ id: 'CWE-319', name: 'Cleartext Transmission', url: 'https://cwe.mitre.org/data/definitions/319.html' },
|
|
110
|
+
],
|
|
111
|
+
owasp: [
|
|
112
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
113
|
+
],
|
|
114
|
+
remediation: 'Add includeSubDomains to the HSTS header to protect all subdomains.',
|
|
115
|
+
},
|
|
116
|
+
[VulnerabilityCode.HEADER_HSTS_PRELOAD_LOW_MAX_AGE]: {
|
|
117
|
+
id: 1018,
|
|
118
|
+
code: VulnerabilityCode.HEADER_HSTS_PRELOAD_LOW_MAX_AGE,
|
|
119
|
+
title: 'HSTS Preload Requirements Not Met',
|
|
120
|
+
description: 'The HSTS header indicates preload intent but does not meet preload requirements, such as a sufficiently long max-age or includeSubDomains, reducing preload effectiveness.',
|
|
121
|
+
severity: 'medium',
|
|
122
|
+
category: 'configuration',
|
|
123
|
+
scanner: 'security-headers',
|
|
124
|
+
cvss: {
|
|
125
|
+
score: 5.3,
|
|
126
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N',
|
|
127
|
+
severity: 'MEDIUM',
|
|
128
|
+
},
|
|
129
|
+
cwe: [
|
|
130
|
+
{ id: 'CWE-319', name: 'Cleartext Transmission', url: 'https://cwe.mitre.org/data/definitions/319.html' },
|
|
131
|
+
],
|
|
132
|
+
owasp: [
|
|
133
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
134
|
+
],
|
|
135
|
+
remediation: 'Ensure HSTS max-age is at least 31536000, include includeSubDomains, and add preload before submitting to the preload list.',
|
|
136
|
+
},
|
|
53
137
|
[VulnerabilityCode.HEADER_MISSING_XFRAME]: {
|
|
54
138
|
id: 71,
|
|
55
139
|
code: VulnerabilityCode.HEADER_MISSING_XFRAME,
|
|
@@ -92,6 +176,174 @@ export const CONFIG_VULNERABILITIES = {
|
|
|
92
176
|
],
|
|
93
177
|
remediation: 'Remove unsafe-inline and unsafe-eval directives. Use nonce-based or hash-based CSP for inline scripts. Restrict source allowlists to specific trusted domains rather than wildcards.',
|
|
94
178
|
},
|
|
179
|
+
[VulnerabilityCode.HEADER_CSP_REPORT_ONLY]: {
|
|
180
|
+
id: 1001,
|
|
181
|
+
code: VulnerabilityCode.HEADER_CSP_REPORT_ONLY,
|
|
182
|
+
title: 'Content-Security-Policy Report-Only Enabled',
|
|
183
|
+
description: 'The Content-Security-Policy header is deployed in report-only mode, which does not enforce protections and allows unsafe content to execute while only logging violations.',
|
|
184
|
+
severity: 'medium',
|
|
185
|
+
category: 'configuration',
|
|
186
|
+
scanner: 'security-headers',
|
|
187
|
+
cvss: {
|
|
188
|
+
score: 5.3,
|
|
189
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N',
|
|
190
|
+
severity: 'MEDIUM',
|
|
191
|
+
},
|
|
192
|
+
cwe: [
|
|
193
|
+
{ id: 'CWE-693', name: 'Protection Mechanism Failure', url: 'https://cwe.mitre.org/data/definitions/693.html' },
|
|
194
|
+
],
|
|
195
|
+
owasp: [
|
|
196
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
197
|
+
],
|
|
198
|
+
remediation: 'Switch to enforcing Content-Security-Policy once violations are reviewed. Use report-only during rollout, then enforce with strict directives.',
|
|
199
|
+
},
|
|
200
|
+
[VulnerabilityCode.HEADER_CSP_WEAK_DIRECTIVES]: {
|
|
201
|
+
id: 1002,
|
|
202
|
+
code: VulnerabilityCode.HEADER_CSP_WEAK_DIRECTIVES,
|
|
203
|
+
title: 'Content-Security-Policy Contains Unsafe Directives',
|
|
204
|
+
description: 'The Content-Security-Policy header includes unsafe directives such as unsafe-inline or unsafe-eval that reduce XSS protection and allow risky script execution paths.',
|
|
205
|
+
severity: 'medium',
|
|
206
|
+
category: 'configuration',
|
|
207
|
+
scanner: 'security-headers',
|
|
208
|
+
cvss: {
|
|
209
|
+
score: 5.3,
|
|
210
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N',
|
|
211
|
+
severity: 'MEDIUM',
|
|
212
|
+
},
|
|
213
|
+
cwe: [
|
|
214
|
+
{ id: 'CWE-693', name: 'Protection Mechanism Failure', url: 'https://cwe.mitre.org/data/definitions/693.html' },
|
|
215
|
+
],
|
|
216
|
+
owasp: [
|
|
217
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
218
|
+
],
|
|
219
|
+
remediation: 'Remove unsafe-inline and unsafe-eval directives. Replace inline scripts with nonces or hashes and restrict sources to trusted domains.',
|
|
220
|
+
},
|
|
221
|
+
[VulnerabilityCode.HEADER_CSP_DATA_URI_SCRIPT]: {
|
|
222
|
+
id: 1003,
|
|
223
|
+
code: VulnerabilityCode.HEADER_CSP_DATA_URI_SCRIPT,
|
|
224
|
+
title: 'Content-Security-Policy Allows data: in script-src',
|
|
225
|
+
description: 'The CSP allows data: URIs for script execution, which can enable script injection through crafted data URLs and weaken XSS protections.',
|
|
226
|
+
severity: 'medium',
|
|
227
|
+
category: 'configuration',
|
|
228
|
+
scanner: 'security-headers',
|
|
229
|
+
cvss: {
|
|
230
|
+
score: 5.3,
|
|
231
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N',
|
|
232
|
+
severity: 'MEDIUM',
|
|
233
|
+
},
|
|
234
|
+
cwe: [
|
|
235
|
+
{ id: 'CWE-693', name: 'Protection Mechanism Failure', url: 'https://cwe.mitre.org/data/definitions/693.html' },
|
|
236
|
+
],
|
|
237
|
+
owasp: [
|
|
238
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
239
|
+
],
|
|
240
|
+
remediation: 'Remove data: from script-src. Use nonce or hash-based CSP for any required inline scripts.',
|
|
241
|
+
},
|
|
242
|
+
[VulnerabilityCode.HEADER_CSP_BLOB_URI_SCRIPT]: {
|
|
243
|
+
id: 1004,
|
|
244
|
+
code: VulnerabilityCode.HEADER_CSP_BLOB_URI_SCRIPT,
|
|
245
|
+
title: 'Content-Security-Policy Allows blob: in script-src',
|
|
246
|
+
description: 'The CSP allows blob: URIs for script execution, which can be abused to load attacker-controlled scripts in some contexts and weaken XSS mitigations.',
|
|
247
|
+
severity: 'medium',
|
|
248
|
+
category: 'configuration',
|
|
249
|
+
scanner: 'security-headers',
|
|
250
|
+
cvss: {
|
|
251
|
+
score: 5.3,
|
|
252
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N',
|
|
253
|
+
severity: 'MEDIUM',
|
|
254
|
+
},
|
|
255
|
+
cwe: [
|
|
256
|
+
{ id: 'CWE-693', name: 'Protection Mechanism Failure', url: 'https://cwe.mitre.org/data/definitions/693.html' },
|
|
257
|
+
],
|
|
258
|
+
owasp: [
|
|
259
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
260
|
+
],
|
|
261
|
+
remediation: 'Remove blob: from script-src unless strictly required. Use a narrower allowlist or nonces for trusted scripts.',
|
|
262
|
+
},
|
|
263
|
+
[VulnerabilityCode.HEADER_CSP_WILDCARD_DEFAULT]: {
|
|
264
|
+
id: 1005,
|
|
265
|
+
code: VulnerabilityCode.HEADER_CSP_WILDCARD_DEFAULT,
|
|
266
|
+
title: 'Content-Security-Policy default-src Uses Wildcard',
|
|
267
|
+
description: 'The CSP default-src directive allows all origins, which effectively disables the protection and allows untrusted content to load.',
|
|
268
|
+
severity: 'medium',
|
|
269
|
+
category: 'configuration',
|
|
270
|
+
scanner: 'security-headers',
|
|
271
|
+
cvss: {
|
|
272
|
+
score: 5.3,
|
|
273
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N',
|
|
274
|
+
severity: 'MEDIUM',
|
|
275
|
+
},
|
|
276
|
+
cwe: [
|
|
277
|
+
{ id: 'CWE-693', name: 'Protection Mechanism Failure', url: 'https://cwe.mitre.org/data/definitions/693.html' },
|
|
278
|
+
],
|
|
279
|
+
owasp: [
|
|
280
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
281
|
+
],
|
|
282
|
+
remediation: 'Replace wildcard default-src with explicit trusted origins and tighten resource-specific directives.',
|
|
283
|
+
},
|
|
284
|
+
[VulnerabilityCode.HEADER_CSP_NO_BASE_URI]: {
|
|
285
|
+
id: 1006,
|
|
286
|
+
code: VulnerabilityCode.HEADER_CSP_NO_BASE_URI,
|
|
287
|
+
title: 'Content-Security-Policy Missing base-uri Directive',
|
|
288
|
+
description: 'The CSP does not include a base-uri directive, allowing the base URL to be set by injected markup and enabling abuse of relative URL resolution.',
|
|
289
|
+
severity: 'medium',
|
|
290
|
+
category: 'configuration',
|
|
291
|
+
scanner: 'security-headers',
|
|
292
|
+
cvss: {
|
|
293
|
+
score: 5.3,
|
|
294
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N',
|
|
295
|
+
severity: 'MEDIUM',
|
|
296
|
+
},
|
|
297
|
+
cwe: [
|
|
298
|
+
{ id: 'CWE-693', name: 'Protection Mechanism Failure', url: 'https://cwe.mitre.org/data/definitions/693.html' },
|
|
299
|
+
],
|
|
300
|
+
owasp: [
|
|
301
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
302
|
+
],
|
|
303
|
+
remediation: 'Add base-uri \'self\' (or a strict allowlist) to CSP to prevent base tag abuse.',
|
|
304
|
+
},
|
|
305
|
+
[VulnerabilityCode.HEADER_CSP_NO_OBJECT_SRC]: {
|
|
306
|
+
id: 1007,
|
|
307
|
+
code: VulnerabilityCode.HEADER_CSP_NO_OBJECT_SRC,
|
|
308
|
+
title: 'Content-Security-Policy Missing object-src Directive',
|
|
309
|
+
description: 'The CSP does not include an object-src directive, allowing embedded objects to load from arbitrary origins and weakening defense-in-depth against plugin-based risks.',
|
|
310
|
+
severity: 'medium',
|
|
311
|
+
category: 'configuration',
|
|
312
|
+
scanner: 'security-headers',
|
|
313
|
+
cvss: {
|
|
314
|
+
score: 5.3,
|
|
315
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N',
|
|
316
|
+
severity: 'MEDIUM',
|
|
317
|
+
},
|
|
318
|
+
cwe: [
|
|
319
|
+
{ id: 'CWE-693', name: 'Protection Mechanism Failure', url: 'https://cwe.mitre.org/data/definitions/693.html' },
|
|
320
|
+
],
|
|
321
|
+
owasp: [
|
|
322
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
323
|
+
],
|
|
324
|
+
remediation: 'Add object-src \'none\' (or a strict allowlist) to CSP to prevent plugin content loading.',
|
|
325
|
+
},
|
|
326
|
+
[VulnerabilityCode.HEADER_CSP_NO_FRAME_ANCESTORS]: {
|
|
327
|
+
id: 1008,
|
|
328
|
+
code: VulnerabilityCode.HEADER_CSP_NO_FRAME_ANCESTORS,
|
|
329
|
+
title: 'Content-Security-Policy Missing frame-ancestors Directive',
|
|
330
|
+
description: 'The CSP does not include a frame-ancestors directive, leaving pages potentially frameable and vulnerable to clickjacking attacks.',
|
|
331
|
+
severity: 'medium',
|
|
332
|
+
category: 'configuration',
|
|
333
|
+
scanner: 'security-headers',
|
|
334
|
+
cvss: {
|
|
335
|
+
score: 4.7,
|
|
336
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N',
|
|
337
|
+
severity: 'MEDIUM',
|
|
338
|
+
},
|
|
339
|
+
cwe: [
|
|
340
|
+
{ id: 'CWE-1021', name: 'Improper Restriction of Rendered UI Layers', url: 'https://cwe.mitre.org/data/definitions/1021.html' },
|
|
341
|
+
],
|
|
342
|
+
owasp: [
|
|
343
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
344
|
+
],
|
|
345
|
+
remediation: 'Add frame-ancestors \'none\' or a strict allowlist to CSP to prevent clickjacking.',
|
|
346
|
+
},
|
|
95
347
|
[VulnerabilityCode.HEADER_CORS_MISCONFIGURED]: {
|
|
96
348
|
id: 73,
|
|
97
349
|
code: VulnerabilityCode.HEADER_CORS_MISCONFIGURED,
|
|
@@ -113,6 +365,90 @@ export const CONFIG_VULNERABILITIES = {
|
|
|
113
365
|
],
|
|
114
366
|
remediation: 'Implement strict Origin validation with allowlist of trusted domains. Never reflect Origin header without validation. Do not use wildcard with Access-Control-Allow-Credentials.',
|
|
115
367
|
},
|
|
368
|
+
[VulnerabilityCode.HEADER_CORS_STAR_WITH_CREDENTIALS]: {
|
|
369
|
+
id: 1014,
|
|
370
|
+
code: VulnerabilityCode.HEADER_CORS_STAR_WITH_CREDENTIALS,
|
|
371
|
+
title: 'CORS Wildcard With Credentials',
|
|
372
|
+
description: 'Access-Control-Allow-Origin is set to * while Access-Control-Allow-Credentials is enabled, which browsers block but signals a dangerous CORS policy that can be misapplied in some environments.',
|
|
373
|
+
severity: 'high',
|
|
374
|
+
category: 'configuration',
|
|
375
|
+
scanner: 'security-headers',
|
|
376
|
+
cvss: {
|
|
377
|
+
score: 7.5,
|
|
378
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N',
|
|
379
|
+
severity: 'HIGH',
|
|
380
|
+
},
|
|
381
|
+
cwe: [
|
|
382
|
+
{ id: 'CWE-942', name: 'Permissive CORS Policy', url: 'https://cwe.mitre.org/data/definitions/942.html' },
|
|
383
|
+
],
|
|
384
|
+
owasp: [
|
|
385
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
386
|
+
],
|
|
387
|
+
remediation: 'Never use wildcard origins with credentials. Replace * with an explicit allowlist and set Vary: Origin.',
|
|
388
|
+
},
|
|
389
|
+
[VulnerabilityCode.HEADER_CORS_ORIGIN_REFLECT_NO_VARY]: {
|
|
390
|
+
id: 1015,
|
|
391
|
+
code: VulnerabilityCode.HEADER_CORS_ORIGIN_REFLECT_NO_VARY,
|
|
392
|
+
title: 'CORS Origin Reflection Without Vary',
|
|
393
|
+
description: 'The Origin header is reflected in Access-Control-Allow-Origin without Vary: Origin, which can lead to cache poisoning and unintended cross-origin access.',
|
|
394
|
+
severity: 'high',
|
|
395
|
+
category: 'configuration',
|
|
396
|
+
scanner: 'security-headers',
|
|
397
|
+
cvss: {
|
|
398
|
+
score: 7.5,
|
|
399
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N',
|
|
400
|
+
severity: 'HIGH',
|
|
401
|
+
},
|
|
402
|
+
cwe: [
|
|
403
|
+
{ id: 'CWE-942', name: 'Permissive CORS Policy', url: 'https://cwe.mitre.org/data/definitions/942.html' },
|
|
404
|
+
],
|
|
405
|
+
owasp: [
|
|
406
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
407
|
+
],
|
|
408
|
+
remediation: 'Validate origins against an allowlist and always include Vary: Origin when dynamically setting Access-Control-Allow-Origin.',
|
|
409
|
+
},
|
|
410
|
+
[VulnerabilityCode.HEADER_CORS_NULL_ORIGIN]: {
|
|
411
|
+
id: 1016,
|
|
412
|
+
code: VulnerabilityCode.HEADER_CORS_NULL_ORIGIN,
|
|
413
|
+
title: 'CORS Allows Null Origin',
|
|
414
|
+
description: 'Access-Control-Allow-Origin allows the null origin, enabling requests from opaque origins such as sandboxed iframes and file URLs that can be abused to access sensitive data.',
|
|
415
|
+
severity: 'high',
|
|
416
|
+
category: 'configuration',
|
|
417
|
+
scanner: 'security-headers',
|
|
418
|
+
cvss: {
|
|
419
|
+
score: 7.5,
|
|
420
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N',
|
|
421
|
+
severity: 'HIGH',
|
|
422
|
+
},
|
|
423
|
+
cwe: [
|
|
424
|
+
{ id: 'CWE-942', name: 'Permissive CORS Policy', url: 'https://cwe.mitre.org/data/definitions/942.html' },
|
|
425
|
+
],
|
|
426
|
+
owasp: [
|
|
427
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
428
|
+
],
|
|
429
|
+
remediation: 'Remove null from allowed origins. Restrict CORS to explicit trusted domains only.',
|
|
430
|
+
},
|
|
431
|
+
[VulnerabilityCode.HEADER_CORS_WILDCARD_SUBDOMAIN]: {
|
|
432
|
+
id: 1017,
|
|
433
|
+
code: VulnerabilityCode.HEADER_CORS_WILDCARD_SUBDOMAIN,
|
|
434
|
+
title: 'CORS Allows Wildcard Subdomains',
|
|
435
|
+
description: 'CORS policies allow wildcard subdomains that can be abused if any subdomain is compromised or can be controlled by untrusted parties.',
|
|
436
|
+
severity: 'high',
|
|
437
|
+
category: 'configuration',
|
|
438
|
+
scanner: 'security-headers',
|
|
439
|
+
cvss: {
|
|
440
|
+
score: 7.5,
|
|
441
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N',
|
|
442
|
+
severity: 'HIGH',
|
|
443
|
+
},
|
|
444
|
+
cwe: [
|
|
445
|
+
{ id: 'CWE-942', name: 'Permissive CORS Policy', url: 'https://cwe.mitre.org/data/definitions/942.html' },
|
|
446
|
+
],
|
|
447
|
+
owasp: [
|
|
448
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
449
|
+
],
|
|
450
|
+
remediation: 'Replace wildcard subdomains with a strict allowlist of trusted origins.',
|
|
451
|
+
},
|
|
116
452
|
// ========================================
|
|
117
453
|
// DIRECTORY BROWSING
|
|
118
454
|
// ========================================
|
|
@@ -353,6 +689,27 @@ export const CONFIG_VULNERABILITIES = {
|
|
|
353
689
|
],
|
|
354
690
|
remediation: 'Add X-Content-Type-Options: nosniff header to all responses. Ensure correct Content-Type headers are set for all resources. Validate file types before serving user uploads.',
|
|
355
691
|
},
|
|
692
|
+
[VulnerabilityCode.HEADER_XCONTENT_TYPE_INVALID]: {
|
|
693
|
+
id: 1009,
|
|
694
|
+
code: VulnerabilityCode.HEADER_XCONTENT_TYPE_INVALID,
|
|
695
|
+
title: 'Invalid Security Header - X-Content-Type-Options',
|
|
696
|
+
description: 'The X-Content-Type-Options header is present but misconfigured (not set to nosniff), which can allow MIME sniffing and reduce protection against content-type confusion.',
|
|
697
|
+
severity: 'low',
|
|
698
|
+
category: 'configuration',
|
|
699
|
+
scanner: 'security-headers',
|
|
700
|
+
cvss: {
|
|
701
|
+
score: 3.7,
|
|
702
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N',
|
|
703
|
+
severity: 'LOW',
|
|
704
|
+
},
|
|
705
|
+
cwe: [
|
|
706
|
+
{ id: 'CWE-693', name: 'Protection Mechanism Failure', url: 'https://cwe.mitre.org/data/definitions/693.html' },
|
|
707
|
+
],
|
|
708
|
+
owasp: [
|
|
709
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
710
|
+
],
|
|
711
|
+
remediation: 'Set X-Content-Type-Options to nosniff on all responses to prevent MIME sniffing.',
|
|
712
|
+
},
|
|
356
713
|
[VulnerabilityCode.HEADER_MISSING_REFERRER_POLICY]: {
|
|
357
714
|
id: 85,
|
|
358
715
|
code: VulnerabilityCode.HEADER_MISSING_REFERRER_POLICY,
|
|
@@ -374,6 +731,27 @@ export const CONFIG_VULNERABILITIES = {
|
|
|
374
731
|
],
|
|
375
732
|
remediation: 'Implement Referrer-Policy header with strict-origin-when-cross-origin or no-referrer policy. Avoid passing sensitive data in URLs. Use POST requests for sensitive operations.',
|
|
376
733
|
},
|
|
734
|
+
[VulnerabilityCode.HEADER_REFERRER_POLICY_UNSAFE]: {
|
|
735
|
+
id: 1010,
|
|
736
|
+
code: VulnerabilityCode.HEADER_REFERRER_POLICY_UNSAFE,
|
|
737
|
+
title: 'Unsafe Referrer-Policy Configuration',
|
|
738
|
+
description: 'The Referrer-Policy header is set to a permissive value that can leak full URLs and sensitive query parameters to external origins.',
|
|
739
|
+
severity: 'low',
|
|
740
|
+
category: 'configuration',
|
|
741
|
+
scanner: 'security-headers',
|
|
742
|
+
cvss: {
|
|
743
|
+
score: 3.1,
|
|
744
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N',
|
|
745
|
+
severity: 'LOW',
|
|
746
|
+
},
|
|
747
|
+
cwe: [
|
|
748
|
+
{ id: 'CWE-200', name: 'Information Exposure', url: 'https://cwe.mitre.org/data/definitions/200.html' },
|
|
749
|
+
],
|
|
750
|
+
owasp: [
|
|
751
|
+
{ id: 'A05:2021', name: 'Security Misconfiguration', url: 'https://owasp.org/Top10/A05_2021-Security_Misconfiguration/' },
|
|
752
|
+
],
|
|
753
|
+
remediation: 'Use strict-origin-when-cross-origin or no-referrer to minimize leakage of sensitive URL data.',
|
|
754
|
+
},
|
|
377
755
|
[VulnerabilityCode.HEADER_MISSING_PERMISSIONS_POLICY]: {
|
|
378
756
|
id: 86,
|
|
379
757
|
code: VulnerabilityCode.HEADER_MISSING_PERMISSIONS_POLICY,
|
package/dist/error-codes.d.ts
CHANGED
|
@@ -84,13 +84,31 @@ export declare enum VulnerabilityCode {
|
|
|
84
84
|
HEADER_MISSING_REFERRER_POLICY = "HEADER_MISSING_REFERRER_POLICY",
|
|
85
85
|
HEADER_MISSING_PERMISSIONS_POLICY = "HEADER_MISSING_PERMISSIONS_POLICY",
|
|
86
86
|
HEADER_WEAK_CSP = "HEADER_WEAK_CSP",
|
|
87
|
+
HEADER_CSP_REPORT_ONLY = "HEADER_CSP_REPORT_ONLY",
|
|
88
|
+
HEADER_CSP_WEAK_DIRECTIVES = "HEADER_CSP_WEAK_DIRECTIVES",
|
|
89
|
+
HEADER_CSP_DATA_URI_SCRIPT = "HEADER_CSP_DATA_URI_SCRIPT",
|
|
90
|
+
HEADER_CSP_BLOB_URI_SCRIPT = "HEADER_CSP_BLOB_URI_SCRIPT",
|
|
91
|
+
HEADER_CSP_WILDCARD_DEFAULT = "HEADER_CSP_WILDCARD_DEFAULT",
|
|
92
|
+
HEADER_CSP_NO_BASE_URI = "HEADER_CSP_NO_BASE_URI",
|
|
93
|
+
HEADER_CSP_NO_OBJECT_SRC = "HEADER_CSP_NO_OBJECT_SRC",
|
|
94
|
+
HEADER_CSP_NO_FRAME_ANCESTORS = "HEADER_CSP_NO_FRAME_ANCESTORS",
|
|
87
95
|
HEADER_CORS_MISCONFIGURED = "HEADER_CORS_MISCONFIGURED",
|
|
96
|
+
HEADER_CORS_STAR_WITH_CREDENTIALS = "HEADER_CORS_STAR_WITH_CREDENTIALS",
|
|
97
|
+
HEADER_CORS_ORIGIN_REFLECT_NO_VARY = "HEADER_CORS_ORIGIN_REFLECT_NO_VARY",
|
|
98
|
+
HEADER_CORS_NULL_ORIGIN = "HEADER_CORS_NULL_ORIGIN",
|
|
99
|
+
HEADER_CORS_WILDCARD_SUBDOMAIN = "HEADER_CORS_WILDCARD_SUBDOMAIN",
|
|
88
100
|
HEADER_COEP_WITHOUT_COOP = "HEADER_COEP_WITHOUT_COOP",
|
|
89
101
|
HEADER_CORP_UNUSUAL = "HEADER_CORP_UNUSUAL",
|
|
90
102
|
HEADER_EXPECT_CT_PRESENT = "HEADER_EXPECT_CT_PRESENT",
|
|
91
103
|
HEADER_SERVER_HEADER_PRESENT = "HEADER_SERVER_HEADER_PRESENT",
|
|
92
104
|
HEADER_X_POWERED_BY_PRESENT = "HEADER_X_POWERED_BY_PRESENT",
|
|
93
105
|
HEADER_X_XSS_PROTECTION_ENABLED = "HEADER_X_XSS_PROTECTION_ENABLED",
|
|
106
|
+
HEADER_XCONTENT_TYPE_INVALID = "HEADER_XCONTENT_TYPE_INVALID",
|
|
107
|
+
HEADER_REFERRER_POLICY_UNSAFE = "HEADER_REFERRER_POLICY_UNSAFE",
|
|
108
|
+
HEADER_HSTS_BAD_MAX_AGE = "HEADER_HSTS_BAD_MAX_AGE",
|
|
109
|
+
HEADER_HSTS_SHORT_MAX_AGE = "HEADER_HSTS_SHORT_MAX_AGE",
|
|
110
|
+
HEADER_HSTS_NO_INCLUDESUBDOMAINS = "HEADER_HSTS_NO_INCLUDESUBDOMAINS",
|
|
111
|
+
HEADER_HSTS_PRELOAD_LOW_MAX_AGE = "HEADER_HSTS_PRELOAD_LOW_MAX_AGE",
|
|
94
112
|
COOKIE_SAMESITE_NONE_WITHOUT_SECURE = "COOKIE_SAMESITE_NONE_WITHOUT_SECURE",
|
|
95
113
|
COOKIE_SESSION_MISSING_SECURE = "COOKIE_SESSION_MISSING_SECURE",
|
|
96
114
|
COOKIE_MISSING_SECURE = "COOKIE_MISSING_SECURE",
|
package/dist/error-codes.js
CHANGED
|
@@ -121,13 +121,31 @@ export var VulnerabilityCode;
|
|
|
121
121
|
VulnerabilityCode["HEADER_MISSING_REFERRER_POLICY"] = "HEADER_MISSING_REFERRER_POLICY";
|
|
122
122
|
VulnerabilityCode["HEADER_MISSING_PERMISSIONS_POLICY"] = "HEADER_MISSING_PERMISSIONS_POLICY";
|
|
123
123
|
VulnerabilityCode["HEADER_WEAK_CSP"] = "HEADER_WEAK_CSP";
|
|
124
|
+
VulnerabilityCode["HEADER_CSP_REPORT_ONLY"] = "HEADER_CSP_REPORT_ONLY";
|
|
125
|
+
VulnerabilityCode["HEADER_CSP_WEAK_DIRECTIVES"] = "HEADER_CSP_WEAK_DIRECTIVES";
|
|
126
|
+
VulnerabilityCode["HEADER_CSP_DATA_URI_SCRIPT"] = "HEADER_CSP_DATA_URI_SCRIPT";
|
|
127
|
+
VulnerabilityCode["HEADER_CSP_BLOB_URI_SCRIPT"] = "HEADER_CSP_BLOB_URI_SCRIPT";
|
|
128
|
+
VulnerabilityCode["HEADER_CSP_WILDCARD_DEFAULT"] = "HEADER_CSP_WILDCARD_DEFAULT";
|
|
129
|
+
VulnerabilityCode["HEADER_CSP_NO_BASE_URI"] = "HEADER_CSP_NO_BASE_URI";
|
|
130
|
+
VulnerabilityCode["HEADER_CSP_NO_OBJECT_SRC"] = "HEADER_CSP_NO_OBJECT_SRC";
|
|
131
|
+
VulnerabilityCode["HEADER_CSP_NO_FRAME_ANCESTORS"] = "HEADER_CSP_NO_FRAME_ANCESTORS";
|
|
124
132
|
VulnerabilityCode["HEADER_CORS_MISCONFIGURED"] = "HEADER_CORS_MISCONFIGURED";
|
|
133
|
+
VulnerabilityCode["HEADER_CORS_STAR_WITH_CREDENTIALS"] = "HEADER_CORS_STAR_WITH_CREDENTIALS";
|
|
134
|
+
VulnerabilityCode["HEADER_CORS_ORIGIN_REFLECT_NO_VARY"] = "HEADER_CORS_ORIGIN_REFLECT_NO_VARY";
|
|
135
|
+
VulnerabilityCode["HEADER_CORS_NULL_ORIGIN"] = "HEADER_CORS_NULL_ORIGIN";
|
|
136
|
+
VulnerabilityCode["HEADER_CORS_WILDCARD_SUBDOMAIN"] = "HEADER_CORS_WILDCARD_SUBDOMAIN";
|
|
125
137
|
VulnerabilityCode["HEADER_COEP_WITHOUT_COOP"] = "HEADER_COEP_WITHOUT_COOP";
|
|
126
138
|
VulnerabilityCode["HEADER_CORP_UNUSUAL"] = "HEADER_CORP_UNUSUAL";
|
|
127
139
|
VulnerabilityCode["HEADER_EXPECT_CT_PRESENT"] = "HEADER_EXPECT_CT_PRESENT";
|
|
128
140
|
VulnerabilityCode["HEADER_SERVER_HEADER_PRESENT"] = "HEADER_SERVER_HEADER_PRESENT";
|
|
129
141
|
VulnerabilityCode["HEADER_X_POWERED_BY_PRESENT"] = "HEADER_X_POWERED_BY_PRESENT";
|
|
130
142
|
VulnerabilityCode["HEADER_X_XSS_PROTECTION_ENABLED"] = "HEADER_X_XSS_PROTECTION_ENABLED";
|
|
143
|
+
VulnerabilityCode["HEADER_XCONTENT_TYPE_INVALID"] = "HEADER_XCONTENT_TYPE_INVALID";
|
|
144
|
+
VulnerabilityCode["HEADER_REFERRER_POLICY_UNSAFE"] = "HEADER_REFERRER_POLICY_UNSAFE";
|
|
145
|
+
VulnerabilityCode["HEADER_HSTS_BAD_MAX_AGE"] = "HEADER_HSTS_BAD_MAX_AGE";
|
|
146
|
+
VulnerabilityCode["HEADER_HSTS_SHORT_MAX_AGE"] = "HEADER_HSTS_SHORT_MAX_AGE";
|
|
147
|
+
VulnerabilityCode["HEADER_HSTS_NO_INCLUDESUBDOMAINS"] = "HEADER_HSTS_NO_INCLUDESUBDOMAINS";
|
|
148
|
+
VulnerabilityCode["HEADER_HSTS_PRELOAD_LOW_MAX_AGE"] = "HEADER_HSTS_PRELOAD_LOW_MAX_AGE";
|
|
131
149
|
VulnerabilityCode["COOKIE_SAMESITE_NONE_WITHOUT_SECURE"] = "COOKIE_SAMESITE_NONE_WITHOUT_SECURE";
|
|
132
150
|
VulnerabilityCode["COOKIE_SESSION_MISSING_SECURE"] = "COOKIE_SESSION_MISSING_SECURE";
|
|
133
151
|
VulnerabilityCode["COOKIE_MISSING_SECURE"] = "COOKIE_MISSING_SECURE";
|