Skip to content

Commit 1ec3a62

Browse files
committed
JS: Add test with NgForm.value
1 parent d4daa21 commit 1ec3a62

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

javascript/ql/test/query-tests/Security/CWE-079/XssThroughDom/XssThroughDom.expected

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ edges
4242
| xss-through-dom.js:154:25:154:27 | msg | xss-through-dom.js:155:27:155:29 | msg | provenance | |
4343
| xss-through-dom.js:159:34:159:52 | $("textarea").val() | xss-through-dom.js:154:25:154:27 | msg | provenance | |
4444
nodes
45-
| angular.ts:11:24:11:41 | event.target.value | semmle.label | event.target.value |
46-
| angular.ts:15:24:15:35 | target.value | semmle.label | target.value |
45+
| angular.ts:12:24:12:41 | event.target.value | semmle.label | event.target.value |
46+
| angular.ts:16:24:16:35 | target.value | semmle.label | target.value |
4747
| forms.js:8:23:8:28 | values | semmle.label | values |
4848
| forms.js:9:31:9:36 | values | semmle.label | values |
4949
| forms.js:9:31:9:40 | values.foo | semmle.label | values.foo |
@@ -126,8 +126,8 @@ nodes
126126
| xss-through-dom.js:159:34:159:52 | $("textarea").val() | semmle.label | $("textarea").val() |
127127
subpaths
128128
#select
129-
| angular.ts:11:24:11:41 | event.target.value | angular.ts:11:24:11:41 | event.target.value | angular.ts:11:24:11:41 | event.target.value | $@ is reinterpreted as HTML without escaping meta-characters. | angular.ts:11:24:11:41 | event.target.value | DOM text |
130-
| angular.ts:15:24:15:35 | target.value | angular.ts:15:24:15:35 | target.value | angular.ts:15:24:15:35 | target.value | $@ is reinterpreted as HTML without escaping meta-characters. | angular.ts:15:24:15:35 | target.value | DOM text |
129+
| angular.ts:12:24:12:41 | event.target.value | angular.ts:12:24:12:41 | event.target.value | angular.ts:12:24:12:41 | event.target.value | $@ is reinterpreted as HTML without escaping meta-characters. | angular.ts:12:24:12:41 | event.target.value | DOM text |
130+
| angular.ts:16:24:16:35 | target.value | angular.ts:16:24:16:35 | target.value | angular.ts:16:24:16:35 | target.value | $@ is reinterpreted as HTML without escaping meta-characters. | angular.ts:16:24:16:35 | target.value | DOM text |
131131
| forms.js:9:31:9:40 | values.foo | forms.js:8:23:8:28 | values | forms.js:9:31:9:40 | values.foo | $@ is reinterpreted as HTML without escaping meta-characters. | forms.js:8:23:8:28 | values | DOM text |
132132
| forms.js:12:31:12:40 | values.bar | forms.js:11:24:11:29 | values | forms.js:12:31:12:40 | values.bar | $@ is reinterpreted as HTML without escaping meta-characters. | forms.js:11:24:11:29 | values | DOM text |
133133
| forms.js:25:23:25:34 | values.email | forms.js:24:15:24:20 | values | forms.js:25:23:25:34 | values.email | $@ is reinterpreted as HTML without escaping meta-characters. | forms.js:24:15:24:20 | values | DOM text |

javascript/ql/test/query-tests/Security/CWE-079/XssThroughDom/angular.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Component } from "@angular/core";
2+
import { NgForm } from "@angular/forms";
23

34
@Component({
45
template: `
@@ -14,4 +15,8 @@ export class Foo {
1415
setInput2(target) {
1516
document.write(target.value); // NOT OK
1617
}
18+
19+
blah(form: NgForm) {
20+
document.write(form.value.foo); // NOT OK [INCONSISTENCY]
21+
}
1722
}

0 commit comments

Comments
 (0)