Esben Sparre Andreasen
fd429ce639
JS: whitelist delimiter unwrapping for js/incomplete-sanitization
2019-04-12 08:38:44 +02:00
Esben Sparre Andreasen
a0ed362310
JS: add test case for js/incomplete-sanitization
2019-04-12 08:37:47 +02:00
Asger F
aaa8bfb874
TS: allow namespace imports as types
2019-03-20 10:09:18 +00:00
Max Schaefer
77c383aee2
JavaScript: Simplify flow-summary queries.
...
Previously, `AllConfigurations.qll` would pull in (almost) all taint
tracking configurations, which has started causing OOMEs during
compilation.
I've pruned it down to only the most interesting configurations. Since
flow summaries are experimental at this point and require a bit of manual
configuration anyway, this shouldn't be much of an issue in practice.
2019-03-19 10:58:49 +00:00
semmle-qlci
4de297c964
Merge pull request #1072 from asger-semmle/prop-write-static-accessor
...
Approved by esben-semmle
2019-03-12 16:51:54 +00:00
Asger F
146909ba13
TS: fix missing this type in method declarations
2019-03-11 16:53:25 +00:00
Asger F
f632379c44
JS: whitelist accessors in DeadStoreOfProperty
2019-03-11 16:38:08 +00:00
Asger F
04a6692aed
JS: add test case
2019-03-11 09:44:59 +00:00
Max Schaefer
48c0949705
Merge pull request #1036 from asger-semmle/hide-implicit-ssa-defs
...
JS: Omit uninteresting nodes from path explanations
2019-03-06 13:30:11 +00:00
Jason Reed
8829fde86b
JS: Add test for zipslip basename sanitization.
2019-03-06 09:46:41 +00:00
Asger F
50a77ea843
JS: update test expectations
2019-03-06 08:41:03 +00:00
semmle-qlci
9a2a328243
Merge pull request #1025 from xiemaisi/js/fix-exports-assign
...
Approved by asger-semmle
2019-03-04 21:25:56 +00:00
Max Schaefer
3cabc12be3
JavaScript: Teach InvalidExport to never flag module.exports = exports = ... and similar.
...
This was previously flagged if `exports` wasn't used any further. While it's true that the assignment to `exports` is redundant in this case, the assignment is also flagged by DeadStorOfLocal, so there is no point in InvalidExport flagging it as well.
2019-03-04 09:53:37 +00:00
Max Schaefer
83e0f3bc8d
Merge pull request #946 from esben-semmle/js/captured-nodes-query-and-type-inference-1
...
JS: Captured Nodes, type inference + a query
2019-03-01 10:48:52 +00:00
Max Schaefer
8dcd8715b9
Merge pull request #889 from jcreedcmu/jcreed/tarslip
...
JavaScript: Add new query for ZipSlip (CWE-022).
2019-03-01 08:16:35 +00:00
Jason Reed
c5e57dacf8
JS: Actually use fileName in examples
2019-02-28 15:46:14 -05:00
Jason Reed
b0636dd410
JS: Better local flow through .pipe chaining
2019-02-28 15:45:33 -05:00
Jason Reed
23d37c7167
JS: Unbreak TaintedPath
2019-02-28 15:45:26 -05:00
Jason Reed
baa4f08259
JS: Add new query for ZipSlip (CWE-022)
2019-02-28 15:45:08 -05:00
Max Schaefer
2ecabad553
Merge pull request #1004 from asger-semmle/suffix-check-bug
...
JS: Recognize '+' in suffix check
2019-02-28 14:23:26 +00:00
Asger F
8e8085ea1f
JS: add test
2019-02-28 10:09:36 +00:00
semmle-qlci
6602b4dbda
Merge pull request #992 from xiemaisi/js/socket.io
...
Approved by asger-semmle
2019-02-27 18:43:40 +00:00
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