Skip to content

Commit 6163e6c

Browse files
committed
adjust test case for XML entity expansion
1 parent 83f0514 commit 6163e6c

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

javascript/ql/test/query-tests/Security/CWE-611/Xxe.expected

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ nodes
1616
| libxml.noent.js:14:27:14:47 | req.par ... e-xml") |
1717
| libxml.noent.js:14:27:14:47 | req.par ... e-xml") |
1818
| libxml.noent.js:14:27:14:47 | req.par ... e-xml") |
19-
| libxml.noent.js:16:26:16:34 | req.files |
20-
| libxml.noent.js:16:26:16:34 | req.files |
21-
| libxml.noent.js:16:26:16:43 | req.files.products |
22-
| libxml.noent.js:16:26:16:48 | req.fil ... ts.data |
23-
| libxml.noent.js:16:26:16:65 | req.fil ... 'utf8') |
24-
| libxml.noent.js:16:26:16:65 | req.fil ... 'utf8') |
19+
| libxml.noent.js:16:27:16:35 | req.files |
20+
| libxml.noent.js:16:27:16:35 | req.files |
21+
| libxml.noent.js:16:27:16:44 | req.files.products |
22+
| libxml.noent.js:16:27:16:49 | req.fil ... ts.data |
23+
| libxml.noent.js:16:27:16:66 | req.fil ... 'utf8') |
24+
| libxml.noent.js:16:27:16:66 | req.fil ... 'utf8') |
2525
| libxml.sax.js:6:22:6:42 | req.par ... e-xml") |
2626
| libxml.sax.js:6:22:6:42 | req.par ... e-xml") |
2727
| libxml.sax.js:6:22:6:42 | req.par ... e-xml") |
@@ -39,11 +39,11 @@ edges
3939
| libxml.noent.js:6:21:6:41 | req.par ... e-xml") | libxml.noent.js:6:21:6:41 | req.par ... e-xml") |
4040
| libxml.noent.js:11:21:11:41 | req.par ... e-xml") | libxml.noent.js:11:21:11:41 | req.par ... e-xml") |
4141
| libxml.noent.js:14:27:14:47 | req.par ... e-xml") | libxml.noent.js:14:27:14:47 | req.par ... e-xml") |
42-
| libxml.noent.js:16:26:16:34 | req.files | libxml.noent.js:16:26:16:43 | req.files.products |
43-
| libxml.noent.js:16:26:16:34 | req.files | libxml.noent.js:16:26:16:43 | req.files.products |
44-
| libxml.noent.js:16:26:16:43 | req.files.products | libxml.noent.js:16:26:16:48 | req.fil ... ts.data |
45-
| libxml.noent.js:16:26:16:48 | req.fil ... ts.data | libxml.noent.js:16:26:16:65 | req.fil ... 'utf8') |
46-
| libxml.noent.js:16:26:16:48 | req.fil ... ts.data | libxml.noent.js:16:26:16:65 | req.fil ... 'utf8') |
42+
| libxml.noent.js:16:27:16:35 | req.files | libxml.noent.js:16:27:16:44 | req.files.products |
43+
| libxml.noent.js:16:27:16:35 | req.files | libxml.noent.js:16:27:16:44 | req.files.products |
44+
| libxml.noent.js:16:27:16:44 | req.files.products | libxml.noent.js:16:27:16:49 | req.fil ... ts.data |
45+
| libxml.noent.js:16:27:16:49 | req.fil ... ts.data | libxml.noent.js:16:27:16:66 | req.fil ... 'utf8') |
46+
| libxml.noent.js:16:27:16:49 | req.fil ... ts.data | libxml.noent.js:16:27:16:66 | req.fil ... 'utf8') |
4747
| libxml.sax.js:6:22:6:42 | req.par ... e-xml") | libxml.sax.js:6:22:6:42 | req.par ... e-xml") |
4848
| libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") |
4949
#select
@@ -52,6 +52,6 @@ edges
5252
| libxml.noent.js:6:21:6:41 | req.par ... e-xml") | libxml.noent.js:6:21:6:41 | req.par ... e-xml") | libxml.noent.js:6:21:6:41 | req.par ... e-xml") | A $@ is parsed as XML without guarding against external entity expansion. | libxml.noent.js:6:21:6:41 | req.par ... e-xml") | user-provided value |
5353
| libxml.noent.js:11:21:11:41 | req.par ... e-xml") | libxml.noent.js:11:21:11:41 | req.par ... e-xml") | libxml.noent.js:11:21:11:41 | req.par ... e-xml") | A $@ is parsed as XML without guarding against external entity expansion. | libxml.noent.js:11:21:11:41 | req.par ... e-xml") | user-provided value |
5454
| libxml.noent.js:14:27:14:47 | req.par ... e-xml") | libxml.noent.js:14:27:14:47 | req.par ... e-xml") | libxml.noent.js:14:27:14:47 | req.par ... e-xml") | A $@ is parsed as XML without guarding against external entity expansion. | libxml.noent.js:14:27:14:47 | req.par ... e-xml") | user-provided value |
55-
| libxml.noent.js:16:26:16:65 | req.fil ... 'utf8') | libxml.noent.js:16:26:16:34 | req.files | libxml.noent.js:16:26:16:65 | req.fil ... 'utf8') | A $@ is parsed as XML without guarding against external entity expansion. | libxml.noent.js:16:26:16:34 | req.files | user-provided value |
55+
| libxml.noent.js:16:27:16:66 | req.fil ... 'utf8') | libxml.noent.js:16:27:16:35 | req.files | libxml.noent.js:16:27:16:66 | req.fil ... 'utf8') | A $@ is parsed as XML without guarding against external entity expansion. | libxml.noent.js:16:27:16:35 | req.files | user-provided value |
5656
| libxml.sax.js:6:22:6:42 | req.par ... e-xml") | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | A $@ is parsed as XML without guarding against external entity expansion. | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | user-provided value |
5757
| libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | A $@ is parsed as XML without guarding against external entity expansion. | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | user-provided value |

javascript/ql/test/query-tests/Security/CWE-611/libxml.noent.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ express().post('/some/path', function(req, res) {
1111
libxmljs.parseXml(req.param("some-xml"), { noent: true });
1212

1313
// NOT OK: unguarded entity expansion
14-
libxmljs.parseXmlString(req.param("some-xml"), {noent:true,noblanks:true})
14+
libxmljs.parseXmlString(req.param("some-xml"), {noent:true})
1515
// NOT OK: unguarded entity expansion
16-
libxmljs.parseXmlString(req.files.products.data.toString('utf8'), {noent:true,noblanks:true})
16+
libxmljs.parseXmlString(req.files.products.data.toString('utf8'), {noent:true})
17+
18+
// OK - no entity expansion
19+
libxmljs.parseXmlString(req.files.products.data.toString('utf8'), {noent:false})
1720
});

0 commit comments

Comments
 (0)