@zerothreatai/vulnerability-registry 9.0.6 → 9.0.7
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/authentication.js +22 -0
- package/dist/categories/injection.js +23 -0
- package/dist/categories/xss.js +22 -0
- package/dist/error-codes.d.ts +3 -0
- package/dist/error-codes.js +3 -0
- package/dist-cjs/categories/authentication.js +22 -0
- package/dist-cjs/categories/injection.js +23 -0
- package/dist-cjs/categories/xss.js +22 -0
- package/dist-cjs/error-codes.js +3 -0
- package/package.json +1 -1
- package/src/categories/authentication.ts +34 -11
- package/src/categories/injection.ts +24 -0
- package/src/categories/xss.ts +23 -0
- package/src/error-codes.ts +147 -144
- package/zerothreatai-vulnerability-registry-2.0.0.tgz +0 -0
- package/zerothreatai-vulnerability-registry-4npm .0.0.tgz +0 -0
|
@@ -388,5 +388,27 @@ export const AUTH_VULNERABILITIES = {
|
|
|
388
388
|
],
|
|
389
389
|
remediation: 'Ignore untrusted x5c headers or validate certificate chains against a trusted root store with strict policy. Prefer pinned public keys or JWKS allowlists.',
|
|
390
390
|
},
|
|
391
|
+
[VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT]: {
|
|
392
|
+
id: 117,
|
|
393
|
+
code: VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT,
|
|
394
|
+
title: 'Session Remains Valid After Logout',
|
|
395
|
+
description: 'Application logout does not invalidate the authenticated server-side session or token. A previously captured authenticated session can be replayed after logout to regain access to protected functionality, allowing attackers with stolen or fixed session material to continue operating as the victim.',
|
|
396
|
+
severity: 'high',
|
|
397
|
+
levelId: 2,
|
|
398
|
+
category: 'authentication',
|
|
399
|
+
scanner: 'session-invalidation',
|
|
400
|
+
cvss: {
|
|
401
|
+
score: 7.1,
|
|
402
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N',
|
|
403
|
+
severity: 'HIGH',
|
|
404
|
+
},
|
|
405
|
+
cwe: [
|
|
406
|
+
{ id: 'CWE-613', name: 'Insufficient Session Expiration', url: 'https://cwe.mitre.org/data/definitions/613.html' },
|
|
407
|
+
],
|
|
408
|
+
owasp: [
|
|
409
|
+
{ id: 'A07:2021', name: 'Identification and Authentication Failures', url: 'https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/' },
|
|
410
|
+
],
|
|
411
|
+
remediation: 'Invalidate sessions and tokens server-side during logout. Rotate session identifiers after login and privilege changes. Ensure logout revokes all session artifacts that can restore authenticated access, including cookies and browser storage tokens.',
|
|
412
|
+
},
|
|
391
413
|
};
|
|
392
414
|
export default AUTH_VULNERABILITIES;
|
|
@@ -803,5 +803,28 @@ export const INJECTION_VULNERABILITIES = {
|
|
|
803
803
|
],
|
|
804
804
|
remediation: 'Validate and constrain path parameters with allowlists or route constraints. Normalize and sanitize path inputs before use. Avoid passing raw path segments into file or query handlers.',
|
|
805
805
|
},
|
|
806
|
+
[VulnerabilityCode.HPP_DUPLICATE_PARAMETER]: {
|
|
807
|
+
id: 335,
|
|
808
|
+
code: VulnerabilityCode.HPP_DUPLICATE_PARAMETER,
|
|
809
|
+
title: 'HTTP Parameter Pollution',
|
|
810
|
+
description: 'HTTP parameter pollution vulnerability detected where duplicate query parameter keys trigger behavior distinct from both single-value control requests, indicating inconsistent duplicate-key handling that may enable logic bypasses or validation mismatches across components.',
|
|
811
|
+
severity: 'medium',
|
|
812
|
+
levelId: 3,
|
|
813
|
+
category: 'injection',
|
|
814
|
+
scanner: 'model-state',
|
|
815
|
+
groupName: 'HTTP Parameter Pollution',
|
|
816
|
+
cvss: {
|
|
817
|
+
score: 5.3,
|
|
818
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N',
|
|
819
|
+
severity: 'MEDIUM',
|
|
820
|
+
},
|
|
821
|
+
cwe: [
|
|
822
|
+
{ id: 'CWE-235', name: 'Improper Handling of Extra Parameters', url: 'https://cwe.mitre.org/data/definitions/235.html' },
|
|
823
|
+
],
|
|
824
|
+
owasp: [
|
|
825
|
+
{ id: 'A04:2021', name: 'Insecure Design', url: 'https://owasp.org/Top10/A04_2021-Insecure_Design/' },
|
|
826
|
+
],
|
|
827
|
+
remediation: 'Reject unexpected duplicate parameters or canonicalize them consistently at the edge. Ensure upstream proxies, frameworks, and application code all apply the same duplicate-key handling rules. Prefer strict allowlists for security-sensitive parameters.',
|
|
828
|
+
},
|
|
806
829
|
};
|
|
807
830
|
export default INJECTION_VULNERABILITIES;
|
package/dist/categories/xss.js
CHANGED
|
@@ -337,4 +337,26 @@ export const XSS_VULNERABILITIES = {
|
|
|
337
337
|
],
|
|
338
338
|
remediation: 'Use v-text instead of v-html for user content. Never compile user input as Vue templates. Use vue-runtime-only build that does not include template compiler. Sanitize mustache syntax.',
|
|
339
339
|
},
|
|
340
|
+
[VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING]: {
|
|
341
|
+
id: 415,
|
|
342
|
+
code: VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING,
|
|
343
|
+
title: 'Insufficient Output Encoding',
|
|
344
|
+
description: 'Special characters are reflected without proper encoding in the response. While no direct XSS exploitation was confirmed, the incomplete encoding of characters like quotes, ampersands, or parentheses indicates potential encoding gaps that could lead to vulnerabilities in different contexts.',
|
|
345
|
+
severity: 'info',
|
|
346
|
+
levelId: 5,
|
|
347
|
+
category: 'xss',
|
|
348
|
+
scanner: 'xss',
|
|
349
|
+
cvss: {
|
|
350
|
+
score: 2.6,
|
|
351
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N',
|
|
352
|
+
severity: 'LOW',
|
|
353
|
+
},
|
|
354
|
+
cwe: [
|
|
355
|
+
{ id: 'CWE-116', name: 'Improper Encoding or Escaping of Output', url: 'https://cwe.mitre.org/data/definitions/116.html' },
|
|
356
|
+
],
|
|
357
|
+
owasp: [
|
|
358
|
+
{ id: 'A03:2021', name: 'Injection', url: 'https://owasp.org/Top10/A03_2021-Injection/' },
|
|
359
|
+
],
|
|
360
|
+
remediation: 'Implement comprehensive output encoding for all special characters including <, >, ", \', &, (, ), /, and \\. Use context-aware encoding based on the output location (HTML body, attributes, JavaScript, URL, CSS).',
|
|
361
|
+
},
|
|
340
362
|
};
|
package/dist/error-codes.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export declare enum VulnerabilityCode {
|
|
|
26
26
|
XSS_CSP_BYPASS = "XSS_CSP_BYPASS",
|
|
27
27
|
XSS_TEMPLATE_LITERAL = "XSS_TEMPLATE_LITERAL",
|
|
28
28
|
XSS_MUTATION_BASED = "XSS_MUTATION_BASED",
|
|
29
|
+
XSS_INSUFFICIENT_OUTPUT_ENCODING = "XSS_INSUFFICIENT_OUTPUT_ENCODING",
|
|
29
30
|
CMDI_OOB_CONFIRMED = "CMDI_OOB_CONFIRMED",
|
|
30
31
|
CMDI_REFLECTED = "CMDI_REFLECTED",
|
|
31
32
|
CMDI_TIME_BASED = "CMDI_TIME_BASED",
|
|
@@ -70,6 +71,7 @@ export declare enum VulnerabilityCode {
|
|
|
70
71
|
JWT_JKU_INJECTION = "JWT_JKU_INJECTION",
|
|
71
72
|
JWT_EMBEDDED_JWK = "JWT_EMBEDDED_JWK",
|
|
72
73
|
JWT_X5C_INJECTION = "JWT_X5C_INJECTION",
|
|
74
|
+
AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT = "AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT",
|
|
73
75
|
REDIRECT_HEADER_INJECTION = "REDIRECT_HEADER_INJECTION",
|
|
74
76
|
REDIRECT_META_REFRESH = "REDIRECT_META_REFRESH",
|
|
75
77
|
REDIRECT_JS_NAVIGATION = "REDIRECT_JS_NAVIGATION",
|
|
@@ -155,6 +157,7 @@ export declare enum VulnerabilityCode {
|
|
|
155
157
|
MASSASSIGN_PROTOTYPE_POLLUTION = "MASSASSIGN_PROTOTYPE_POLLUTION",
|
|
156
158
|
MASSASSIGN_ROLE_ESCALATION = "MASSASSIGN_ROLE_ESCALATION",
|
|
157
159
|
MASSASSIGN_HIDDEN_FIELD = "MASSASSIGN_HIDDEN_FIELD",
|
|
160
|
+
HPP_DUPLICATE_PARAMETER = "HPP_DUPLICATE_PARAMETER",
|
|
158
161
|
DESER_JAVA = "DESER_JAVA",
|
|
159
162
|
DESER_PHP = "DESER_PHP",
|
|
160
163
|
DESER_PYTHON = "DESER_PYTHON",
|
package/dist/error-codes.js
CHANGED
|
@@ -36,6 +36,7 @@ export var VulnerabilityCode;
|
|
|
36
36
|
VulnerabilityCode["XSS_CSP_BYPASS"] = "XSS_CSP_BYPASS";
|
|
37
37
|
VulnerabilityCode["XSS_TEMPLATE_LITERAL"] = "XSS_TEMPLATE_LITERAL";
|
|
38
38
|
VulnerabilityCode["XSS_MUTATION_BASED"] = "XSS_MUTATION_BASED";
|
|
39
|
+
VulnerabilityCode["XSS_INSUFFICIENT_OUTPUT_ENCODING"] = "XSS_INSUFFICIENT_OUTPUT_ENCODING";
|
|
39
40
|
// ========================================
|
|
40
41
|
// COMMAND INJECTION (CMDI_*)
|
|
41
42
|
// ========================================
|
|
@@ -101,6 +102,7 @@ export var VulnerabilityCode;
|
|
|
101
102
|
VulnerabilityCode["JWT_JKU_INJECTION"] = "JWT_JKU_INJECTION";
|
|
102
103
|
VulnerabilityCode["JWT_EMBEDDED_JWK"] = "JWT_EMBEDDED_JWK";
|
|
103
104
|
VulnerabilityCode["JWT_X5C_INJECTION"] = "JWT_X5C_INJECTION";
|
|
105
|
+
VulnerabilityCode["AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT"] = "AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT";
|
|
104
106
|
// ========================================
|
|
105
107
|
// OPEN REDIRECT (REDIRECT_*)
|
|
106
108
|
// ========================================
|
|
@@ -204,6 +206,7 @@ export var VulnerabilityCode;
|
|
|
204
206
|
VulnerabilityCode["MASSASSIGN_PROTOTYPE_POLLUTION"] = "MASSASSIGN_PROTOTYPE_POLLUTION";
|
|
205
207
|
VulnerabilityCode["MASSASSIGN_ROLE_ESCALATION"] = "MASSASSIGN_ROLE_ESCALATION";
|
|
206
208
|
VulnerabilityCode["MASSASSIGN_HIDDEN_FIELD"] = "MASSASSIGN_HIDDEN_FIELD";
|
|
209
|
+
VulnerabilityCode["HPP_DUPLICATE_PARAMETER"] = "HPP_DUPLICATE_PARAMETER";
|
|
207
210
|
// ========================================
|
|
208
211
|
// DESERIALIZATION (DESER_*)
|
|
209
212
|
// ========================================
|
|
@@ -391,5 +391,27 @@ exports.AUTH_VULNERABILITIES = {
|
|
|
391
391
|
],
|
|
392
392
|
remediation: 'Ignore untrusted x5c headers or validate certificate chains against a trusted root store with strict policy. Prefer pinned public keys or JWKS allowlists.',
|
|
393
393
|
},
|
|
394
|
+
[error_codes_js_1.VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT]: {
|
|
395
|
+
id: 117,
|
|
396
|
+
code: error_codes_js_1.VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT,
|
|
397
|
+
title: 'Session Remains Valid After Logout',
|
|
398
|
+
description: 'Application logout does not invalidate the authenticated server-side session or token. A previously captured authenticated session can be replayed after logout to regain access to protected functionality, allowing attackers with stolen or fixed session material to continue operating as the victim.',
|
|
399
|
+
severity: 'high',
|
|
400
|
+
levelId: 2,
|
|
401
|
+
category: 'authentication',
|
|
402
|
+
scanner: 'session-invalidation',
|
|
403
|
+
cvss: {
|
|
404
|
+
score: 7.1,
|
|
405
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N',
|
|
406
|
+
severity: 'HIGH',
|
|
407
|
+
},
|
|
408
|
+
cwe: [
|
|
409
|
+
{ id: 'CWE-613', name: 'Insufficient Session Expiration', url: 'https://cwe.mitre.org/data/definitions/613.html' },
|
|
410
|
+
],
|
|
411
|
+
owasp: [
|
|
412
|
+
{ id: 'A07:2021', name: 'Identification and Authentication Failures', url: 'https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/' },
|
|
413
|
+
],
|
|
414
|
+
remediation: 'Invalidate sessions and tokens server-side during logout. Rotate session identifiers after login and privilege changes. Ensure logout revokes all session artifacts that can restore authenticated access, including cookies and browser storage tokens.',
|
|
415
|
+
},
|
|
394
416
|
};
|
|
395
417
|
exports.default = exports.AUTH_VULNERABILITIES;
|
|
@@ -806,5 +806,28 @@ exports.INJECTION_VULNERABILITIES = {
|
|
|
806
806
|
],
|
|
807
807
|
remediation: 'Validate and constrain path parameters with allowlists or route constraints. Normalize and sanitize path inputs before use. Avoid passing raw path segments into file or query handlers.',
|
|
808
808
|
},
|
|
809
|
+
[error_codes_js_1.VulnerabilityCode.HPP_DUPLICATE_PARAMETER]: {
|
|
810
|
+
id: 335,
|
|
811
|
+
code: error_codes_js_1.VulnerabilityCode.HPP_DUPLICATE_PARAMETER,
|
|
812
|
+
title: 'HTTP Parameter Pollution',
|
|
813
|
+
description: 'HTTP parameter pollution vulnerability detected where duplicate query parameter keys trigger behavior distinct from both single-value control requests, indicating inconsistent duplicate-key handling that may enable logic bypasses or validation mismatches across components.',
|
|
814
|
+
severity: 'medium',
|
|
815
|
+
levelId: 3,
|
|
816
|
+
category: 'injection',
|
|
817
|
+
scanner: 'model-state',
|
|
818
|
+
groupName: 'HTTP Parameter Pollution',
|
|
819
|
+
cvss: {
|
|
820
|
+
score: 5.3,
|
|
821
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N',
|
|
822
|
+
severity: 'MEDIUM',
|
|
823
|
+
},
|
|
824
|
+
cwe: [
|
|
825
|
+
{ id: 'CWE-235', name: 'Improper Handling of Extra Parameters', url: 'https://cwe.mitre.org/data/definitions/235.html' },
|
|
826
|
+
],
|
|
827
|
+
owasp: [
|
|
828
|
+
{ id: 'A04:2021', name: 'Insecure Design', url: 'https://owasp.org/Top10/A04_2021-Insecure_Design/' },
|
|
829
|
+
],
|
|
830
|
+
remediation: 'Reject unexpected duplicate parameters or canonicalize them consistently at the edge. Ensure upstream proxies, frameworks, and application code all apply the same duplicate-key handling rules. Prefer strict allowlists for security-sensitive parameters.',
|
|
831
|
+
},
|
|
809
832
|
};
|
|
810
833
|
exports.default = exports.INJECTION_VULNERABILITIES;
|
|
@@ -340,4 +340,26 @@ exports.XSS_VULNERABILITIES = {
|
|
|
340
340
|
],
|
|
341
341
|
remediation: 'Use v-text instead of v-html for user content. Never compile user input as Vue templates. Use vue-runtime-only build that does not include template compiler. Sanitize mustache syntax.',
|
|
342
342
|
},
|
|
343
|
+
[error_codes_js_1.VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING]: {
|
|
344
|
+
id: 415,
|
|
345
|
+
code: error_codes_js_1.VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING,
|
|
346
|
+
title: 'Insufficient Output Encoding',
|
|
347
|
+
description: 'Special characters are reflected without proper encoding in the response. While no direct XSS exploitation was confirmed, the incomplete encoding of characters like quotes, ampersands, or parentheses indicates potential encoding gaps that could lead to vulnerabilities in different contexts.',
|
|
348
|
+
severity: 'info',
|
|
349
|
+
levelId: 5,
|
|
350
|
+
category: 'xss',
|
|
351
|
+
scanner: 'xss',
|
|
352
|
+
cvss: {
|
|
353
|
+
score: 2.6,
|
|
354
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N',
|
|
355
|
+
severity: 'LOW',
|
|
356
|
+
},
|
|
357
|
+
cwe: [
|
|
358
|
+
{ id: 'CWE-116', name: 'Improper Encoding or Escaping of Output', url: 'https://cwe.mitre.org/data/definitions/116.html' },
|
|
359
|
+
],
|
|
360
|
+
owasp: [
|
|
361
|
+
{ id: 'A03:2021', name: 'Injection', url: 'https://owasp.org/Top10/A03_2021-Injection/' },
|
|
362
|
+
],
|
|
363
|
+
remediation: 'Implement comprehensive output encoding for all special characters including <, >, ", \', &, (, ), /, and \\. Use context-aware encoding based on the output location (HTML body, attributes, JavaScript, URL, CSS).',
|
|
364
|
+
},
|
|
343
365
|
};
|
package/dist-cjs/error-codes.js
CHANGED
|
@@ -39,6 +39,7 @@ var VulnerabilityCode;
|
|
|
39
39
|
VulnerabilityCode["XSS_CSP_BYPASS"] = "XSS_CSP_BYPASS";
|
|
40
40
|
VulnerabilityCode["XSS_TEMPLATE_LITERAL"] = "XSS_TEMPLATE_LITERAL";
|
|
41
41
|
VulnerabilityCode["XSS_MUTATION_BASED"] = "XSS_MUTATION_BASED";
|
|
42
|
+
VulnerabilityCode["XSS_INSUFFICIENT_OUTPUT_ENCODING"] = "XSS_INSUFFICIENT_OUTPUT_ENCODING";
|
|
42
43
|
// ========================================
|
|
43
44
|
// COMMAND INJECTION (CMDI_*)
|
|
44
45
|
// ========================================
|
|
@@ -104,6 +105,7 @@ var VulnerabilityCode;
|
|
|
104
105
|
VulnerabilityCode["JWT_JKU_INJECTION"] = "JWT_JKU_INJECTION";
|
|
105
106
|
VulnerabilityCode["JWT_EMBEDDED_JWK"] = "JWT_EMBEDDED_JWK";
|
|
106
107
|
VulnerabilityCode["JWT_X5C_INJECTION"] = "JWT_X5C_INJECTION";
|
|
108
|
+
VulnerabilityCode["AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT"] = "AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT";
|
|
107
109
|
// ========================================
|
|
108
110
|
// OPEN REDIRECT (REDIRECT_*)
|
|
109
111
|
// ========================================
|
|
@@ -207,6 +209,7 @@ var VulnerabilityCode;
|
|
|
207
209
|
VulnerabilityCode["MASSASSIGN_PROTOTYPE_POLLUTION"] = "MASSASSIGN_PROTOTYPE_POLLUTION";
|
|
208
210
|
VulnerabilityCode["MASSASSIGN_ROLE_ESCALATION"] = "MASSASSIGN_ROLE_ESCALATION";
|
|
209
211
|
VulnerabilityCode["MASSASSIGN_HIDDEN_FIELD"] = "MASSASSIGN_HIDDEN_FIELD";
|
|
212
|
+
VulnerabilityCode["HPP_DUPLICATE_PARAMETER"] = "HPP_DUPLICATE_PARAMETER";
|
|
210
213
|
// ========================================
|
|
211
214
|
// DESERIALIZATION (DESER_*)
|
|
212
215
|
// ========================================
|
package/package.json
CHANGED
|
@@ -385,11 +385,11 @@ export const AUTH_VULNERABILITIES: Record<string, VulnerabilityDefinitionInput>
|
|
|
385
385
|
remediation: 'Reject embedded JWKs from tokens unless explicitly required and validated against a trusted key set. Use pinned keys and strict header validation.',
|
|
386
386
|
},
|
|
387
387
|
|
|
388
|
-
[VulnerabilityCode.JWT_X5C_INJECTION]: {
|
|
389
|
-
id: 116,
|
|
390
|
-
code: VulnerabilityCode.JWT_X5C_INJECTION,
|
|
391
|
-
title: 'JWT X5C Header Injection',
|
|
392
|
-
description: 'JWT x5c header injection vulnerability where attackers provide an untrusted certificate chain, allowing them to influence key selection or bypass signature validation if certificate trust is not strictly enforced.',
|
|
388
|
+
[VulnerabilityCode.JWT_X5C_INJECTION]: {
|
|
389
|
+
id: 116,
|
|
390
|
+
code: VulnerabilityCode.JWT_X5C_INJECTION,
|
|
391
|
+
title: 'JWT X5C Header Injection',
|
|
392
|
+
description: 'JWT x5c header injection vulnerability where attackers provide an untrusted certificate chain, allowing them to influence key selection or bypass signature validation if certificate trust is not strictly enforced.',
|
|
393
393
|
severity: 'high',
|
|
394
394
|
levelId: 2,
|
|
395
395
|
category: 'authentication',
|
|
@@ -404,9 +404,32 @@ export const AUTH_VULNERABILITIES: Record<string, VulnerabilityDefinitionInput>
|
|
|
404
404
|
],
|
|
405
405
|
owasp: [
|
|
406
406
|
{ id: 'A07:2021', name: 'Identification and Authentication Failures', url: 'https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/' },
|
|
407
|
-
],
|
|
408
|
-
remediation: 'Ignore untrusted x5c headers or validate certificate chains against a trusted root store with strict policy. Prefer pinned public keys or JWKS allowlists.',
|
|
409
|
-
},
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
407
|
+
],
|
|
408
|
+
remediation: 'Ignore untrusted x5c headers or validate certificate chains against a trusted root store with strict policy. Prefer pinned public keys or JWKS allowlists.',
|
|
409
|
+
},
|
|
410
|
+
|
|
411
|
+
[VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT]: {
|
|
412
|
+
id: 117,
|
|
413
|
+
code: VulnerabilityCode.AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT,
|
|
414
|
+
title: 'Session Remains Valid After Logout',
|
|
415
|
+
description: 'Application logout does not invalidate the authenticated server-side session or token. A previously captured authenticated session can be replayed after logout to regain access to protected functionality, allowing attackers with stolen or fixed session material to continue operating as the victim.',
|
|
416
|
+
severity: 'high',
|
|
417
|
+
levelId: 2,
|
|
418
|
+
category: 'authentication',
|
|
419
|
+
scanner: 'session-invalidation',
|
|
420
|
+
cvss: {
|
|
421
|
+
score: 7.1,
|
|
422
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N',
|
|
423
|
+
severity: 'HIGH',
|
|
424
|
+
},
|
|
425
|
+
cwe: [
|
|
426
|
+
{ id: 'CWE-613', name: 'Insufficient Session Expiration', url: 'https://cwe.mitre.org/data/definitions/613.html' },
|
|
427
|
+
],
|
|
428
|
+
owasp: [
|
|
429
|
+
{ id: 'A07:2021', name: 'Identification and Authentication Failures', url: 'https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/' },
|
|
430
|
+
],
|
|
431
|
+
remediation: 'Invalidate sessions and tokens server-side during logout. Rotate session identifiers after login and privilege changes. Ensure logout revokes all session artifacts that can restore authenticated access, including cookies and browser storage tokens.',
|
|
432
|
+
},
|
|
433
|
+
};
|
|
434
|
+
|
|
435
|
+
export default AUTH_VULNERABILITIES;
|
|
@@ -840,6 +840,30 @@ export const INJECTION_VULNERABILITIES: Record<string, VulnerabilityDefinitionIn
|
|
|
840
840
|
],
|
|
841
841
|
remediation: 'Validate and constrain path parameters with allowlists or route constraints. Normalize and sanitize path inputs before use. Avoid passing raw path segments into file or query handlers.',
|
|
842
842
|
},
|
|
843
|
+
|
|
844
|
+
[VulnerabilityCode.HPP_DUPLICATE_PARAMETER]: {
|
|
845
|
+
id: 335,
|
|
846
|
+
code: VulnerabilityCode.HPP_DUPLICATE_PARAMETER,
|
|
847
|
+
title: 'HTTP Parameter Pollution',
|
|
848
|
+
description: 'HTTP parameter pollution vulnerability detected where duplicate query parameter keys trigger behavior distinct from both single-value control requests, indicating inconsistent duplicate-key handling that may enable logic bypasses or validation mismatches across components.',
|
|
849
|
+
severity: 'medium',
|
|
850
|
+
levelId: 3,
|
|
851
|
+
category: 'injection',
|
|
852
|
+
scanner: 'model-state',
|
|
853
|
+
groupName: 'HTTP Parameter Pollution',
|
|
854
|
+
cvss: {
|
|
855
|
+
score: 5.3,
|
|
856
|
+
vector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N',
|
|
857
|
+
severity: 'MEDIUM',
|
|
858
|
+
},
|
|
859
|
+
cwe: [
|
|
860
|
+
{ id: 'CWE-235', name: 'Improper Handling of Extra Parameters', url: 'https://cwe.mitre.org/data/definitions/235.html' },
|
|
861
|
+
],
|
|
862
|
+
owasp: [
|
|
863
|
+
{ id: 'A04:2021', name: 'Insecure Design', url: 'https://owasp.org/Top10/A04_2021-Insecure_Design/' },
|
|
864
|
+
],
|
|
865
|
+
remediation: 'Reject unexpected duplicate parameters or canonicalize them consistently at the edge. Ensure upstream proxies, frameworks, and application code all apply the same duplicate-key handling rules. Prefer strict allowlists for security-sensitive parameters.',
|
|
866
|
+
},
|
|
843
867
|
};
|
|
844
868
|
|
|
845
869
|
export default INJECTION_VULNERABILITIES;
|
package/src/categories/xss.ts
CHANGED
|
@@ -354,4 +354,27 @@ export const XSS_VULNERABILITIES: Record<string, VulnerabilityDefinitionInput> =
|
|
|
354
354
|
],
|
|
355
355
|
remediation: 'Use v-text instead of v-html for user content. Never compile user input as Vue templates. Use vue-runtime-only build that does not include template compiler. Sanitize mustache syntax.',
|
|
356
356
|
},
|
|
357
|
+
|
|
358
|
+
[VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING]: {
|
|
359
|
+
id: 415,
|
|
360
|
+
code: VulnerabilityCode.XSS_INSUFFICIENT_OUTPUT_ENCODING,
|
|
361
|
+
title: 'Insufficient Output Encoding',
|
|
362
|
+
description: 'Special characters are reflected without proper encoding in the response. While no direct XSS exploitation was confirmed, the incomplete encoding of characters like quotes, ampersands, or parentheses indicates potential encoding gaps that could lead to vulnerabilities in different contexts.',
|
|
363
|
+
severity: 'info',
|
|
364
|
+
levelId: 5,
|
|
365
|
+
category: 'xss',
|
|
366
|
+
scanner: 'xss',
|
|
367
|
+
cvss: {
|
|
368
|
+
score: 2.6,
|
|
369
|
+
vector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N',
|
|
370
|
+
severity: 'LOW',
|
|
371
|
+
},
|
|
372
|
+
cwe: [
|
|
373
|
+
{ id: 'CWE-116', name: 'Improper Encoding or Escaping of Output', url: 'https://cwe.mitre.org/data/definitions/116.html' },
|
|
374
|
+
],
|
|
375
|
+
owasp: [
|
|
376
|
+
{ id: 'A03:2021', name: 'Injection', url: 'https://owasp.org/Top10/A03_2021-Injection/' },
|
|
377
|
+
],
|
|
378
|
+
remediation: 'Implement comprehensive output encoding for all special characters including <, >, ", \', &, (, ), /, and \\. Use context-aware encoding based on the output location (HTML body, attributes, JavaScript, URL, CSS).',
|
|
379
|
+
},
|
|
357
380
|
};
|
package/src/error-codes.ts
CHANGED
|
@@ -12,17 +12,17 @@ export enum VulnerabilityCode {
|
|
|
12
12
|
SQLI_ERROR_BASED = 'SQLI_ERROR_BASED',
|
|
13
13
|
SQLI_BOOLEAN_BASED = 'SQLI_BOOLEAN_BASED',
|
|
14
14
|
SQLI_TIME_BASED = 'SQLI_TIME_BASED',
|
|
15
|
-
SQLI_STACK_BASED = 'SQLI_STACK_BASED',
|
|
16
|
-
SQLI_UNION_BASED = 'SQLI_UNION_BASED',
|
|
17
|
-
|
|
18
|
-
// ========================================
|
|
19
|
-
// PATH INJECTION (PATH_*)
|
|
20
|
-
// ========================================
|
|
21
|
-
PATH_PARAMETER_INJECTION = 'PATH_PARAMETER_INJECTION',
|
|
22
|
-
|
|
23
|
-
// ========================================
|
|
24
|
-
// CROSS-SITE SCRIPTING (XSS_*)
|
|
25
|
-
// ========================================
|
|
15
|
+
SQLI_STACK_BASED = 'SQLI_STACK_BASED',
|
|
16
|
+
SQLI_UNION_BASED = 'SQLI_UNION_BASED',
|
|
17
|
+
|
|
18
|
+
// ========================================
|
|
19
|
+
// PATH INJECTION (PATH_*)
|
|
20
|
+
// ========================================
|
|
21
|
+
PATH_PARAMETER_INJECTION = 'PATH_PARAMETER_INJECTION',
|
|
22
|
+
|
|
23
|
+
// ========================================
|
|
24
|
+
// CROSS-SITE SCRIPTING (XSS_*)
|
|
25
|
+
// ========================================
|
|
26
26
|
XSS_REFLECTED = 'XSS_REFLECTED',
|
|
27
27
|
XSS_STORED = 'XSS_STORED',
|
|
28
28
|
XSS_DOM_BASED = 'XSS_DOM_BASED',
|
|
@@ -38,6 +38,7 @@ export enum VulnerabilityCode {
|
|
|
38
38
|
XSS_CSP_BYPASS = 'XSS_CSP_BYPASS',
|
|
39
39
|
XSS_TEMPLATE_LITERAL = 'XSS_TEMPLATE_LITERAL',
|
|
40
40
|
XSS_MUTATION_BASED = 'XSS_MUTATION_BASED',
|
|
41
|
+
XSS_INSUFFICIENT_OUTPUT_ENCODING = 'XSS_INSUFFICIENT_OUTPUT_ENCODING',
|
|
41
42
|
|
|
42
43
|
// ========================================
|
|
43
44
|
// COMMAND INJECTION (CMDI_*)
|
|
@@ -106,13 +107,14 @@ export enum VulnerabilityCode {
|
|
|
106
107
|
JWT_EXPIRED_TOKEN = 'JWT_EXPIRED_TOKEN',
|
|
107
108
|
JWT_MISSING_CLAIMS = 'JWT_MISSING_CLAIMS',
|
|
108
109
|
JWT_CLAIM_TAMPERING = 'JWT_CLAIM_TAMPERING',
|
|
109
|
-
JWT_KID_INJECTION = 'JWT_KID_INJECTION',
|
|
110
|
-
JWT_JKU_INJECTION = 'JWT_JKU_INJECTION',
|
|
111
|
-
JWT_EMBEDDED_JWK = 'JWT_EMBEDDED_JWK',
|
|
112
|
-
JWT_X5C_INJECTION = 'JWT_X5C_INJECTION',
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
//
|
|
110
|
+
JWT_KID_INJECTION = 'JWT_KID_INJECTION',
|
|
111
|
+
JWT_JKU_INJECTION = 'JWT_JKU_INJECTION',
|
|
112
|
+
JWT_EMBEDDED_JWK = 'JWT_EMBEDDED_JWK',
|
|
113
|
+
JWT_X5C_INJECTION = 'JWT_X5C_INJECTION',
|
|
114
|
+
AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT = 'AUTH_SESSION_NOT_INVALIDATED_ON_LOGOUT',
|
|
115
|
+
|
|
116
|
+
// ========================================
|
|
117
|
+
// OPEN REDIRECT (REDIRECT_*)
|
|
116
118
|
// ========================================
|
|
117
119
|
REDIRECT_HEADER_INJECTION = 'REDIRECT_HEADER_INJECTION',
|
|
118
120
|
REDIRECT_META_REFRESH = 'REDIRECT_META_REFRESH',
|
|
@@ -133,36 +135,36 @@ export enum VulnerabilityCode {
|
|
|
133
135
|
HEADER_MISSING_HSTS = 'HEADER_MISSING_HSTS',
|
|
134
136
|
HEADER_MISSING_XFRAME = 'HEADER_MISSING_XFRAME',
|
|
135
137
|
HEADER_MISSING_XCONTENT_TYPE = 'HEADER_MISSING_XCONTENT_TYPE',
|
|
136
|
-
HEADER_MISSING_XSS_PROTECTION = 'HEADER_MISSING_XSS_PROTECTION',
|
|
137
|
-
HEADER_MISSING_REFERRER_POLICY = 'HEADER_MISSING_REFERRER_POLICY',
|
|
138
|
-
HEADER_MISSING_PERMISSIONS_POLICY = 'HEADER_MISSING_PERMISSIONS_POLICY',
|
|
139
|
-
HEADER_WEAK_CSP = 'HEADER_WEAK_CSP',
|
|
140
|
-
HEADER_CSP_REPORT_ONLY = 'HEADER_CSP_REPORT_ONLY',
|
|
141
|
-
HEADER_CSP_WEAK_DIRECTIVES = 'HEADER_CSP_WEAK_DIRECTIVES',
|
|
142
|
-
HEADER_CSP_DATA_URI_SCRIPT = 'HEADER_CSP_DATA_URI_SCRIPT',
|
|
143
|
-
HEADER_CSP_BLOB_URI_SCRIPT = 'HEADER_CSP_BLOB_URI_SCRIPT',
|
|
144
|
-
HEADER_CSP_WILDCARD_DEFAULT = 'HEADER_CSP_WILDCARD_DEFAULT',
|
|
145
|
-
HEADER_CSP_NO_BASE_URI = 'HEADER_CSP_NO_BASE_URI',
|
|
146
|
-
HEADER_CSP_NO_OBJECT_SRC = 'HEADER_CSP_NO_OBJECT_SRC',
|
|
147
|
-
HEADER_CSP_NO_FRAME_ANCESTORS = 'HEADER_CSP_NO_FRAME_ANCESTORS',
|
|
148
|
-
HEADER_CORS_MISCONFIGURED = 'HEADER_CORS_MISCONFIGURED',
|
|
149
|
-
HEADER_CORS_STAR_WITH_CREDENTIALS = 'HEADER_CORS_STAR_WITH_CREDENTIALS',
|
|
150
|
-
HEADER_CORS_ORIGIN_REFLECT_NO_VARY = 'HEADER_CORS_ORIGIN_REFLECT_NO_VARY',
|
|
151
|
-
HEADER_CORS_NULL_ORIGIN = 'HEADER_CORS_NULL_ORIGIN',
|
|
152
|
-
HEADER_CORS_WILDCARD_SUBDOMAIN = 'HEADER_CORS_WILDCARD_SUBDOMAIN',
|
|
153
|
-
HEADER_COEP_WITHOUT_COOP = 'HEADER_COEP_WITHOUT_COOP',
|
|
154
|
-
HEADER_CORP_UNUSUAL = 'HEADER_CORP_UNUSUAL',
|
|
155
|
-
HEADER_EXPECT_CT_PRESENT = 'HEADER_EXPECT_CT_PRESENT',
|
|
156
|
-
HEADER_SERVER_HEADER_PRESENT = 'HEADER_SERVER_HEADER_PRESENT',
|
|
157
|
-
HEADER_X_POWERED_BY_PRESENT = 'HEADER_X_POWERED_BY_PRESENT',
|
|
158
|
-
HEADER_X_XSS_PROTECTION_ENABLED = 'HEADER_X_XSS_PROTECTION_ENABLED',
|
|
159
|
-
HEADER_XCONTENT_TYPE_INVALID = 'HEADER_XCONTENT_TYPE_INVALID',
|
|
160
|
-
HEADER_REFERRER_POLICY_UNSAFE = 'HEADER_REFERRER_POLICY_UNSAFE',
|
|
161
|
-
HEADER_HSTS_BAD_MAX_AGE = 'HEADER_HSTS_BAD_MAX_AGE',
|
|
162
|
-
HEADER_HSTS_SHORT_MAX_AGE = 'HEADER_HSTS_SHORT_MAX_AGE',
|
|
163
|
-
HEADER_HSTS_NO_INCLUDESUBDOMAINS = 'HEADER_HSTS_NO_INCLUDESUBDOMAINS',
|
|
164
|
-
HEADER_HSTS_PRELOAD_LOW_MAX_AGE = 'HEADER_HSTS_PRELOAD_LOW_MAX_AGE',
|
|
165
|
-
COOKIE_SAMESITE_NONE_WITHOUT_SECURE = 'COOKIE_SAMESITE_NONE_WITHOUT_SECURE',
|
|
138
|
+
HEADER_MISSING_XSS_PROTECTION = 'HEADER_MISSING_XSS_PROTECTION',
|
|
139
|
+
HEADER_MISSING_REFERRER_POLICY = 'HEADER_MISSING_REFERRER_POLICY',
|
|
140
|
+
HEADER_MISSING_PERMISSIONS_POLICY = 'HEADER_MISSING_PERMISSIONS_POLICY',
|
|
141
|
+
HEADER_WEAK_CSP = 'HEADER_WEAK_CSP',
|
|
142
|
+
HEADER_CSP_REPORT_ONLY = 'HEADER_CSP_REPORT_ONLY',
|
|
143
|
+
HEADER_CSP_WEAK_DIRECTIVES = 'HEADER_CSP_WEAK_DIRECTIVES',
|
|
144
|
+
HEADER_CSP_DATA_URI_SCRIPT = 'HEADER_CSP_DATA_URI_SCRIPT',
|
|
145
|
+
HEADER_CSP_BLOB_URI_SCRIPT = 'HEADER_CSP_BLOB_URI_SCRIPT',
|
|
146
|
+
HEADER_CSP_WILDCARD_DEFAULT = 'HEADER_CSP_WILDCARD_DEFAULT',
|
|
147
|
+
HEADER_CSP_NO_BASE_URI = 'HEADER_CSP_NO_BASE_URI',
|
|
148
|
+
HEADER_CSP_NO_OBJECT_SRC = 'HEADER_CSP_NO_OBJECT_SRC',
|
|
149
|
+
HEADER_CSP_NO_FRAME_ANCESTORS = 'HEADER_CSP_NO_FRAME_ANCESTORS',
|
|
150
|
+
HEADER_CORS_MISCONFIGURED = 'HEADER_CORS_MISCONFIGURED',
|
|
151
|
+
HEADER_CORS_STAR_WITH_CREDENTIALS = 'HEADER_CORS_STAR_WITH_CREDENTIALS',
|
|
152
|
+
HEADER_CORS_ORIGIN_REFLECT_NO_VARY = 'HEADER_CORS_ORIGIN_REFLECT_NO_VARY',
|
|
153
|
+
HEADER_CORS_NULL_ORIGIN = 'HEADER_CORS_NULL_ORIGIN',
|
|
154
|
+
HEADER_CORS_WILDCARD_SUBDOMAIN = 'HEADER_CORS_WILDCARD_SUBDOMAIN',
|
|
155
|
+
HEADER_COEP_WITHOUT_COOP = 'HEADER_COEP_WITHOUT_COOP',
|
|
156
|
+
HEADER_CORP_UNUSUAL = 'HEADER_CORP_UNUSUAL',
|
|
157
|
+
HEADER_EXPECT_CT_PRESENT = 'HEADER_EXPECT_CT_PRESENT',
|
|
158
|
+
HEADER_SERVER_HEADER_PRESENT = 'HEADER_SERVER_HEADER_PRESENT',
|
|
159
|
+
HEADER_X_POWERED_BY_PRESENT = 'HEADER_X_POWERED_BY_PRESENT',
|
|
160
|
+
HEADER_X_XSS_PROTECTION_ENABLED = 'HEADER_X_XSS_PROTECTION_ENABLED',
|
|
161
|
+
HEADER_XCONTENT_TYPE_INVALID = 'HEADER_XCONTENT_TYPE_INVALID',
|
|
162
|
+
HEADER_REFERRER_POLICY_UNSAFE = 'HEADER_REFERRER_POLICY_UNSAFE',
|
|
163
|
+
HEADER_HSTS_BAD_MAX_AGE = 'HEADER_HSTS_BAD_MAX_AGE',
|
|
164
|
+
HEADER_HSTS_SHORT_MAX_AGE = 'HEADER_HSTS_SHORT_MAX_AGE',
|
|
165
|
+
HEADER_HSTS_NO_INCLUDESUBDOMAINS = 'HEADER_HSTS_NO_INCLUDESUBDOMAINS',
|
|
166
|
+
HEADER_HSTS_PRELOAD_LOW_MAX_AGE = 'HEADER_HSTS_PRELOAD_LOW_MAX_AGE',
|
|
167
|
+
COOKIE_SAMESITE_NONE_WITHOUT_SECURE = 'COOKIE_SAMESITE_NONE_WITHOUT_SECURE',
|
|
166
168
|
COOKIE_SESSION_MISSING_SECURE = 'COOKIE_SESSION_MISSING_SECURE',
|
|
167
169
|
COOKIE_MISSING_SECURE = 'COOKIE_MISSING_SECURE',
|
|
168
170
|
COOKIE_SESSION_MISSING_HTTPONLY = 'COOKIE_SESSION_MISSING_HTTPONLY',
|
|
@@ -187,41 +189,42 @@ export enum VulnerabilityCode {
|
|
|
187
189
|
HOST_PASSWORD_RESET = 'HOST_PASSWORD_RESET',
|
|
188
190
|
HOST_REDIRECT = 'HOST_REDIRECT',
|
|
189
191
|
|
|
190
|
-
// ========================================
|
|
191
|
-
// DIRECTORY BROWSING (DIRBROWSE_*)
|
|
192
|
-
// ========================================
|
|
193
|
-
DIRBROWSE_GENERIC = 'DIRBROWSE_GENERIC',
|
|
194
|
-
DIRBROWSE_GENERIC_SENSITIVE = 'DIRBROWSE_GENERIC_SENSITIVE',
|
|
195
|
-
DIRBROWSE_APACHE = 'DIRBROWSE_APACHE',
|
|
196
|
-
DIRBROWSE_APACHE_SENSITIVE = 'DIRBROWSE_APACHE_SENSITIVE',
|
|
197
|
-
DIRBROWSE_NGINX = 'DIRBROWSE_NGINX',
|
|
198
|
-
DIRBROWSE_NGINX_SENSITIVE = 'DIRBROWSE_NGINX_SENSITIVE',
|
|
199
|
-
DIRBROWSE_IIS = 'DIRBROWSE_IIS',
|
|
200
|
-
DIRBROWSE_IIS_SENSITIVE = 'DIRBROWSE_IIS_SENSITIVE',
|
|
201
|
-
DIRBROWSE_TOMCAT = 'DIRBROWSE_TOMCAT',
|
|
202
|
-
DIRBROWSE_TOMCAT_SENSITIVE = 'DIRBROWSE_TOMCAT_SENSITIVE',
|
|
203
|
-
DIRBROWSE_CADDY = 'DIRBROWSE_CADDY',
|
|
204
|
-
DIRBROWSE_CADDY_SENSITIVE = 'DIRBROWSE_CADDY_SENSITIVE',
|
|
205
|
-
DIRBROWSE_WEBDAV = 'DIRBROWSE_WEBDAV',
|
|
206
|
-
DIRBROWSE_WEBDAV_SENSITIVE = 'DIRBROWSE_WEBDAV_SENSITIVE',
|
|
207
|
-
DIRBROWSE_S3 = 'DIRBROWSE_S3',
|
|
208
|
-
DIRBROWSE_S3_SENSITIVE = 'DIRBROWSE_S3_SENSITIVE',
|
|
209
|
-
DIRBROWSE_GCS = 'DIRBROWSE_GCS',
|
|
210
|
-
DIRBROWSE_GCS_SENSITIVE = 'DIRBROWSE_GCS_SENSITIVE',
|
|
211
|
-
DIRBROWSE_AZURE_BLOB = 'DIRBROWSE_AZURE_BLOB',
|
|
212
|
-
DIRBROWSE_AZURE_BLOB_SENSITIVE = 'DIRBROWSE_AZURE_BLOB_SENSITIVE',
|
|
213
|
-
DIRBROWSE_ENABLED = 'DIRBROWSE_ENABLED',
|
|
214
|
-
DIRBROWSE_SENSITIVE = 'DIRBROWSE_SENSITIVE',
|
|
215
|
-
|
|
216
|
-
// ========================================
|
|
217
|
-
// MASS ASSIGNMENT (MASSASSIGN_*)
|
|
218
192
|
// ========================================
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
193
|
+
// DIRECTORY BROWSING (DIRBROWSE_*)
|
|
194
|
+
// ========================================
|
|
195
|
+
DIRBROWSE_GENERIC = 'DIRBROWSE_GENERIC',
|
|
196
|
+
DIRBROWSE_GENERIC_SENSITIVE = 'DIRBROWSE_GENERIC_SENSITIVE',
|
|
197
|
+
DIRBROWSE_APACHE = 'DIRBROWSE_APACHE',
|
|
198
|
+
DIRBROWSE_APACHE_SENSITIVE = 'DIRBROWSE_APACHE_SENSITIVE',
|
|
199
|
+
DIRBROWSE_NGINX = 'DIRBROWSE_NGINX',
|
|
200
|
+
DIRBROWSE_NGINX_SENSITIVE = 'DIRBROWSE_NGINX_SENSITIVE',
|
|
201
|
+
DIRBROWSE_IIS = 'DIRBROWSE_IIS',
|
|
202
|
+
DIRBROWSE_IIS_SENSITIVE = 'DIRBROWSE_IIS_SENSITIVE',
|
|
203
|
+
DIRBROWSE_TOMCAT = 'DIRBROWSE_TOMCAT',
|
|
204
|
+
DIRBROWSE_TOMCAT_SENSITIVE = 'DIRBROWSE_TOMCAT_SENSITIVE',
|
|
205
|
+
DIRBROWSE_CADDY = 'DIRBROWSE_CADDY',
|
|
206
|
+
DIRBROWSE_CADDY_SENSITIVE = 'DIRBROWSE_CADDY_SENSITIVE',
|
|
207
|
+
DIRBROWSE_WEBDAV = 'DIRBROWSE_WEBDAV',
|
|
208
|
+
DIRBROWSE_WEBDAV_SENSITIVE = 'DIRBROWSE_WEBDAV_SENSITIVE',
|
|
209
|
+
DIRBROWSE_S3 = 'DIRBROWSE_S3',
|
|
210
|
+
DIRBROWSE_S3_SENSITIVE = 'DIRBROWSE_S3_SENSITIVE',
|
|
211
|
+
DIRBROWSE_GCS = 'DIRBROWSE_GCS',
|
|
212
|
+
DIRBROWSE_GCS_SENSITIVE = 'DIRBROWSE_GCS_SENSITIVE',
|
|
213
|
+
DIRBROWSE_AZURE_BLOB = 'DIRBROWSE_AZURE_BLOB',
|
|
214
|
+
DIRBROWSE_AZURE_BLOB_SENSITIVE = 'DIRBROWSE_AZURE_BLOB_SENSITIVE',
|
|
215
|
+
DIRBROWSE_ENABLED = 'DIRBROWSE_ENABLED',
|
|
216
|
+
DIRBROWSE_SENSITIVE = 'DIRBROWSE_SENSITIVE',
|
|
222
217
|
|
|
223
|
-
// ========================================
|
|
224
|
-
//
|
|
218
|
+
// ========================================
|
|
219
|
+
// MASS ASSIGNMENT (MASSASSIGN_*)
|
|
220
|
+
// ========================================
|
|
221
|
+
MASSASSIGN_PROTOTYPE_POLLUTION = 'MASSASSIGN_PROTOTYPE_POLLUTION',
|
|
222
|
+
MASSASSIGN_ROLE_ESCALATION = 'MASSASSIGN_ROLE_ESCALATION',
|
|
223
|
+
MASSASSIGN_HIDDEN_FIELD = 'MASSASSIGN_HIDDEN_FIELD',
|
|
224
|
+
HPP_DUPLICATE_PARAMETER = 'HPP_DUPLICATE_PARAMETER',
|
|
225
|
+
|
|
226
|
+
// ========================================
|
|
227
|
+
// DESERIALIZATION (DESER_*)
|
|
225
228
|
// ========================================
|
|
226
229
|
DESER_JAVA = 'DESER_JAVA',
|
|
227
230
|
DESER_PHP = 'DESER_PHP',
|
|
@@ -285,10 +288,10 @@ export enum VulnerabilityCode {
|
|
|
285
288
|
SENS_MED_SITEMAP = 'SENS_MED_SITEMAP',
|
|
286
289
|
SENS_MED_CROSSDOMAIN_XML = 'SENS_MED_CROSSDOMAIN_XML',
|
|
287
290
|
|
|
288
|
-
// ========================================
|
|
289
|
-
// SENSITIVE PATH SCOUT - LOW (SENS_LOW_*)
|
|
290
|
-
// ========================================
|
|
291
|
-
SENS_LOW_TRAVIS_CI = 'SENS_LOW_TRAVIS_CI',
|
|
291
|
+
// ========================================
|
|
292
|
+
// SENSITIVE PATH SCOUT - LOW (SENS_LOW_*)
|
|
293
|
+
// ========================================
|
|
294
|
+
SENS_LOW_TRAVIS_CI = 'SENS_LOW_TRAVIS_CI',
|
|
292
295
|
SENS_LOW_JENKINSFILE = 'SENS_LOW_JENKINSFILE',
|
|
293
296
|
SENS_LOW_CIRCLECI = 'SENS_LOW_CIRCLECI',
|
|
294
297
|
SENS_LOW_GITLAB_CI = 'SENS_LOW_GITLAB_CI',
|
|
@@ -364,65 +367,65 @@ export enum VulnerabilityCode {
|
|
|
364
367
|
SENS_LOW_VIM_SWAP_FILE_DETECTED = 'SENS_LOW_VIM_SWAP_FILE_DETECTED',
|
|
365
368
|
SENS_LOW_DIRECTORY_LISTING_ENABLED = 'SENS_LOW_DIRECTORY_LISTING_ENABLED',
|
|
366
369
|
SENS_LOW_AWSSAM_TEMPLATE_EXPOSED = 'SENS_LOW_AWSSAM_TEMPLATE_EXPOSED',
|
|
367
|
-
SENS_LOW_SERVERLESS_CONFIG_EXPOSED = 'SENS_LOW_SERVERLESS_CONFIG_EXPOSED',
|
|
368
|
-
SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED = 'SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED',
|
|
369
|
-
|
|
370
|
-
// ========================================
|
|
371
|
-
// SENSITIVE DATA EXPOSURE (SENS_DATA_*)
|
|
372
|
-
// ========================================
|
|
373
|
-
SENS_DATA_AWS_ACCESS_KEY_ID = 'SENS_DATA_AWS_ACCESS_KEY_ID',
|
|
374
|
-
SENS_DATA_AWS_SECRET_ACCESS_KEY = 'SENS_DATA_AWS_SECRET_ACCESS_KEY',
|
|
375
|
-
SENS_DATA_AWS_MWS_AUTH_TOKEN = 'SENS_DATA_AWS_MWS_AUTH_TOKEN',
|
|
376
|
-
SENS_DATA_GOOGLE_API_KEY = 'SENS_DATA_GOOGLE_API_KEY',
|
|
377
|
-
SENS_DATA_GOOGLE_OAUTH_TOKEN = 'SENS_DATA_GOOGLE_OAUTH_TOKEN',
|
|
378
|
-
SENS_DATA_GOOGLE_CLOUD_PRIVATE_KEY_ID = 'SENS_DATA_GOOGLE_CLOUD_PRIVATE_KEY_ID',
|
|
379
|
-
SENS_DATA_GITHUB_PAT = 'SENS_DATA_GITHUB_PAT',
|
|
380
|
-
SENS_DATA_GITHUB_OAUTH_TOKEN = 'SENS_DATA_GITHUB_OAUTH_TOKEN',
|
|
381
|
-
SENS_DATA_GITHUB_APP_TOKEN = 'SENS_DATA_GITHUB_APP_TOKEN',
|
|
382
|
-
SENS_DATA_GITHUB_REFRESH_TOKEN = 'SENS_DATA_GITHUB_REFRESH_TOKEN',
|
|
383
|
-
SENS_DATA_GITLAB_PAT = 'SENS_DATA_GITLAB_PAT',
|
|
384
|
-
SENS_DATA_GITLAB_PIPELINE_TOKEN = 'SENS_DATA_GITLAB_PIPELINE_TOKEN',
|
|
385
|
-
SENS_DATA_AZURE_STORAGE_ACCOUNT_KEY = 'SENS_DATA_AZURE_STORAGE_ACCOUNT_KEY',
|
|
386
|
-
SENS_DATA_STRIPE_SECRET_KEY = 'SENS_DATA_STRIPE_SECRET_KEY',
|
|
387
|
-
SENS_DATA_STRIPE_PUBLISHABLE_KEY = 'SENS_DATA_STRIPE_PUBLISHABLE_KEY',
|
|
388
|
-
SENS_DATA_STRIPE_RESTRICTED_KEY = 'SENS_DATA_STRIPE_RESTRICTED_KEY',
|
|
389
|
-
SENS_DATA_SLACK_TOKEN = 'SENS_DATA_SLACK_TOKEN',
|
|
390
|
-
SENS_DATA_SLACK_WEBHOOK = 'SENS_DATA_SLACK_WEBHOOK',
|
|
391
|
-
SENS_DATA_DISCORD_BOT_TOKEN = 'SENS_DATA_DISCORD_BOT_TOKEN',
|
|
392
|
-
SENS_DATA_DISCORD_WEBHOOK = 'SENS_DATA_DISCORD_WEBHOOK',
|
|
393
|
-
SENS_DATA_TWILIO_ACCOUNT_SID = 'SENS_DATA_TWILIO_ACCOUNT_SID',
|
|
394
|
-
SENS_DATA_SENDGRID_API_KEY = 'SENS_DATA_SENDGRID_API_KEY',
|
|
395
|
-
SENS_DATA_MAILGUN_API_KEY = 'SENS_DATA_MAILGUN_API_KEY',
|
|
396
|
-
SENS_DATA_MAILCHIMP_API_KEY = 'SENS_DATA_MAILCHIMP_API_KEY',
|
|
397
|
-
SENS_DATA_NPM_TOKEN = 'SENS_DATA_NPM_TOKEN',
|
|
398
|
-
SENS_DATA_PYPI_TOKEN = 'SENS_DATA_PYPI_TOKEN',
|
|
399
|
-
SENS_DATA_RSA_PRIVATE_KEY = 'SENS_DATA_RSA_PRIVATE_KEY',
|
|
400
|
-
SENS_DATA_OPENSSH_PRIVATE_KEY = 'SENS_DATA_OPENSSH_PRIVATE_KEY',
|
|
401
|
-
SENS_DATA_DSA_PRIVATE_KEY = 'SENS_DATA_DSA_PRIVATE_KEY',
|
|
402
|
-
SENS_DATA_EC_PRIVATE_KEY = 'SENS_DATA_EC_PRIVATE_KEY',
|
|
403
|
-
SENS_DATA_PGP_PRIVATE_KEY = 'SENS_DATA_PGP_PRIVATE_KEY',
|
|
404
|
-
SENS_DATA_ENCRYPTED_PRIVATE_KEY = 'SENS_DATA_ENCRYPTED_PRIVATE_KEY',
|
|
405
|
-
SENS_DATA_MONGODB_URI = 'SENS_DATA_MONGODB_URI',
|
|
406
|
-
SENS_DATA_POSTGRESQL_URI = 'SENS_DATA_POSTGRESQL_URI',
|
|
407
|
-
SENS_DATA_MYSQL_URI = 'SENS_DATA_MYSQL_URI',
|
|
408
|
-
SENS_DATA_REDIS_URI = 'SENS_DATA_REDIS_URI',
|
|
409
|
-
SENS_DATA_MSSQL_URI = 'SENS_DATA_MSSQL_URI',
|
|
410
|
-
SENS_DATA_DIGITALOCEAN_TOKEN = 'SENS_DATA_DIGITALOCEAN_TOKEN',
|
|
411
|
-
SENS_DATA_ALIBABA_CLOUD_ACCESS_KEY = 'SENS_DATA_ALIBABA_CLOUD_ACCESS_KEY',
|
|
412
|
-
SENS_DATA_SQUARE_ACCESS_TOKEN = 'SENS_DATA_SQUARE_ACCESS_TOKEN',
|
|
413
|
-
SENS_DATA_SQUARE_OAUTH_SECRET = 'SENS_DATA_SQUARE_OAUTH_SECRET',
|
|
414
|
-
SENS_DATA_SHOPIFY_ACCESS_TOKEN = 'SENS_DATA_SHOPIFY_ACCESS_TOKEN',
|
|
415
|
-
SENS_DATA_SHOPIFY_CUSTOM_APP_TOKEN = 'SENS_DATA_SHOPIFY_CUSTOM_APP_TOKEN',
|
|
416
|
-
SENS_DATA_SHOPIFY_PRIVATE_APP_TOKEN = 'SENS_DATA_SHOPIFY_PRIVATE_APP_TOKEN',
|
|
417
|
-
SENS_DATA_SHOPIFY_SHARED_SECRET = 'SENS_DATA_SHOPIFY_SHARED_SECRET',
|
|
418
|
-
SENS_DATA_TELEGRAM_BOT_TOKEN = 'SENS_DATA_TELEGRAM_BOT_TOKEN',
|
|
419
|
-
SENS_DATA_OPENAI_API_KEY = 'SENS_DATA_OPENAI_API_KEY',
|
|
420
|
-
SENS_DATA_SENTRY_DSN = 'SENS_DATA_SENTRY_DSN',
|
|
421
|
-
|
|
422
|
-
// ========================================
|
|
423
|
-
// CLICKJACKING (CLICK_*)
|
|
424
|
-
// ========================================
|
|
425
|
-
CLICK_FRAMEABLE = 'CLICK_FRAMEABLE',
|
|
370
|
+
SENS_LOW_SERVERLESS_CONFIG_EXPOSED = 'SENS_LOW_SERVERLESS_CONFIG_EXPOSED',
|
|
371
|
+
SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED = 'SENS_LOW_CLOUD_FORMATION_TEMPLATE_EXPOSED',
|
|
372
|
+
|
|
373
|
+
// ========================================
|
|
374
|
+
// SENSITIVE DATA EXPOSURE (SENS_DATA_*)
|
|
375
|
+
// ========================================
|
|
376
|
+
SENS_DATA_AWS_ACCESS_KEY_ID = 'SENS_DATA_AWS_ACCESS_KEY_ID',
|
|
377
|
+
SENS_DATA_AWS_SECRET_ACCESS_KEY = 'SENS_DATA_AWS_SECRET_ACCESS_KEY',
|
|
378
|
+
SENS_DATA_AWS_MWS_AUTH_TOKEN = 'SENS_DATA_AWS_MWS_AUTH_TOKEN',
|
|
379
|
+
SENS_DATA_GOOGLE_API_KEY = 'SENS_DATA_GOOGLE_API_KEY',
|
|
380
|
+
SENS_DATA_GOOGLE_OAUTH_TOKEN = 'SENS_DATA_GOOGLE_OAUTH_TOKEN',
|
|
381
|
+
SENS_DATA_GOOGLE_CLOUD_PRIVATE_KEY_ID = 'SENS_DATA_GOOGLE_CLOUD_PRIVATE_KEY_ID',
|
|
382
|
+
SENS_DATA_GITHUB_PAT = 'SENS_DATA_GITHUB_PAT',
|
|
383
|
+
SENS_DATA_GITHUB_OAUTH_TOKEN = 'SENS_DATA_GITHUB_OAUTH_TOKEN',
|
|
384
|
+
SENS_DATA_GITHUB_APP_TOKEN = 'SENS_DATA_GITHUB_APP_TOKEN',
|
|
385
|
+
SENS_DATA_GITHUB_REFRESH_TOKEN = 'SENS_DATA_GITHUB_REFRESH_TOKEN',
|
|
386
|
+
SENS_DATA_GITLAB_PAT = 'SENS_DATA_GITLAB_PAT',
|
|
387
|
+
SENS_DATA_GITLAB_PIPELINE_TOKEN = 'SENS_DATA_GITLAB_PIPELINE_TOKEN',
|
|
388
|
+
SENS_DATA_AZURE_STORAGE_ACCOUNT_KEY = 'SENS_DATA_AZURE_STORAGE_ACCOUNT_KEY',
|
|
389
|
+
SENS_DATA_STRIPE_SECRET_KEY = 'SENS_DATA_STRIPE_SECRET_KEY',
|
|
390
|
+
SENS_DATA_STRIPE_PUBLISHABLE_KEY = 'SENS_DATA_STRIPE_PUBLISHABLE_KEY',
|
|
391
|
+
SENS_DATA_STRIPE_RESTRICTED_KEY = 'SENS_DATA_STRIPE_RESTRICTED_KEY',
|
|
392
|
+
SENS_DATA_SLACK_TOKEN = 'SENS_DATA_SLACK_TOKEN',
|
|
393
|
+
SENS_DATA_SLACK_WEBHOOK = 'SENS_DATA_SLACK_WEBHOOK',
|
|
394
|
+
SENS_DATA_DISCORD_BOT_TOKEN = 'SENS_DATA_DISCORD_BOT_TOKEN',
|
|
395
|
+
SENS_DATA_DISCORD_WEBHOOK = 'SENS_DATA_DISCORD_WEBHOOK',
|
|
396
|
+
SENS_DATA_TWILIO_ACCOUNT_SID = 'SENS_DATA_TWILIO_ACCOUNT_SID',
|
|
397
|
+
SENS_DATA_SENDGRID_API_KEY = 'SENS_DATA_SENDGRID_API_KEY',
|
|
398
|
+
SENS_DATA_MAILGUN_API_KEY = 'SENS_DATA_MAILGUN_API_KEY',
|
|
399
|
+
SENS_DATA_MAILCHIMP_API_KEY = 'SENS_DATA_MAILCHIMP_API_KEY',
|
|
400
|
+
SENS_DATA_NPM_TOKEN = 'SENS_DATA_NPM_TOKEN',
|
|
401
|
+
SENS_DATA_PYPI_TOKEN = 'SENS_DATA_PYPI_TOKEN',
|
|
402
|
+
SENS_DATA_RSA_PRIVATE_KEY = 'SENS_DATA_RSA_PRIVATE_KEY',
|
|
403
|
+
SENS_DATA_OPENSSH_PRIVATE_KEY = 'SENS_DATA_OPENSSH_PRIVATE_KEY',
|
|
404
|
+
SENS_DATA_DSA_PRIVATE_KEY = 'SENS_DATA_DSA_PRIVATE_KEY',
|
|
405
|
+
SENS_DATA_EC_PRIVATE_KEY = 'SENS_DATA_EC_PRIVATE_KEY',
|
|
406
|
+
SENS_DATA_PGP_PRIVATE_KEY = 'SENS_DATA_PGP_PRIVATE_KEY',
|
|
407
|
+
SENS_DATA_ENCRYPTED_PRIVATE_KEY = 'SENS_DATA_ENCRYPTED_PRIVATE_KEY',
|
|
408
|
+
SENS_DATA_MONGODB_URI = 'SENS_DATA_MONGODB_URI',
|
|
409
|
+
SENS_DATA_POSTGRESQL_URI = 'SENS_DATA_POSTGRESQL_URI',
|
|
410
|
+
SENS_DATA_MYSQL_URI = 'SENS_DATA_MYSQL_URI',
|
|
411
|
+
SENS_DATA_REDIS_URI = 'SENS_DATA_REDIS_URI',
|
|
412
|
+
SENS_DATA_MSSQL_URI = 'SENS_DATA_MSSQL_URI',
|
|
413
|
+
SENS_DATA_DIGITALOCEAN_TOKEN = 'SENS_DATA_DIGITALOCEAN_TOKEN',
|
|
414
|
+
SENS_DATA_ALIBABA_CLOUD_ACCESS_KEY = 'SENS_DATA_ALIBABA_CLOUD_ACCESS_KEY',
|
|
415
|
+
SENS_DATA_SQUARE_ACCESS_TOKEN = 'SENS_DATA_SQUARE_ACCESS_TOKEN',
|
|
416
|
+
SENS_DATA_SQUARE_OAUTH_SECRET = 'SENS_DATA_SQUARE_OAUTH_SECRET',
|
|
417
|
+
SENS_DATA_SHOPIFY_ACCESS_TOKEN = 'SENS_DATA_SHOPIFY_ACCESS_TOKEN',
|
|
418
|
+
SENS_DATA_SHOPIFY_CUSTOM_APP_TOKEN = 'SENS_DATA_SHOPIFY_CUSTOM_APP_TOKEN',
|
|
419
|
+
SENS_DATA_SHOPIFY_PRIVATE_APP_TOKEN = 'SENS_DATA_SHOPIFY_PRIVATE_APP_TOKEN',
|
|
420
|
+
SENS_DATA_SHOPIFY_SHARED_SECRET = 'SENS_DATA_SHOPIFY_SHARED_SECRET',
|
|
421
|
+
SENS_DATA_TELEGRAM_BOT_TOKEN = 'SENS_DATA_TELEGRAM_BOT_TOKEN',
|
|
422
|
+
SENS_DATA_OPENAI_API_KEY = 'SENS_DATA_OPENAI_API_KEY',
|
|
423
|
+
SENS_DATA_SENTRY_DSN = 'SENS_DATA_SENTRY_DSN',
|
|
424
|
+
|
|
425
|
+
// ========================================
|
|
426
|
+
// CLICKJACKING (CLICK_*)
|
|
427
|
+
// ========================================
|
|
428
|
+
CLICK_FRAMEABLE = 'CLICK_FRAMEABLE',
|
|
426
429
|
CLICK_PARTIAL_PROTECTION = 'CLICK_PARTIAL_PROTECTION',
|
|
427
430
|
}
|
|
428
431
|
|
|
Binary file
|
|
Binary file
|