ajinabraham.njsscan.xml.xxe_expat.xxe_expat
ajinabraham
Author
unknown
Download Count*
License
Make sure that unverified user data can not reach the XML Parser, as it can result in XML External or Internal Entity (XXE) Processing vulnerabilities.
Run Locally
Run in CI
Defintion
rules:
- id: xxe_expat
patterns:
- pattern-inside: |
require('node-expat')
...
- pattern-either:
- pattern-inside: function $FUNC($REQ, $RES, ...) {...}
- pattern-inside: $X = function $FUNC($REQ, $RES, ...) {...}
- pattern-inside: var $X = function $FUNC($REQ, $RES, ...) {...};
- pattern-inside: $APP.$METHOD(..., function $FUNC($REQ, $RES, ...) {...})
- pattern-either:
- pattern-inside: |
$PARSER = new $EXPAT.Parser(...)
...
- pattern-inside: |
$PARSER = new Parser(...)
...
- pattern-either:
- pattern: $PARSER.parse(<... $REQ.$QUERY.$FOO ...>,...)
- pattern: $PARSER.parse(<... $REQ.$BODY ...>,...)
- pattern: |
$INPUT = <... $REQ.$QUERY.$FOO ...>;
...
$PARSER.parse(<... $INPUT ...>,...)
- pattern: |
$INPUT = <... $REQ.$BODY ...>;
...
$PARSER.parse(<... $INPUT ...>,...)
- pattern: $PARSER.write(<... $REQ.$QUERY.$FOO ...>,...)
- pattern: $PARSER.write(<... $REQ.$BODY ...>,...)
- pattern: |
$INPUT = <... $REQ.$QUERY.$FOO ...>;
...
$PARSER.write(<... $INPUT ...>,...)
- pattern: |-
$INPUT = <... $REQ.$BODY ...>;
...
$PARSER.write(<... $INPUT ...>,...)
message: Make sure that unverified user data can not reach the XML Parser, as it
can result in XML External or Internal Entity (XXE) Processing
vulnerabilities.
metadata:
owasp-web: a4
cwe: cwe-611
license: LGPL-3.0-or-later
vulnerability_class:
- Other
severity: ERROR
languages:
- javascript
Short Link: https://sg.run/G3Ep