semmle-qlci
3397533045
Merge pull request #628 from xiemaisi/js/setUnsafeHTML
...
Approved by esben-semmle
2018-12-06 13:58:52 +00:00
Esben Sparre Andreasen
45b207c21b
JS: introduce models of three cookie libraries
2018-12-06 14:53:22 +01:00
Esben Sparre Andreasen
28b4a78430
JS: introduce DOM::PersistentWebStorage
2018-12-06 14:53:22 +01:00
Esben Sparre Andreasen
7fb752784a
JS: introduce persistent read/write pairs as a taint step
2018-12-06 10:36:10 +01:00
Max Schaefer
ef347b3870
JavaScript: Teach Xss query about WinJS HTML injection functions.
2018-12-06 09:13:21 +00:00
Aditya Sharad
3caf4e52a7
Merge rc/1.19 into next.
2018-12-04 12:39:41 +00:00
Esben Sparre Andreasen
679db191f5
JS: move shared conjunct up
2018-12-04 10:55:24 +01:00
Esben Sparre Andreasen
a342fa36c6
JS: support React getSnapshotBeforeUpdate
2018-12-04 10:48:35 +01:00
Esben Sparre Andreasen
67b1487384
JS: support React shouldComponentUpdate
2018-12-04 10:48:35 +01:00
Esben Sparre Andreasen
417dac7ad6
JS: support React getDerivedStateFromProps
2018-12-04 10:48:35 +01:00
Esben Sparre Andreasen
9ff3d2ef1f
JS: introduce ReactComponent::getStaticMethod
2018-12-04 10:48:35 +01:00
Esben Sparre Andreasen
104eafec2f
JS: cleanup for all HTTP::RouteHandlerCandidates
2018-12-03 10:13:08 +01:00
Esben Sparre Andreasen
a3bd072590
JS: add Hapi::RouteHandlerCandidate
2018-12-03 09:22:21 +01:00
Esben Sparre Andreasen
fd489271b7
JS: refactor Hapi::RouteSetup
2018-12-03 09:22:21 +01:00
Max Schaefer
dfcf767090
Merge pull request #440 from asger-semmle/range-analysis
...
JS: Range analysis for dead code detection
2018-11-30 15:01:34 +00:00
semmle-qlci
dbeb2dfa0e
Merge pull request #585 from xiemaisi/js/join-order-fiddling
...
Approved by esben-semmle
2018-11-30 14:59:53 +00:00
Max Schaefer
3ed40d5da1
Merge branch 'master' into range-analysis
2018-11-30 09:36:40 +00:00
Max Schaefer
dcad2a3431
JavaScript: Simplify an if condition.
...
By pulling this out of the condition we can avoid computing its negation for the `else` branch, which could previously lead to quite an enormous pipeline.
2018-11-30 09:32:31 +00:00
Jonas Jensen
9babb4366b
Merge remote-tracking branch 'upstream/master' into mergeback-20181130
2018-11-30 10:13:33 +01:00
semmle-qlci
adc15cad07
Merge pull request #574 from xiemaisi/js/avoid-materialisation
...
Approved by esben-semmle
2018-11-30 08:30:14 +00:00
Asger F
f85e30aa6c
Merge pull request #571 from xiemaisi/js/numeric-constant-interpreted-as-code
...
JavaScript: Add new query `HardcodedDataInterpretedAsCode`.
2018-11-29 17:07:48 +00:00
Asger F
d69e584cc2
JS: fix bug in foldedComparisonEdge
2018-11-29 11:22:15 +00:00
Asger F
2c51f86f1b
JS: avoid joining on =0
2018-11-29 11:22:14 +00:00
Asger F
76a69f4ff2
JS: address review comments
2018-11-29 11:22:14 +00:00
Asger F
f3020f776e
JS: avoid extending self-edges
2018-11-29 11:22:14 +00:00
Asger F
4a367d3fdb
JS: more efficient encoding of unary constraints
2018-11-29 11:22:14 +00:00
Asger F
2d6bf0aff3
JS: improve join ordering in extendedEdge
2018-11-29 11:22:14 +00:00
Asger F
84ea4cf1d1
JS: manually reorder extendedEdge and negativeEdge
2018-11-29 11:22:14 +00:00
Asger F
d813635f3e
JS: Restrict constraint generation to relevant nodes
2018-11-29 11:22:14 +00:00
Asger F
43df9538bf
JS: be conservative in presence of NaN comments
2018-11-29 11:22:14 +00:00
Asger F
feb8a8c4fd
JS: restrict bias to 30-bit range to avoid overflow
2018-11-29 11:22:14 +00:00
Asger F
20aa4e1f6d
JS: handle sharp inequalities directly
2018-11-29 11:22:14 +00:00
Asger F
9d8d953292
JS: perform widening when adding operands of very different magnitude
2018-11-29 11:22:14 +00:00
Asger F
6c53ad80c7
JS: add constant constraints in range analysis
2018-11-29 11:22:13 +00:00
Asger F
064b1099eb
JS: range analysis through phi nodes
2018-11-29 11:22:13 +00:00
Asger F
09ca6652fb
JS: Support return value of x++
2018-11-29 11:22:13 +00:00
Asger F
73cbdee691
JS: Compound assignments and update exprs in range analysis
2018-11-29 11:22:13 +00:00
Asger F
a374540c55
JS: Range analysis library
2018-11-29 11:22:13 +00:00
Max Schaefer
8637eaf100
JavaScript: Address review comments.
2018-11-29 10:48:44 +00:00
Max Schaefer
5f16406ad7
JavaScript: Add new query HardcodedDataInterpretedAsCode.
2018-11-29 09:52:31 +00:00
Max Schaefer
94a5722c2a
JavaScript: Model taint propagation through new Buffer and Buffer.from.
2018-11-29 09:52:31 +00:00
Max Schaefer
4091cf410d
JavaScript: Improve detection of require calls.
2018-11-29 09:52:31 +00:00
Max Schaefer
fb78e14db1
JavaScript: Add support for sanitising dynamic property accesses.
...
This generalises our previous handling of sanitisers operating on property accesses to support dynamic property accesses where the property name is an SSA variable by representing them as access paths.
2018-11-28 12:37:53 +00:00
Max Schaefer
9c98aaf4bd
JavaScript: Refactor a few predicates to avoid materialisations.
2018-11-28 10:51:29 +00:00
Max Schaefer
f1c538a97b
JavaScript: Restrict RemotePropertyInjection query to avoid double-reporting.
...
This query now only flags user-controlled property and header writes, method calls are handled by the new unsafe/unvalidated method call queries.
2018-11-28 08:16:31 +00:00
Max Schaefer
2889e07eb8
JavaScript: Add new query UnvalidatedDynamicMethodCall.
2018-11-28 08:16:31 +00:00
Aditya Sharad
5d5bfc215e
Merge rc/1.19 into next.
2018-11-27 12:04:46 +00:00
Max Schaefer
cf1e7cff3f
JavaScript: Move an auxiliary predicate into shared library.
2018-11-27 12:03:25 +00:00
Max Schaefer
8e54c7ab6c
Merge pull request #503 from asger-semmle/unsafe-global-object-access
...
JS: add method name injection query
2018-11-26 15:56:20 +00:00
Esben Sparre Andreasen
2d7f09d321
JS(ql): support nullish coalescing operators
2018-11-26 10:31:19 +01:00