Max Schaefer
739705865b
JavaScript: Add basic model of socket.io.
2019-02-26 15:53:29 +00:00
Esben Sparre Andreasen
4ce7ec1661
JS: add XSS vector for Vue's v-html
2019-02-25 12:17:56 +01:00
Max Schaefer
d4dbe3bfb6
JavaScript: Back out parsing of qualified XML identifiers.
...
Their syntax conflicts with the proposed function-bind operator, which is more important to support.
2019-02-24 21:30:59 +00:00
Max Schaefer
db9ac72e7a
Merge pull request #957 from esben-semmle/js/another-autobinder-model
...
JS: model one more 'autobind' for js/unbound-event-handler-receiver
2019-02-22 20:58:17 +00:00
Esben Sparre Andreasen
8af501d4d5
JS: avoid double reporting dead code with js/unused-variable
2019-02-21 21:44:28 +01:00
Esben Sparre Andreasen
91dccc3356
JS: add query js/unused-property
2019-02-21 21:44:28 +01:00
Esben Sparre Andreasen
305a249280
JS: add taint steps for fs.realpath and fs.realpathSync
2019-02-21 09:48:35 +01:00
Esben Sparre Andreasen
27cae0c190
JS: model one more 'autobind' for js/unbound-event-handler-receiver
2019-02-21 08:23:54 +01:00
semmle-qlci
f5e419e774
Merge pull request #933 from xiemaisi/js/createContextualFragment
...
Approved by asger-semmle
2019-02-20 12:42:27 +00:00
Max Schaefer
2fce626c3a
JavaScript: Add Range.prototype.createContextualFragment as an XSS sink.
2019-02-12 16:32:30 +00:00
Max Schaefer
25f95d9fb1
JavaScript: Be more conservative about templates in AmbiguousIdAttribute.
...
Previously, we only excluded attributes where the value of the attribute itself suggests templating happening. Now we exclude all attributes in documents where _any_ attribute value suggests templating.
2019-02-12 16:31:01 +00:00
semmle-qlci
c133362660
Merge pull request #910 from xiemaisi/js/regexp-taint
...
Approved by esben-semmle
2019-02-12 13:15:16 +00:00
semmle-qlci
ac3f413b87
Merge pull request #920 from xiemaisi/js/field-as-prop-write
...
Approved by asger-semmle
2019-02-12 10:48:13 +00:00
semmle-qlci
10b00254ec
Merge pull request #915 from asger-semmle/closure-uri-methods
...
Approved by xiemaisi
2019-02-11 10:51:07 +00:00
Max Schaefer
10ef945b51
JavaScript: Restrict InstanceFieldAsPropWrite to fields with initializers.
2019-02-11 08:17:53 +00:00
semmle-qlci
986afa1b1b
Merge pull request #909 from xiemaisi/js/improve-incomplete-sanitization-alerts
...
Approved by esben-semmle
2019-02-08 17:39:36 +00:00
Asger F
f6e0ccfcf0
JS: model URI and XHR methods from closure library
2019-02-08 15:18:27 +00:00
Asger F
fd2e9f1fcb
JS: shift line numbers in RequestForgery test
2019-02-08 15:13:33 +00:00
semmle-qlci
937049e060
Merge pull request #891 from xiemaisi/js/simplify-sensitive-actions
...
Approved by esben-semmle
2019-02-08 14:12:47 +00:00
semmle-qlci
7e298cfbbe
Merge pull request #900 from esben-semmle/js/defuse-default
...
Approved by xiemaisi
2019-02-08 11:28:32 +00:00
Max Schaefer
25d06ad0cf
JavaScript: Treat regexp replacements of HTML metacharacters as sanitizers for XSS queries.
2019-02-08 09:57:06 +00:00
Max Schaefer
18c23ecfd4
JavaScript: Introduce shared library for modelling XSS-relevant concepts.
...
As its first application, this library makes it possible for `StoredXss` to reuse the `Source` classes of `DomBasedXss` and `ReflectedXss` without having to pull in their libraries (which contain their `Configuration` classes, causing `StoredXss` to recompute all flow information for the other two queries).
2019-02-08 09:53:51 +00:00
Max Schaefer
3e26bc6446
JavaScript: Improve alert location and message for IncompleteSanitization.
...
We now highlight the `replace` call (instead of the regular expression), and the alert message for the case of missing backslash escapes clarifies that it is talking about failure to escape backslashes in the input, not in the replacement text.
2019-02-08 09:13:40 +00:00
Max Schaefer
aebc5bc6c3
JavaScript: Update qhelp example for CleartextStorage.
2019-02-08 08:43:22 +00:00
Max Schaefer
6389f32847
JavaScript: Update expected output for ExtractSinkSummaries query.
2019-02-08 08:43:22 +00:00
Esben Sparre Andreasen
5ad83360be
JS: move default parameter values to the DefUse graph
2019-02-07 11:41:36 +01:00
Esben Sparre Andreasen
65530c5edf
JS: add test for js/useless-comparison-test
2019-02-07 11:41:36 +01:00
Esben Sparre Andreasen
55fd948c24
JS: add test for js/trivial-conditional
2019-02-07 11:41:36 +01:00
semmle-qlci
b4b37b3a7b
Merge pull request #880 from esben-semmle/js/better-alert-message-1
...
Approved by xiemaisi
2019-02-07 08:01:21 +00:00
Esben Sparre Andreasen
235625d03a
Merge branch 'master' into js/vue-support-1
2019-02-06 16:57:16 +01:00
semmle-qlci
a2691b32b5
Merge pull request #851 from xiemaisi/js/post-message-star
...
Approved by esben-semmle
2019-02-06 09:57:04 +00:00
Esben Sparre Andreasen
a78dd422b6
JS: add query js/vue/arrow-method-on-vue-instance
2019-02-06 09:38:00 +01:00
Esben Sparre Andreasen
b72441f9c2
JS: use StringOps:: in js/incomplete-url-substring-sanitization
2019-02-05 15:17:55 +01:00
semmle-qlci
222738072d
Merge pull request #840 from esben-semmle/js/propagate-sound-avalue
...
Approved by xiemaisi
2019-02-01 09:23:43 +00:00
Max Schaefer
b87abc9602
JavaScript: Extend suspiciousCredentials predicate to recognise authKey and similar.
2019-01-31 09:03:23 +00:00
Max Schaefer
87e62f0bd5
JavaScript: Teach PostMessageStar to reason about partially tainted objects.
2019-01-31 08:59:47 +00:00
Max Schaefer
aeb8cc62b2
JavaScript: Reclassify PostMessageStar as CWE-201.
2019-01-31 08:08:52 +00:00
semmle-qlci
fc5b9dd55e
Merge pull request #837 from asger-semmle/hardcoded-empty-string
...
Approved by esben-semmle
2019-01-30 13:40:39 +00:00
Esben Sparre Andreasen
cfc53ade69
JS: add more tests for js/incomplete-url-substring-sanitization
2019-01-30 12:57:03 +01:00
Max Schaefer
769e407c24
JavaScript: Add new query PostMessageStar.
2019-01-30 10:26:43 +00:00
Esben Sparre Andreasen
0d1f4270d6
JS: introduce SsaVarAccessWithNonLocalAnalysis
2019-01-29 10:20:36 +01:00
Esben Sparre Andreasen
2683a9b43a
JS: add testss for js/trivial-conditional
2019-01-29 10:19:03 +01:00
semmle-qlci
a5aee9ed0f
Merge pull request #833 from esben-semmle/js/sharpen-cond
...
Approved by xiemaisi
2019-01-29 08:03:06 +00:00
Asger F
3245142203
JS: Dont flag empty string as hardcoded username
2019-01-28 13:01:52 +00:00
semmle-qlci
8b029a2d9f
Merge pull request #827 from xiemaisi/js/duplicate-toplevel-percent
...
Approved by esben-semmle
2019-01-28 08:40:23 +00:00
Esben Sparre Andreasen
ef3b107cc1
JS: sharpen the js/trivial-conditional whitelist
2019-01-25 18:19:45 +01:00
Max Schaefer
254fafc6ce
JavaScript: Round down percentage in DuplicateToplevel.ql.
...
All the other duplication queries already do this.
2019-01-25 22:44:07 +08:00
Max Schaefer
39191ed6f1
JavaScript: Add more statements to test cases for DuplicateToplevel.
...
Now both `a.js` and `b.js` have ten (non-block) statements, which allows for more interesting tests.
2019-01-25 22:42:51 +08:00
Max Schaefer
e6672aaf70
Merge pull request #804 from esben-semmle/js/sharpen-unneeded-defensive
...
JS: better handling of nested expressions in js/unneeded-defensive-code
2019-01-25 11:23:51 +08:00
Esben Sparre Andreasen
9e4613094a
JS: sharpen js/unneeded-defensive-code for negations and sequences
2019-01-21 09:00:35 +01:00