Max Schaefer
6e3293e30f
Go: Add library overview.
2020-02-14 13:03:12 +00:00
Max Schaefer
7277ebe2cf
JavaScript: Sort lines in change notes.
2020-02-14 10:36:46 +00:00
Max Schaefer
46f8dda86b
JavaScript: Add model of http2 compatibility API.
...
Also deprecated the `httpOrHttps` predicate, which was now only used in one place and seemed a little pointless anyway.
2020-02-14 10:36:27 +00:00
semmle-qlci
d995d5a4a0
Merge pull request #2716 from esbena/js/additional-koa-requests
...
Approved by erik-krogh
2020-01-31 18:30:42 +00:00
Anders Schack-Mulligen
3b81c3b95c
Merge pull request #2651 from ggolawski/java-ldap-injection
...
Java LDAP Injection (CWE-90)
2020-01-31 16:43:52 +01:00
Geoffrey White
c24651c4f8
Merge pull request #2728 from alexet/remove-recursion
...
CPP: Avoid uncessary recursion in printf.qll
2020-01-31 15:38:25 +00:00
alexet
cd688367c7
CPP: Avoid uncessary recursion
2020-01-31 12:47:03 +00:00
Rasmus Wriedt Larsen
72fddaf5ed
Merge pull request #2733 from tausbn/python-add-stringvalue
...
Python: Extend `Value` API.
2020-01-31 13:12:14 +01:00
Taus Brock-Nannestad
ba2bbf1788
Python: Extend Value API.
...
Adds
- `StringValue` as a new class,
- `Value::booleanValue` which returns the boolean interpretation of the given
value, and
- `ClassValue::str` which returns the value of the `str` class, depending on the
Python version.
2020-01-31 12:33:02 +01:00
Max Schaefer
7855a0b657
Merge pull request #2732 from aschackmull/java/upgrades-qlpack
...
Java: Add qlpack.yml in upgrades.
2020-01-31 10:53:50 +00:00
Anders Schack-Mulligen
18a8c2b220
Java: Add qlpack.yml in upgrades.
2020-01-31 11:39:46 +01:00
semmle-qlci
f8d0b4e602
Merge pull request #2618 from erik-krogh/ExceptionalPromise
...
Approved by asgerf
2020-01-31 07:59:09 +00:00
yo-h
7ca7bdfc46
Merge pull request #2725 from aschackmull/java/sqlinjection-number-barrier
...
Java: Add java.lang.Number as a sanitizer for SQL injection.
2020-01-30 18:25:24 -05:00
yo-h
b542b08c95
Merge pull request #2726 from aschackmull/java/outputstream-write-taint
...
Java: Improve taint for OutputStream.write and InputStream.read.
2020-01-30 18:24:00 -05:00
yo-h
563be9f817
Merge pull request #2719 from aschackmull/java/deprecate-parexpr
...
Java: Deprecate ParExpr
2020-01-30 18:23:13 -05:00
Grzegorz Golawski
3fd8d9eb5c
Rename CWE-90 into CWE-090
2020-01-30 22:33:20 +01:00
Grzegorz Golawski
db55ec250a
Rename CWE-90 to CWE-090
2020-01-30 22:32:36 +01:00
ggolawski
d065ebddde
Merge pull request #3 from aschackmull/java/pr-2651-unittest
...
Java: Add unit test for ldap injection.
2020-01-30 22:23:20 +01:00
Robert Marsh
209a30688a
Merge pull request #2718 from jbj/DefaultTaintTracking-isUserInput
...
C++: Fix mapping of sources from Expr to Node
2020-01-30 16:22:48 -05:00
Robert Marsh
b2a87f64eb
Merge pull request #2696 from dbartol/dbartol/Indirections
...
C++/C#: Alias analysis of indirect parameters
2020-01-30 11:43:26 -05:00
Anders Schack-Mulligen
2a0a568cbb
Java: Remove duplicate class.
2020-01-30 17:04:35 +01:00
yo-h
dd517a433a
Merge pull request #2671 from aschackmull/java/null-flow
...
Java: Allow null literals as sources in data flow.
2020-01-30 09:47:46 -05:00
Taus
b89273402d
Merge pull request #2701 from RasmusWL/python-modernise-metrics
...
Python: modernise import related queries
2020-01-30 14:37:39 +01:00
Anders Schack-Mulligen
9bea581a23
Java: Improve taint for OutputStream.write and InputStream.read.
2020-01-30 14:29:56 +01:00
semmle-qlci
3158b8401a
Merge pull request #2705 from erik-krogh/CVE75
...
Approved by asgerf
2020-01-30 13:07:05 +00:00
semmle-qlci
120b50f497
Merge pull request #2708 from asger-semmle/js/react-flow-through-imports
...
Approved by esbena
2020-01-30 13:05:07 +00:00
Anders Schack-Mulligen
a167577551
Java: Add java.lang.Number as a sanitizer for SQL injection.
2020-01-30 12:01:36 +01:00
Jonas Jensen
d0ac846cac
Merge pull request #2721 from aschackmull/java/taintgetter-changenote
...
Java/C++/C#: Add change note for taint-getters.
2020-01-30 11:42:37 +01:00
Jonas Jensen
148e87c61d
C++: Put AliasedSSA.qll in new qlformat style
2020-01-30 11:38:16 +01:00
Anders Schack-Mulligen
ea3d7b1b2f
Java: Adjust stubs and unit test.
2020-01-30 11:27:33 +01:00
Anders Schack-Mulligen
d8b842298c
Java: Autoformat.
2020-01-30 10:54:54 +01:00
Anders Schack-Mulligen
843fd37c75
Java: Add change note.
2020-01-30 10:52:16 +01:00
Anders Schack-Mulligen
75c549baa1
Java: Deprecate ParExpr.
2020-01-30 10:52:16 +01:00
Anders Schack-Mulligen
b7a8d0e903
Apply suggestions from code review
...
Co-Authored-By: Jonas Jensen <jbj@github.com >
2020-01-30 10:41:13 +01:00
Jonas Jensen
f0f752844e
Merge remote-tracking branch 'upstream/master' into dbartol/Indirections
...
Conflicts:
cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/AliasedSSA.qll
csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/internal/AliasAnalysis.qll
2020-01-30 10:26:44 +01:00
Jonas Jensen
c4d2163321
Merge pull request #2673 from aschackmull/ql/autoformat-comparisonterm
...
Java/C++/C#: Autoformat comparison terms
2020-01-30 08:47:50 +01:00
Dave Bartolomeo
790cbf0d6b
C#: Fix bad merge
2020-01-29 17:32:15 -07:00
Dave Bartolomeo
6249446ba0
Merge remote-tracking branch 'upstream/master' into dbartol/Indirections
2020-01-29 17:29:44 -07:00
Dave Bartolomeo
46c414b53f
C++: Document regular expressions in InlineExpectationsTest
2020-01-29 13:24:55 -07:00
Dave Bartolomeo
1277881294
C++: Document InlineExpectationsTest
2020-01-29 13:07:34 -07:00
Esben Sparre Andreasen
31743c42e5
Update javascript/ql/src/semmle/javascript/frameworks/Koa.qll
...
Co-Authored-By: Erik Krogh Kristensen <erik-krogh@github.com >
2020-01-29 20:28:29 +01:00
ggolawski
ebd2b932e8
Update java/ql/src/Security/CWE/CWE-90/LdapInjection.qhelp
...
Co-Authored-By: Felicity Chapman <felicitymay@github.com >
2020-01-29 20:05:20 +01:00
Robert Marsh
37570c7750
Merge pull request #2676 from jbj/dataflow-partial-chi
...
C++: data flow through partial chi operands where type is known
2020-01-29 13:44:06 -05:00
Jonas Jensen
52d2bebd1c
C++: Taint through most partial chi operands
...
This changes the flow to be taint rather than data flow, and it extends
it to include chi instructions with unknown type as long as they're not
for the `AliasedVirtualVariable`.
We're losing three good test results because these tests are not
affected by `DefaultTaintTracking.qll`. The taint step added here can
later be ported to `TaintTrackingUtil.qll` to recover these results, but
we probably want a better API than transitive-closure search through
instructions before doing that.
2020-01-29 18:02:03 +01:00
Geoffrey White
f673791fe8
Merge pull request #2717 from jbj/DefaultTaintTracking-memcpy
...
C++: Add taint from gets through memcpy
2020-01-29 16:28:45 +00:00
Mathias Vorreiter Pedersen
bbb0e212e3
Merge pull request #2720 from jbj/taint-diff-import
...
C++: Always use the old library for the diff test
2020-01-29 17:20:31 +01:00
Anders Schack-Mulligen
2039ec37e5
Java/C++/C#: Add change note for taint-getters.
2020-01-29 16:26:23 +01:00
Tom Hvitved
474815bf57
Merge pull request #2660 from calumgrant/cs/release-notes
...
C#: Add release notes and precisions to queries
2020-01-29 16:05:45 +01:00
Jonas Jensen
0436caecdc
C++: Always use the old library for the diff test
...
This change ensures that the diff test will show the difference between
the old and the new library even after we switch the default
implementation of `security.TaintTracking` to be the new one.
2020-01-29 16:03:35 +01:00
Jonas Jensen
9b651ea92c
C++: Fix mapping of sources from Expr to Node
...
The code contained the remains of how `isUserInput` in `Security.qll`
used to be ported to IR. It's wrong to use that port since many queries
call `userInput` directly to get the "cause" string.
2020-01-29 15:50:08 +01:00
Jonas Jensen
7bed6ad63b
C++: Add taint from gets through memcpy
2020-01-29 15:42:43 +01:00
Esben Sparre Andreasen
a6d3afd817
JS: support additional Koa request sources
2020-01-29 14:49:01 +01:00
Esben Sparre Andreasen
d4d910b681
JS: add koa test
2020-01-29 14:41:23 +01:00
Jonas Jensen
d7e8ea7cc5
Merge pull request #2641 from marcrepo/master
...
Documentation update for Issue #2623
2020-01-29 13:37:00 +01:00
Jonas Jensen
386e8e87d1
Merge pull request #2645 from geoffw0/typo
...
CPP: Fix typo.
2020-01-29 13:35:55 +01:00
Anders Schack-Mulligen
743b612d0d
Javascript/Python: Sync XML.qll
2020-01-29 13:31:25 +01:00
Anders Schack-Mulligen
0d4b2e4bf7
C#/C++: Autoformat post rebase.
2020-01-29 13:16:46 +01:00
Anders Schack-Mulligen
726a873c3e
C#: Autoformat.
2020-01-29 13:15:00 +01:00
Anders Schack-Mulligen
96e4a57edd
C++: Autoformat.
2020-01-29 13:11:50 +01:00
Jonas Jensen
02cb8e9cc7
Merge remote-tracking branch 'upstream/master' into dataflow-partial-chi
...
Conflicts:
cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/tainted.expected
2020-01-29 13:03:40 +01:00
Calum Grant
c0379cc3f1
C#: Address review comment: an SQL
2020-01-29 11:46:28 +00:00
Calum Grant
aff0a7534c
Update change-notes/1.24/analysis-csharp.md
...
Fix indentation
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2020-01-29 11:44:17 +00:00
Anders Schack-Mulligen
9b7a728609
Java: Autoformat.
2020-01-29 12:16:25 +01:00
semmle-qlci
fb90c2ba52
Merge pull request #2681 from asger-semmle/csrf-only-session-cookie-access
...
Approved by erik-krogh, max-schaefer
2020-01-29 10:46:48 +00:00
Anders Schack-Mulligen
9391058363
Java: Add unit test for ldap injection.
2020-01-29 11:37:33 +01:00
Jonas Jensen
27b5902258
Merge pull request #2707 from geoffw0/taint-format
...
C++: Add TaintFunction model to FormattingFunction
2020-01-29 08:20:34 +01:00
Grzegorz Golawski
bbcfbd7a28
Apply suggestion from code review
2020-01-28 22:34:01 +01:00
Robert Marsh
9504da54d1
Merge pull request #2713 from MathiasVP/dynamic-cast-taint-propagation
...
C++: Taint propagation through dynamic_cast
2020-01-28 15:09:49 -05:00
Dave Bartolomeo
60a0eff4d7
Merge remote-tracking branch 'upstream/master' into dbartol/Indirections
2020-01-28 12:06:43 -07:00
yo-h
97069a7988
Merge pull request #2683 from aschackmull/java/lshift32
...
Java: Add new query for large left shifts and bugfix ConstantExpAppearsNonConstant.
2020-01-28 13:30:26 -05:00
Dave Bartolomeo
542579de7f
C++: Accept dataflow test changes due to new alias analysis
2020-01-28 10:58:27 -07:00
Dave Bartolomeo
dda32359fa
C++: Accept IR dump test results changes due to new alias analysis
2020-01-28 10:58:05 -07:00
Dave Bartolomeo
7013bc6bf4
C++: Update escape analysis tests to new API
2020-01-28 10:57:07 -07:00
Dave Bartolomeo
bb9485d548
C++: Update points_to tests to use new framework
2020-01-28 10:56:49 -07:00
Dave Bartolomeo
af9d90cf46
C++: New test framework that allows expected results as comments in source code
2020-01-28 10:56:13 -07:00
Dave Bartolomeo
d12b140921
C++/C#: Update shared file list
2020-01-28 10:55:38 -07:00
Dave Bartolomeo
976b564b68
C++: Update AliasedSSA to use Allocation instead of IRVariable
...
This introduces a new type of `MemoryLocation`: `EntireAllocationMemoryLocation`, representing an entire contiguous allocation whose size is not known. This is used to model the memory accesses on `InitializeIndirection` and `ReturnIndirection`.
2020-01-28 10:55:24 -07:00
Dave Bartolomeo
165a45d9b5
C++/C#: Update SimpleSSA to use Allocation instead of IRVariable
2020-01-28 10:53:18 -07:00
Dave Bartolomeo
1bbc875442
C++/C#: Parameterize alias analysis based on AliasConfiguration
...
Instead of tracking `IRVariable`s directly, alias analysis now tracks instances of the `Allocation` type provided by its `Configuration` parameter. For unaliased SSA, an `Allocation` is just an `IRAutomaticVariable`. For aliased SSA, an `Allocation` is either an `IRVariable` or the memory pointed to by an indirect parameter.
2020-01-28 10:51:21 -07:00
Dave Bartolomeo
b15dd82732
C++/C#: Share alias analysis between C++ and C#
2020-01-28 10:47:37 -07:00
Dave Bartolomeo
1b1fded535
C++/C#: Add new MemoryAccessKind to represent entire allocation
2020-01-28 10:41:53 -07:00
Mathias Vorreiter Pedersen
67d29e31cc
C#: Sync identical files
2020-01-28 17:52:45 +01:00
Mathias Vorreiter Pedersen
c1091a03d0
C++: Accept output
2020-01-28 17:38:35 +01:00
Mathias Vorreiter Pedersen
46ce228bce
C++: Add instruction for CheckedConvertOrNull and handle it in alias analysis and data flow
2020-01-28 17:36:17 +01:00
Mathias Vorreiter Pedersen
928b0c50d2
C++: Add test demonstrating false negative when using dynamic_cast
2020-01-28 17:31:53 +01:00
Geoffrey White
fc1816cbd7
C++: Update change note.
2020-01-28 14:53:18 +00:00
Geoffrey White
f02ffcbbd2
C++: Modify ParameterIndex to account for varargs.
2020-01-28 14:53:18 +00:00
Geoffrey White
d66f608d41
C++: Taint from FormattingFunction varargs.
2020-01-28 14:53:18 +00:00
Geoffrey White
8b215c155e
C++: Correct a few test comments.
2020-01-28 14:51:46 +00:00
Geoffrey White
b1f66ae825
C++: Fix warnings.
2020-01-28 14:51:46 +00:00
yo-h
95d138bf00
Merge pull request #2659 from aschackmull/java/remove-parexpr
...
Java: Update dbscheme for ParExpr removal.
2020-01-28 09:50:06 -05:00
Erik Krogh Kristensen
aea365c424
adjust API naming
2020-01-28 15:09:31 +01:00
Jonas Jensen
24a50fceef
Merge pull request #2709 from MathiasVP/ql-tests-taint-tracking-fixup
...
C++: Fix annotations in testcase file
2020-01-28 14:52:55 +01:00
Erik Krogh Kristensen
cb16116b4d
adjust type-tracking on custom EventEmitters
2020-01-28 14:00:26 +01:00
Mathias Vorreiter Pedersen
287af2bdec
C++: Fix annotations in testcase file
2020-01-28 13:51:36 +01:00
Asger F
701d9989be
Apply suggestions from code review
...
Co-Authored-By: Erik Krogh Kristensen <erik-krogh@github.com >
2020-01-28 12:46:51 +00:00
Asger F
310dd05185
Update javascript/ql/src/Security/CWE-352/MissingCsrfMiddleware.ql
...
Co-Authored-By: Erik Krogh Kristensen <erik-krogh@github.com >
2020-01-28 12:46:34 +00:00
Geoffrey White
01dc3661b7
C++: Autoformat.
2020-01-28 12:17:56 +00:00
semmle-qlci
5ab6457370
Merge pull request #2699 from asger-semmle/js/callback-doc-typo
...
Approved by max-schaefer
2020-01-28 11:00:49 +00:00
Jonas Jensen
23030aa324
Merge pull request #2706 from MathiasVP/ql-tests-taint-tracking
...
Ql tests for virtual dispatch taint tracking
2020-01-28 11:56:10 +01:00
Asger Feldthaus
b306571d52
JS: Type-track react component factories
2020-01-28 10:22:04 +00:00
Mathias Vorreiter Pedersen
611d9553dd
C++: Fix formatting
2020-01-28 10:22:33 +01:00
Anders Schack-Mulligen
0b3c90b526
Java: Fix whitespace query.
2020-01-28 10:15:48 +01:00
Anders Schack-Mulligen
34e6679afd
Java: Add upgrade script.
2020-01-28 10:15:48 +01:00
Anders Schack-Mulligen
f8805ebb24
Java: Update 2 queries.
2020-01-28 10:15:48 +01:00
Anders Schack-Mulligen
4bd332ddca
Java: Add Expr.isParenthesized, adjust VarAccess.toString, and fix tests.
2020-01-28 10:15:48 +01:00
Anders Schack-Mulligen
597d8e7d94
Java: Update dbscheme for ParExpr removal.
2020-01-28 10:15:48 +01:00
Anders Schack-Mulligen
dc7e8ad2ff
Java: Reword help according to review comment.
2020-01-28 10:13:35 +01:00
Anders Schack-Mulligen
a99a6f79cd
Apply suggestions from code review
...
Co-Authored-By: Felicity Chapman <felicitymay@github.com >
2020-01-28 10:13:35 +01:00
Anders Schack-Mulligen
4cb28d9b1d
Java: Add new query for large left shifts and bugfix ConstantExpAppearsNonConstant.
2020-01-28 10:13:34 +01:00
Mathias Vorreiter Pedersen
130911ad44
C++: Accept new output in already existing test
2020-01-28 10:00:52 +01:00
Mathias Vorreiter Pedersen
fd79e7991d
C++: Add tests demonstrating differences between AST virtual dispatch analysis and IR virtual dispatch analysis
2020-01-28 10:00:21 +01:00
Geoffrey White
1ddabee1b8
C++: Change note.
2020-01-28 08:46:46 +00:00
Geoffrey White
30580e97dc
C++: Add a TaintFunction model to FormattingFunction.
2020-01-28 08:46:46 +00:00
Geoffrey White
1d46971bb7
C++: Add an ArrayFunction model to FormattingFunction.
2020-01-28 08:46:46 +00:00
Geoffrey White
06f5720cd5
C++: Add taint tests of formatting functions.
2020-01-28 08:46:46 +00:00
Erik Krogh Kristensen
082967a629
add EventEmitter models for net.createServer() and respjs.
2020-01-28 09:38:38 +01:00
Erik Krogh Kristensen
a2e54b1477
add support for this references in classes that extend EventEmitter
2020-01-28 09:37:54 +01:00
yo-h
8c00671f24
Merge pull request #2698 from aschackmull/java/changenote-csrf-query
...
Java: Add change note for java/spring-disabled-csrf-protection.
2020-01-27 21:09:15 -05:00
Robert Marsh
a9bcc1dcc6
Merge pull request #2667 from dbartol/dbartol/NoEscape
...
C++/C#: Make escape analysis unsound by default
2020-01-27 19:17:33 -05:00
Robert Marsh
c7975e83a7
Merge pull request #2657 from jbj/DefaultTaintTracking-models
...
C++: wire up models library to DefaultTaintTracking
2020-01-27 17:41:54 -05:00
Grzegorz Golawski
7b2192d2e3
Apply suggestion from code review
2020-01-27 22:34:15 +01:00
ggolawski
408c49a61c
Apply suggestions from code review
...
Co-Authored-By: Felicity Chapman <felicitymay@github.com >
2020-01-27 22:31:51 +01:00
Dave Bartolomeo
7df3cf4c23
C++: Accept more test output after merge
2020-01-27 13:48:43 -07:00
Dave Bartolomeo
3b3502060b
Merge remote-tracking branch 'upstream/master' into dbartol/NoEscape
2020-01-27 13:29:18 -07:00
Robert Marsh
79a72a3496
Merge pull request #2680 from geoffw0/modelstrndup
...
CPP: Model strndup.
2020-01-27 15:19:52 -05:00
Dave Bartolomeo
40952f85a9
C++: Accept test diffs
2020-01-27 10:31:18 -07:00
Robert Marsh
4d743d2bce
Merge pull request #2692 from jbj/pure-string-read
...
C++: Model that string functions read their buffer
2020-01-27 11:40:03 -05:00
Anders Schack-Mulligen
3745388069
Merge pull request #2602 from chrisgavin/suspicious-date-format
...
Java: Add a query for suspicious date format patterns.
2020-01-27 16:29:48 +01:00
Rasmus Wriedt Larsen
d67577e66c
Python: Modernise import related queries
...
Except for Metrics/Dependencies/ExternalDependenciesSourceLinks.ql, since it is
rather tricky :D
2020-01-27 16:01:25 +01:00
Rasmus Wriedt Larsen
647b9cdcb0
Python: Autoformat query
2020-01-27 16:01:24 +01:00
Geoffrey White
4778914154
CPP: Repair flow.
2020-01-27 14:08:03 +00:00
Geoffrey White
d9f6895602
CPP: 'sometimes copying' is considered data flow.
2020-01-27 14:07:39 +00:00
Jonas Jensen
0e3ed2dfa6
C++: Remove test for unrelated issue
...
The issue for that test is being tested and fixed on PR #2686 . Adding a
test here will cause a semantic merge conflict.
2020-01-27 14:25:28 +01:00
Asger Feldthaus
3d567eb889
JS: Close an unterminated code block
2020-01-27 12:03:58 +00:00
Chris Gavin
484333b192
Java: Update help and description of java/suspicious-date-format.
2020-01-27 11:57:59 +00:00
Chris Gavin
0e8d435ca1
Java: Add a test for java/suspicious-date-format.
2020-01-27 11:57:59 +00:00
Chris Gavin
708890add3
Java: Add a change note for java/suspicious-date-format.
2020-01-27 11:57:56 +00:00
Chris Gavin
88146295f9
Java: Add a query for suspicious date format patterns.
2020-01-27 11:57:18 +00:00
Anders Schack-Mulligen
efe8981129
Java: Add change note for java/spring-disabled-csrf-protection.
2020-01-27 11:33:31 +01:00
Anders Schack-Mulligen
816a8d1f9e
Merge pull request #2586 from ggolawski/spring_disable_csrf
...
Add check for disabled CSRF protection in Spring
2020-01-27 11:32:39 +01:00
Geoffrey White
2c7e2c4506
CPP: Not in std namespace.
2020-01-27 10:20:56 +00:00
Rasmus Wriedt Larsen
1ce77ff600
Merge pull request #2507 from tausbn/python-fix-infinite-tuple-tostring
...
Python: Fix divergence in tuple `toString`.
2020-01-27 11:14:44 +01:00
semmle-qlci
8a6de11268
Merge pull request #2689 from erik-krogh/LastEventEmitters
...
Approved by esbena
2020-01-27 08:55:33 +00:00
semmle-qlci
7d9956e3f3
Merge pull request #2675 from erik-krogh/WebSocket
...
Approved by esbena
2020-01-27 08:40:37 +00:00
Dave Bartolomeo
6988241b09
Merge from master
2020-01-26 16:38:48 -07:00
Dave Bartolomeo
708e83546f
C++: Remove acceidentally added tests
2020-01-26 16:20:27 -07:00
Jonas Jensen
fb6ad5274f
C++: Accept test changes
2020-01-24 22:28:20 +01:00
Robert Marsh
0180672dc0
Merge pull request #2687 from jbj/DefaultTaintTracking-asExpr
...
C++: Use asExpr, not getConvertedResultExpression
2020-01-24 15:42:58 -05:00
Taus Brock-Nannestad
3cebffe820
Python: Fix divergence in tuple toString.
...
Our definition of `toString` for the internal tuple objects we create during the
points-to analysis may have been a _tad_ too ambitious. In particular, it can
easily lead to non-termination, e.g. using the following piece of code:
```python
x = ()
while True:
x = (x, x)
```
This commit cuts off the infinite recursion by replacing _nested_ tuples with
the string "...". In particular this means even non-recursive tuples will be cut
off at that point, so that the following tuples
```python
(1, "2")
((3, 4), [5, 6])
(1, 2, 3, 4, 5)
```
Get the following string representations.
```
"(int 1, '2', )"
"(..., List, )"
"(int 1, int 2, int 3, 2 more...)"
```
2020-01-24 17:08:56 +01:00
Mathias Vorreiter Pedersen
d26cf12c3a
Merge pull request #2688 from geoffw0/move-taint-test
...
C++: Add the security taint test (previously internal).
2020-01-24 15:58:20 +01:00
Jonas Jensen
b290c7b47a
C++: Model that string functions read their buffer
2020-01-24 15:53:38 +01:00
semmle-qlci
b3eada829a
Merge pull request #2690 from erik-krogh/MoreEvents2
...
Approved by asgerf
2020-01-24 14:47:04 +00:00
Taus
5a2dfd40af
Merge pull request #2639 from RasmusWL/python-improve-dict-taint
...
Python: Improve tests for tainted collections
2020-01-24 15:06:01 +01:00
Erik Krogh Kristensen
8492f6031f
reuse existing type-tracking for classes
2020-01-24 13:36:32 +01:00
Anders Schack-Mulligen
98d527c44c
Merge pull request #2685 from esbena/java/sharpen-maven-non-ssl
...
java: sharpen java/maven/non-https-url to allow localhost URLs
2020-01-24 13:19:26 +01:00
Erik Krogh Kristensen
0b55aed626
use the EventEmitter registration methods instead of just "on"
2020-01-24 13:06:00 +01:00
Erik Krogh Kristensen
148ec9aad0
fix typos
...
Co-Authored-By: Esben Sparre Andreasen <esbena@github.com >
2020-01-24 12:36:03 +01:00
Geoffrey White
af903fc30c
C++: Add the security taint test (previously internal).
2020-01-24 11:28:51 +00:00
Jonas Jensen
ee0648bb57
Merge pull request #2684 from geoffw0/rearrange-tests
...
CPP: Test cleanup
2020-01-24 11:57:58 +01:00
Esben Sparre Andreasen
8deefd60a7
java: fixup whitespace/tabs in test
2020-01-24 11:01:38 +01:00
Jonas Jensen
6606b2e18a
C++: autoformat fixup
2020-01-24 10:48:03 +01:00
Asger Feldthaus
b98db62e82
JS: Recognize req.user a cookie access
2020-01-24 09:44:20 +00:00
Geoffrey White
912260b3aa
C++: Autoformat tests.
2020-01-24 09:43:58 +00:00
Rasmus Wriedt Larsen
5778764a48
Python: Stop using deprecated getName in collections taint test
2020-01-24 10:32:17 +01:00
Rasmus Wriedt Larsen
3db551d6bc
Python: Use variables in collection-taint test
...
They are not tainted in assignment, only in use.
I also adopted an attempt at a better test-setup, where it's easy to see if
everything is the way you hoped for, instead of browsing through 100 of lines of
taint-step output :P
2020-01-24 10:32:17 +01:00
Erik Krogh Kristensen
c0af3780c4
adjust the ReceiveNode docstrings
2020-01-24 10:06:28 +01:00
Jonas Jensen
5eeb5c6e67
C++: Use asExpr, not getConvertedResultExpression
...
We designed the IR's `DataFlow::Node.asExpr` very carefully so that it's
suitable for taint tracking, but then we didn't use it in
`DefaultTaintTracking.qll`. This meant that the sources in
`ArithmeticWithExtremeValues.ql` didn't get associated with any
`Instruction` and thus didn't propagate anywhere.
With this commit, the mapping of `Expr`-based sources to IR data-flow
nodes uses `asExpr`.
2020-01-24 09:42:26 +01:00
Tom Hvitved
cfbdf21d1b
Merge pull request #2682 from calumgrant/cs/format-trap-floats
...
C#: Fix outputting floats to the trap file
2020-01-24 09:13:18 +01:00
Esben Sparre Andreasen
57b3a55b48
java: sharpen java/maven/non-https-url to allow localhost URLs
2020-01-24 08:51:54 +01:00
Esben Sparre Andreasen
a5558809f4
java: add more tests for java/maven/non-https-url
2020-01-24 08:49:59 +01:00
Grzegorz Golawski
968c18d208
Query to detect LDAP injections in Java
...
Refactoring according to review comments.
2020-01-23 22:51:10 +01:00
Erik Krogh Kristensen
2044b4bc82
changes based on review
2020-01-23 20:29:06 +01:00
yo-h
eb6f8da080
Merge pull request #2679 from aschackmull/java/remove-depr-flow-fwd-back
...
Java/C++/C#: Remove the deprecated hasFlowForward/hasFlowBackward.
2020-01-23 14:10:28 -05:00
yo-h
50320c7828
Merge pull request #2628 from aschackmull/java/no-adhoc-testclass
...
Java: Replace ad-hoc TestClass detection.
2020-01-23 14:09:11 -05:00
Geoffrey White
795afa8160
CPP: Better location for the StackVariableReachability test.
2020-01-23 17:32:07 +00:00
Geoffrey White
b693ef51e2
C++: Put a little bit of content in the StackVariableReachability test.
2020-01-23 17:25:26 +00:00
Geoffrey White
f16870f8c6
CPP: Autoformat.
2020-01-23 16:20:18 +00:00
Calum Grant
35bc78d666
C#: Fix outputting floats to the trap file. In some locales, the extractor output invalid floating point values to the trap file.
2020-01-23 15:43:25 +00:00
Asger Feldthaus
a68bb9ffd1
JS: Ignore calls and csrf/captcha access
2020-01-23 15:32:05 +00:00
Asger Feldthaus
b1ec3e1bf2
JS: Add test and dont check predecessors
2020-01-23 14:59:03 +00:00
Jonas Jensen
33070cc16d
Merge pull request #2678 from MathiasVP/union-access-global-virtual-dispatch
...
C++: IR virtual dispatch through union field access
2020-01-23 15:32:31 +01:00
Asger Feldthaus
406c6eb981
JS: Sharpen missing CSRF middleware query
2020-01-23 14:22:49 +00:00
Geoffrey White
edf2b54813
CPP: Model strndup.
2020-01-23 13:46:57 +00:00
Anders Schack-Mulligen
e7f7c7370a
Java/C++/C#: Remove the deprecated hasFlowForward/hasFlowBackward.
2020-01-23 14:05:18 +01:00
Taus
0627fadbff
Merge pull request #2669 from RasmusWL/python-modernise-resources
...
Python: modernise Resources/ queries
2020-01-23 13:43:33 +01:00
Taus
618a35bb7c
Merge pull request #2664 from RasmusWL/python-fix-redirect-example
...
Python: Remove unused variable in example for py/url-redirection
2020-01-23 13:42:00 +01:00
Taus
d06e86f54d
Merge pull request #2662 from RasmusWL/python-taint-on-eq-test
...
Python: Only clear taint on constant comparison in if
2020-01-23 13:41:40 +01:00
Taus
ef7eafa849
Merge pull request #2644 from RasmusWL/python-add-deprecated-keyword
...
Python: Add deprecated keyword to deprecated functions
2020-01-23 13:41:15 +01:00
Mathias Vorreiter Pedersen
5fd1c6fedb
C++: Remove parameter from predicate for some tiny performance benefits
2020-01-23 13:29:48 +01:00
Jonas Jensen
8a0089a875
Merge pull request #2672 from geoffw0/qualifierflow
...
CPP: Support taint flow in and out of qualifiers
2020-01-23 13:17:17 +01:00
Anders Schack-Mulligen
0bbe571064
Update change-notes/1.24/analysis-java.md
...
Co-Authored-By: Felicity Chapman <felicitymay@github.com >
2020-01-23 13:13:51 +01:00
Geoffrey White
166be063a9
C++: Rename test of the now un-deprecated StackVariableReachability.
2020-01-23 11:06:24 +00:00
Geoffrey White
0c4eabca98
C++: Merge two tests of UnusedStaticFunctions from the library-tests into the existing test in query-test.
2020-01-23 11:05:47 +00:00
Geoffrey White
f40a37cae2
C++: Move a test from library-tests to query-tests.
2020-01-23 11:05:47 +00:00
Geoffrey White
fcdb20d1fc
C++: Move the SuspiciousCallToStrncat test to the expected location.
2020-01-23 11:05:46 +00:00
Geoffrey White
f4f0f6d93e
C++: Merge the StrncpyFlippedArgs tests.
2020-01-23 11:05:46 +00:00
Geoffrey White
3aa66f5aca
C++: Merge the OverflowStatic tests.
2020-01-23 11:05:46 +00:00
Rasmus Wriedt Larsen
95f78e74d0
Merge pull request #2674 from tausbn/python-modernise-web-libraries
...
Python: Modernise remaining web libraries.
2020-01-23 12:01:02 +01:00
Geoffrey White
6743d6d6e5
C#: sync-indentical-files.
2020-01-23 10:22:36 +00:00
Anders Schack-Mulligen
fd141917c7
Java: Add change note.
2020-01-23 11:08:35 +01:00
Geoffrey White
ccf268d048
CPP: Autoformat.
2020-01-23 10:07:21 +00:00
Tom Hvitved
7e042da4f5
Merge pull request #2665 from calumgrant/cs/zipslip-alert
...
C#: ZipSlip query reports alert at source
2020-01-23 11:05:57 +01:00
Mathias Vorreiter Pedersen
77531294bf
C++: Accepted output on tests
2020-01-23 10:20:10 +01:00
Mathias Vorreiter Pedersen
9412ec7f4f
C++: Added union field flow for globals
2020-01-23 10:17:36 +01:00
Mathias Vorreiter Pedersen
256ae2fda6
C++: Add test demonstrating a flow not detected
2020-01-23 10:16:24 +01:00
Jonas Jensen
ceeb9ab718
Merge pull request #2622 from MathiasVP/implicit-function-declaration
...
C++: Add 'implicit function declaration' query
2020-01-23 09:23:44 +01:00
yo-h
9d70358ec4
Merge pull request #2640 from aschackmull/java/nullness-fp-tests
...
Java: Document two FPs with unit tests.
2020-01-22 16:28:30 -05:00
yo-h
9a939534c7
Merge pull request #2670 from aschackmull/java/remove-parityanalysis
...
Java: Remove the deprecated ParityAnalysis.
2020-01-22 16:22:34 -05:00
Grzegorz Golawski
bed6a9886f
Query to detect LDAP injections in Java
...
Autoformat
2020-01-22 21:42:47 +01:00
Grzegorz Golawski
5596944926
Add check for disabled CSRF protection in Spring
...
Fix help and correct formatting.
2020-01-22 21:27:34 +01:00
James Fletcher
f1749b3990
Merge pull request #2654 from calumgrant/cs/null-dereference
...
C#: Improvements to cs/dereferenced-value-may-be-null
2020-01-22 20:15:20 +00:00
Geoffrey White
1867d58034
CPP: Allow flow to return value.
2020-01-22 16:25:40 +00:00
Geoffrey White
704bfe7184
CPP: Support taint flow from qualifiers.
2020-01-22 16:22:29 +00:00
Geoffrey White
e6daf3b7ee
CPP: Support taint flow to qualifiers.
2020-01-22 16:16:31 +00:00
Jonas Jensen
7376daf16e
C++: Some data flow through partial chi operands
2020-01-22 17:14:32 +01:00
Geoffrey White
974994ed49
CPP: Slight rearrange.
2020-01-22 16:11:51 +00:00
Geoffrey White
1a6f7febe7
CPP: Add tests of taint through qualifiers.
2020-01-22 16:11:13 +00:00
Jonas Jensen
adc557fd66
C++: Reformat a predicate
...
This allows adding a multi-line case without the auto-formatting changes
becoming too disruptive.
2020-01-22 16:50:25 +01:00
Jonas Jensen
3827411095
Merge branch 'dbartol/NoEscape' into HEAD
2020-01-22 16:21:24 +01:00
Taus Brock-Nannestad
0924a973de
Python: Modernise remaining web libraries.
2020-01-22 15:27:29 +01:00
Calum Grant
a868456628
C#: Address review comments
2020-01-22 14:21:12 +00:00
Erik Krogh Kristensen
6345e9bde1
add change note
2020-01-22 15:14:10 +01:00
Erik Krogh Kristensen
b526a2ea0f
implement a model of WebSocket and ws based on the EventEmitter model
2020-01-22 14:46:53 +01:00
semmle-qlci
007b0795ec
Merge pull request #2636 from erik-krogh/NewSocketIO
...
Approved by esbena
2020-01-22 13:46:11 +00:00
Rasmus Wriedt Larsen
772538ff46
Python: Move tests of collection-taint to own dir
2020-01-22 14:24:50 +01:00
Rasmus Wriedt Larsen
df8be438bb
Python: Show that list(tainted_string) works
2020-01-22 14:24:50 +01:00
Rasmus Wriedt Larsen
0da78f216a
Python: Show that e, f, g = tainted_list doesn't work
2020-01-22 14:24:50 +01:00
Rasmus Wriedt Larsen
a55c13e61c
Python: Improve tests for StringDictKind taint
...
+ show we handle dict.values()
+ show we don't handle dict.items()
2020-01-22 14:24:50 +01:00
Jonas Jensen
66914e52c6
C++: accept test changes
2020-01-22 14:08:05 +01:00
Jonas Jensen
5ae1e2c4e8
C++: Autoformat
2020-01-22 14:07:55 +01:00
Rasmus Wriedt Larsen
7d9f1f08ee
Python: Autoformat
2020-01-22 13:45:14 +01:00
Rasmus Wriedt Larsen
12bb05522a
Python: Make py/weak-cryptographic-algorithm a path-problem
...
and stop using deprecated hasFlow
2020-01-22 13:45:14 +01:00
Rasmus Wriedt Larsen
c5091f1ce7
Python: Make py/hardcoded-credentials a path-problem
...
and stop using deprecated hasFlow
2020-01-22 13:45:14 +01:00
Rasmus Wriedt Larsen
96d5703f2c
Python: Remove use of deprecated methods
2020-01-22 13:45:14 +01:00
Rasmus Wriedt Larsen
e6425bb4cf
Python: Add deprecated keyword to deprecated functions
2020-01-22 13:45:14 +01:00
Jonas Jensen
6cdca29aa6
C++: Flow through read side effects
...
Until we have better tracking of indirections, these flow rules conflate
pointers and their contents.
2020-01-22 13:27:10 +01:00
Jonas Jensen
c24bceddcd
C++: Add ReadSideEffectInstruction to IR
...
There was already a `WriteSideEffectInstruction` class that served as a
superclass for all the specific write side effects. This new class
serves the same purpose for read side effects.
2020-01-22 13:27:10 +01:00
Jonas Jensen
2aaf41a0d8
C++: Test lack of flow through read side effect
2020-01-22 13:27:10 +01:00
semmle-qlci
bc88c41e0b
Merge pull request #2668 from erik-krogh/MoreEvents
...
Approved by esbena
2020-01-22 11:57:11 +00:00
Erik Krogh Kristensen
1228d506b4
update change notes to reflect that library models have improved
2020-01-22 12:52:45 +01:00
Tom Hvitved
d5daee4450
Merge pull request #2661 from aschackmull/java/remove-dataflowlocation
...
Java/C++/C#: Remove DataFlowLocation as it's no longer needed.
2020-01-22 12:11:24 +01:00
Anders Schack-Mulligen
b92203a87f
Java: Allow null literals as sources in data flow.
2020-01-22 12:04:42 +01:00
Anders Schack-Mulligen
cf004ac9d8
Java: Remove the deprecated ParityAnalysis.
2020-01-22 11:45:18 +01:00
Rasmus Wriedt Larsen
aeaaab6437
Python: Modernise Resources/ queries
2020-01-22 11:20:31 +01:00
Rasmus Wriedt Larsen
47b932d6ce
Python: Autoformat Resources/ queries
2020-01-22 11:20:28 +01:00
Erik Krogh Kristensen
5063e3820d
update expected output
2020-01-22 11:18:47 +01:00
Erik Krogh Kristensen
750e9786f6
add change note for EventEmitter
2020-01-22 10:31:38 +01:00
Dave Bartolomeo
9d35ff73c4
C++/C#: Make escape analysis unsound by default
...
When building SSA, we'll be assuming that stack variables do not escape, at least until we improve our alias analysis. I've added a new `IREscapeAnalysisConfiguration` class to allow the query to control this, and a new `UseSoundEscapeAnalysis.qll` module that can be imported to switch to the sound escape analysis. I've cloned the existing IR and SSA tests to have both sound and unsound versions. There were relatively few diffs in the IR dump tests, and the sanity tests still give the same results after one change described below.
Assuming that stack variables do not escape exposed an existing bug where we do not emit an `Uninitialized` instruction for the temporary variables used by `return` statements and `throw` expressions, even if the initializer is a constructor call or array initializer. I've refactored the code for handling elements that initialize a variable to share a common base class. I added a test case for returning an object initialized by constructor call, and ensured that the IR diffs for the existing `throw` test cases are correct.
2020-01-22 00:15:30 -07:00
Grzegorz Golawski
c5a974788b
Add check for disabled CSRF protection in Spring
...
Fix the help according to review comments.
2020-01-21 21:54:36 +01:00
Robert Marsh
c79d7acbfc
Merge pull request #2656 from jbj/asDefiningArgument
...
C++: Add DataFlow::Node.asDefiningArgument in IR
2020-01-21 15:42:57 -05:00
Erik Krogh Kristensen
8370699344
add support for creating a promise with another resolved promise, e.g: Promise.resolve(otherPromise)
2020-01-21 20:11:27 +01:00
Erik Krogh Kristensen
8679132624
copy data from both callbacks in Promise data-flow
2020-01-21 18:00:06 +01:00
Erik Krogh Kristensen
86477a2249
changes based on review
2020-01-21 16:45:53 +01:00
Calum Grant
3d460aeb44
C#: ZipSlip query reports alert at source
2020-01-21 15:17:06 +00:00
Erik Krogh Kristensen
fe0b6a86d7
add data-flow steps for when Promise handlers return other promises
2020-01-21 16:15:18 +01:00
Erik Krogh Kristensen
d8b25ef5a2
add data-flow steps for resolved promises using pseudo-properties
2020-01-21 15:52:50 +01:00
Erik Krogh Kristensen
6648e2751f
remove use of .getAlocalSource() i custom load/store test
2020-01-21 15:49:42 +01:00
Rasmus Wriedt Larsen
422658bbdb
Python: Remove unused variable in example for py/url-redirection
2020-01-21 15:45:05 +01:00
Rasmus Wriedt Larsen
bbe93f43d3
Python: Only comparison with constant will clear taint
...
tainted = SOURCE
if tainted == tainted:
SINK(tainted) # unsafe
before, in the body of the if statement, `tainted` was not tainted
2020-01-21 15:25:57 +01:00
Rasmus Wriedt Larsen
1498145415
Python: Highlight that any comparison will clear taint
2020-01-21 15:24:56 +01:00
Anders Schack-Mulligen
9cc0d3d1f4
Java/C++/C#: Remove DataFlowLocation as it's no longer needed.
2020-01-21 15:08:39 +01:00
Calum Grant
6692e61fa2
C#: Analysis change notes
2020-01-21 13:55:32 +00:00
Calum Grant
be68b6f938
C#: Add precision to queries
2020-01-21 13:24:48 +00:00
Jonas Jensen
84811f66a2
C++: autoformat
2020-01-21 13:21:16 +01:00
Erik Krogh Kristensen
569ee8fc8d
add support for subclasses of EventEmitter
2020-01-21 12:08:50 +01:00
Jonas Jensen
6d46e4d946
C++: Wire up models to DefaultTaintTracking
...
This adds support for arg-to-arg and arg-to-return taint.
2020-01-21 12:04:45 +01:00
Jonas Jensen
fa00e96ba8
C++: Test IR taint through library functions
2020-01-21 12:03:43 +01:00
Jonas Jensen
5ac56c2e3a
C++: Add DataFlow::Node.asDefiningArgument in IR
2020-01-21 11:52:06 +01:00
Geoffrey White
80997a3323
Merge pull request #2655 from Semmle/jbj-patch-1
...
C++: Fix typo in MallocSizeExpr
2020-01-21 09:44:41 +00:00
Jonas Jensen
cdcd3ed748
Merge pull request #2647 from geoffw0/modelpure
...
CPP: Improve strlen model
2020-01-21 09:42:10 +01:00
Jonas Jensen
0568ed6451
C++: Fix typo in MallocSizeExpr
...
The first argument is index 0, not 1.
2020-01-21 09:09:49 +01:00
Mathias Vorreiter Pedersen
c9cc459baf
C++: Rename .qlhelp to .qhelp
2020-01-20 21:17:53 +01:00
Mathias Vorreiter Pedersen
fddd3660ab
C++: Fix formatting in example
2020-01-20 16:05:16 +01:00
Geoffrey White
4f02183dc2
CPP: Re-layout test.
2020-01-20 15:00:09 +00:00
Geoffrey White
2133fbd155
CPP: Fix the nulltermination test.
2020-01-20 14:55:52 +00:00
Erik Krogh Kristensen
026092559c
changes based on review
2020-01-20 15:53:58 +01:00
Calum Grant
86fa7e5c38
C#: Analysis change notes
2020-01-20 14:37:28 +00:00
Calum Grant
9d7c9e0ba4
C#: Default parameter values are maybe null
...
C#: Update test output
2020-01-20 14:37:20 +00:00
Geoffrey White
952b9e1581
CPP: Use hasGlobalName where appropriate.
2020-01-20 14:24:38 +00:00
Erik Krogh Kristensen
5c6134db99
a bit of self-review and an auto-format
2020-01-20 14:55:49 +01:00
Erik Krogh Kristensen
ad813ef86c
add flowsTo to the use of isAdditionalLoadStep
2020-01-20 14:16:29 +01:00
Mathias Vorreiter Pedersen
13fc8741d4
C++: Include malloc example in qlhelp
2020-01-20 13:28:00 +01:00
Geoffrey White
79811fcccd
Merge pull request #2642 from jbj/TaintTracking-indirection
...
C++: Indirection for security.TaintTracking impl
2020-01-20 12:25:51 +00:00
Geoffrey White
5a20e85598
Merge pull request #2638 from jbj/ir-dispatch
...
C++ IR: Support for global virtual dispatch
2020-01-20 12:04:09 +00:00
Calum Grant
631b4248b5
C#: Add a nullness test
2020-01-20 11:13:31 +00:00
Mathias Vorreiter Pedersen
a43131a987
C++: Fix formatting
2020-01-20 11:39:48 +01:00
Jonas Jensen
391b80eac4
C++: Show virtual inheritance problem in vdispatch
2020-01-20 11:17:44 +01:00
Jonas Jensen
2a0fc31b68
C++: Comment and rename getSrc -> getDispatchValue
...
Better clarity was requested in the PR review.
2020-01-20 11:03:03 +01:00
Erik Krogh Kristensen
ffbd0f6632
update expected test output
2020-01-20 09:56:40 +01:00
Erik Krogh Kristensen
b3b132c66d
Merge remote-tracking branch 'upstream/master' into ExceptionalPromise
2020-01-20 09:20:09 +01:00
Jonas Jensen
742bd1c6ad
Merge pull request #2648 from rdmarsh2/getMemoryOperandDefinition-perf
...
C++: Performance fix for getMemoryOperandDefinition
2020-01-20 08:49:55 +01:00
Grzegorz Golawski
00ee3d2549
Query to detect LDAP injections in Java
...
Cleanup
2020-01-18 20:21:38 +01:00
Grzegorz Golawski
95723b08e1
Query to detect LDAP injections in Java
...
Add help
2020-01-18 19:01:35 +01:00
Grzegorz Golawski
8cec46342f
Query to detect LDAP injections in Java
...
Refactoring
2020-01-18 17:14:22 +01:00
Jonas Jensen
d3a1856793
Merge pull request #2646 from geoffw0/modelinet
...
CPP: Fix a mistake in Inet.qll.
2020-01-17 22:53:43 +01:00
Geoffrey White
97c346285e
CPP: Change note.
2020-01-17 18:56:21 +00:00
Geoffrey White
fcea3693f9
CPP: Remove now redundant special cases.
2020-01-17 18:56:21 +00:00
Geoffrey White
200545d88c
CPP: Add detail to the model.
2020-01-17 18:56:21 +00:00
Geoffrey White
77a3778eef
CPP: Add some strlen variants to the PureStrFunction model.
2020-01-17 18:56:21 +00:00
Jonas Jensen
3632d51abc
Merge pull request #2635 from geoffw0/modelstrdup
...
CPP: Model strdup
2020-01-17 19:26:26 +01:00
Geoffrey White
803da339a1
CPP: Fix a mistake in Inet.qll.
2020-01-17 17:44:42 +00:00
Geoffrey White
e4139fe427
Apply suggestions from code review
...
Additional corrections.
Co-Authored-By: Dave Bartolomeo <dbartol@github.com >
2020-01-17 17:20:37 +00:00
Geoffrey White
7dbda22a29
CPP: Update change note.
2020-01-17 16:19:39 +00:00
Geoffrey White
839fd8f848
CPP: Fix typo.
2020-01-17 16:10:41 +00:00
Robert Marsh
bd98427c5a
C++: sync files
2020-01-17 08:05:40 -08:00
Robert Marsh
bbf191e857
C++: fix join order in hasMemoryOperandDefinition
2020-01-17 08:05:40 -08:00
Robert Marsh
d91bc4ba72
C++: pull out hasMemoryOperandDefinition (slow)
2020-01-17 08:05:26 -08:00
Dave Bartolomeo
c7e62b4a35
Merge pull request #2613 from rdmarsh2/getPhiOperandDefinition-perf-2
...
C++: performance fixes for getPhiOperandDefinition
2020-01-17 09:01:33 -07:00
Mathias Vorreiter Pedersen
cd644ca5f2
Merge branch 'implicit-function-declaration' of github.com:MathiasVP/ql into implicit-function-declaration
2020-01-17 14:52:23 +01:00
Mathias Vorreiter Pedersen
303c6aa5b7
C++: Added query to suites and change-notes
2020-01-17 14:51:40 +01:00
Mathias Vorreiter Pedersen
4fc325f794
C++: Raise query to warning-high
2020-01-17 13:59:25 +01:00
Mathias Vorreiter Pedersen
aaf2679bf7
Remove incorrect html tag
...
Co-Authored-By: Jonas Jensen <jbj@github.com >
2020-01-17 13:52:38 +01:00
Mathias Vorreiter Pedersen
e79c0820ef
Fix reference
...
Co-Authored-By: Jonas Jensen <jbj@github.com >
2020-01-17 13:51:14 +01:00
Erik Krogh Kristensen
a25c5d7090
outlining a predicate to give hints about join ordering
2020-01-17 13:42:08 +01:00
Jonas Jensen
53e10e4c7f
Merge pull request #2634 from MathiasVP/overrideable-taint-sources
...
C++: Overrideable taint sources in DefaultTaintTracking
2020-01-17 13:01:03 +01:00
Mathias Vorreiter Pedersen
9e71e7f2ef
C++: Added .qlhelp file
2020-01-17 12:58:10 +01:00
Erik Krogh Kristensen
6ad62e32e0
copyPropertyStep works interprocedurally
2020-01-17 12:24:29 +01:00
Jonas Jensen
d19c77d473
C++: Indirection for security.TaintTracking impl
...
This change should make it easier to switch to the IR-based
`DefaultTaintTracking` code without getting a large and conflict-prone
diff.
2020-01-17 12:04:53 +01:00
Marc Waldman
dbe51e070f
Merge pull request #2 from marcrepo/patch-2
...
Documentation update for Issue #2623
2020-01-17 04:55:34 -05:00
Marc Waldman
a9b6b2c4cd
Merge pull request #1 from marcrepo/patch-1
...
Removed word "file" from description (see Issue 2623)
2020-01-17 04:55:06 -05:00
Marc Waldman
0d409b2d69
Documentation update for Issue #2623
...
Changes based on Issue #2623 - DescriptorNeverClosed.ql identifies only sockets (not file handles)
2020-01-17 04:46:10 -05:00
Marc Waldman
140051cc9a
Removed word "file" from description (see Issue 2623)
...
This pull request is in reference to Issue #2623 - "DescriptorNeverClosed.ql identifies only sockets (not file handles)"
2020-01-17 04:38:15 -05:00
Anders Schack-Mulligen
2dca188288
Java: Document two FPs with unit tests.
2020-01-17 09:57:11 +01:00
Jonas Jensen
5d08a0e338
Merge pull request #2558 from MathiasVP/ast-classes-should-not-be-abstract
...
C++: Ast classes should not be abstract
2020-01-17 08:47:55 +01:00
Mathias Vorreiter Pedersen
e4def730fd
C++: Fix alert message
2020-01-16 21:30:14 +01:00
Geoffrey White
3c41ed56a1
CPP: Support taint to return value derefs instead.
2020-01-16 18:15:21 +00:00
semmle-qlci
8dff8e77e1
Merge pull request #2637 from hvitved/csharp/non-assigned-fields-bad-magic
...
Approved by calumgrant
2020-01-16 15:44:25 +00:00
Robert Marsh
e0406190a1
Merge branch 'master' into getPhiOperandDefinition-perf-2
2020-01-16 07:23:59 -08:00
Robert Marsh
c942da524c
C++/C#: Sync
2020-01-16 07:16:57 -08:00
Robert Marsh
1b5d33023e
C++: actually fix Chi total operands
2020-01-16 07:15:08 -08:00
Mathias Vorreiter Pedersen
c1fcf78f16
C++: Fold predicate sameLocation
2020-01-16 16:14:55 +01:00
Erik Krogh Kristensen
06e898f53b
only use .getALocalSource in copyPropertyStep
2020-01-16 16:04:45 +01:00
Mathias Vorreiter Pedersen
04ef4d102d
C++: Remove unnecessary testcase
2020-01-16 15:10:37 +01:00
Jonas Jensen
f4d0c5e905
C++ IR: Support for global virtual dispatch
...
The IR data flow library now supports virtual dispatch with a library
that's similar to `security.TaintTracking`. In particular, it should
have the same performance characteristics. The main difference is that
non-recursive callers of `flowsFrom` now pass `_` instead of `true` for
`boolean allowFromArg`. This change allows flow through `return` to
actually work.
2020-01-16 14:51:28 +01:00
Erik Krogh Kristensen
9998059d59
add pragma to fix performance (same issue as in #2512 )
2020-01-16 14:16:04 +01:00
semmle-qlci
4efc418e2c
Merge pull request #2617 from asger-semmle/prototype-pollution-utility
...
Approved by esbena, mchammer01
2020-01-16 13:02:07 +00:00
Tom Hvitved
f4c255cb62
C#: Fix bad magic optimization in NonAssignedFields.ql
2020-01-16 12:31:14 +01:00
Geoffrey White
f4aba14d3a
CPP: Change note.
2020-01-16 11:08:19 +00:00
Geoffrey White
ef47563139
CPP: Support flow of pointed-to things through function calls.
2020-01-16 11:08:19 +00:00
Mathias Vorreiter Pedersen
87c59e0017
C++: Overrideable taint sources in DefaultTaintTracking
2020-01-16 11:10:43 +01:00
Erik Krogh Kristensen
4e880e2f96
implement SocketIO on top of the EventEmitter model
2020-01-16 11:02:36 +01:00
Asger F
7a1d068f1c
Update javascript/ql/src/Security/CWE-400/PrototypePollutionUtility.qhelp
...
Co-Authored-By: mc <42146119+mchammer01@users.noreply.github.com >
2020-01-16 09:47:18 +00:00
Mathias Vorreiter Pedersen
603b1c26a7
Merge branch 'master' into ast-classes-should-not-be-abstract
2020-01-16 10:16:03 +01:00
semmle-qlci
8128d23b6e
Merge pull request #2505 from erik-krogh/EventEmitter
...
Approved by esbena, max-schaefer
2020-01-16 08:47:38 +00:00
semmle-qlci
18879386bf
Merge pull request #2627 from asger-semmle/js-useless-expression-trycatch
...
Approved by esbena
2020-01-16 08:40:57 +00:00
Dave Bartolomeo
48301e1187
Merge pull request #2594 from rdmarsh2/ir-overlappingVariableMemoryLocations
...
C++: compute overlap on irvars with vvar indexes
2020-01-15 13:06:33 -07:00
Tom Hvitved
e5abaa79ae
Merge pull request #2585 from calumgrant/cs/serialization-check-bypass
...
C#: Improvements to cs/serialization-check-bypass
2020-01-15 20:40:51 +01:00
Geoffrey White
04af2ace94
CPP: Add DataFlow to strdup.
2020-01-15 19:18:37 +00:00
Geoffrey White
9b5be995d2
CPP: Split Strdup model into it's own class and file.
2020-01-15 18:38:33 +00:00
Geoffrey White
ce389ca791
CPP: Add tests for strdup.
2020-01-15 18:26:24 +00:00
Robert Marsh
a91f10fe40
Merge pull request #2629 from dbartol/dbartol/missing-vvars
...
C++/C#: Fix missing virtual variables
2020-01-15 08:32:43 -08:00
Calum Grant
6790028d4c
C#: Use guards library
2020-01-15 15:46:19 +00:00
Erik Krogh Kristensen
a76ab39a39
no longer need for .getALocalSource() in custom load/store
2020-01-15 16:00:57 +01:00
Erik Krogh Kristensen
e08fc08337
don't use pseudo-properties for resolved promise data-flow
2020-01-15 14:56:58 +01:00
Erik Krogh Kristensen
830100d2ed
support interprocedural flow with custom load/store steps
2020-01-15 14:23:17 +01:00
Asger Feldthaus
7141f15858
JS: Add change note
2020-01-15 11:49:57 +00:00
Asger Feldthaus
6d9306366c
JS: ignore useless-expr in first stmt in try block
2020-01-15 11:49:23 +00:00
Tom Hvitved
f7278d36e1
Merge pull request #2498 from aschackmull/java/taint-getter
...
Java/C++/C#: Add support for taint-getter/setter summaries in data flow.
2020-01-15 09:55:19 +01:00
Dave Bartolomeo
e60f902c36
C++/C#: Fix missing virtual variables
...
The aliased SSA code was assuming that, for every automatic variable, there would be at least one memory access that reads or writes the entire variable. We've encountered a couple cases where that isn't true due to extractor issues. As a workaround, we now always create the `VariableMemoryLocation` for every local variable.
I've also added a sanity test to detect this condition in the future.
Along the way, I had to fix a perf issue in the PrintIR code. When determining the ID of a result based on line number, we were considering all `Instruction`s generated for a particular line, regardless of whether they were all in the same `IRFunction`. In addition, the predicate had what appeared to be a bad join order that made it take forever on large snapshots. I've scoped it down to just consider `Instruction`s in the same function, and outlined that predicate to fix the join order issue. This causes some numbering changes, but they're for the better. I don't think there was actually any nondeterminism there before, but now the numbering won't depend on the number of instantiations of a template, either.
2020-01-14 17:57:15 -07:00
Grzegorz Golawski
b7325232d7
Query to detect LDAP injections in Java
...
Consider DNs as injection points as well
Add more taint steps
2020-01-14 23:07:21 +01:00
Robert Marsh
42be28b211
C++: autoformat
2020-01-14 13:17:57 -08:00
Robert Marsh
5a5832b7de
Merge pull request #2569 from jbj/ir-total-chi-flow
...
C++: IR data flow through total chi operands
2020-01-14 12:47:58 -08:00
Erik Krogh Kristensen
d09bce5cd7
custom load/store steps to implement promise flow
2020-01-14 21:37:55 +01:00
Anders Schack-Mulligen
a6526c60cb
Java: Replace ad-hoc TestClass detection.
2020-01-14 14:26:22 +01:00
semmle-qlci
3c4749be88
Merge pull request #2624 from asger-semmle/js-duplicate-alert-strict-mode
...
Approved by max-schaefer
2020-01-14 11:59:45 +00:00
Anders Schack-Mulligen
241b8a05e4
Java/C++/C#: Address review comment.
2020-01-14 11:59:55 +01:00
Asger Feldthaus
2245882441
JS: Add change note and fix cwe tags
2020-01-14 10:53:40 +00:00
Asger Feldthaus
d76859b7df
JS: Address review comments
2020-01-14 10:53:00 +00:00
Asger F
2c05ee8ab8
JS: Add regression test
2020-01-14 10:53:00 +00:00
Asger F
9bd3c4a11c
JS: Add sanitizer for "in" exprs
2020-01-14 10:53:00 +00:00
Asger Feldthaus
7ac30e2289
JS: Add test for rephinement nodes
2020-01-14 10:53:00 +00:00
Asger F
a447645c10
JS: Add test with typeof on value
2020-01-14 10:52:59 +00:00
Asger F
bd9405ab84
JS: Guard against more FPs
2020-01-14 10:52:59 +00:00
Asger F
738123d3f5
JS: More sanitizers
2020-01-14 10:52:59 +00:00
Asger F
f7543aec95
JS: Support Reflect.ownKeys
2020-01-14 10:52:59 +00:00
Asger F
8af233307a
JS: Support enumeration through Object.entries
2020-01-14 10:52:59 +00:00
Asger F
ac2f0a8e11
JS: Do not require flow from key -> rhs
2020-01-14 10:52:59 +00:00
Asger F
96bf9db200
JS: Add another test and more barriers
2020-01-14 10:52:59 +00:00
Asger F
bc7871078a
JS: Fix FPs from Object.create(null)
2020-01-14 10:52:59 +00:00
Asger F
c889420dd3
JS: Add qhelp samples to test suite
2020-01-14 10:52:59 +00:00
Asger F
654f145772
JS: Add PrototypePollutionUtility query
2020-01-14 10:52:59 +00:00
Asger F
52cec25035
JS: Build access paths for array accesses
2020-01-14 10:52:59 +00:00
Tom Hvitved
5a4be67d81
Merge pull request #2597 from calumgrant/cs/multiline-alert-suppression
...
C#: Alert suppression through single-line /* */ style comments
2020-01-14 10:35:11 +01:00
Asger Feldthaus
73e60a7400
JS: Ignore strict-mode-call-stack-introspection for expr stmts
2020-01-13 16:03:03 +00:00
Anders Schack-Mulligen
041bcc5812
Java/C++/C#: Small perf improvement and simplification.
2020-01-13 17:00:56 +01:00
Jonas Jensen
b8ee5a63db
Merge pull request #2614 from geoffw0/arithun
...
CPP: Speed up ArithmeticUncontrolled.ql
2020-01-13 15:25:12 +01:00
Jonas Jensen
3183893a98
Merge pull request #2530 from geoffw0/hiddenqueries2
...
CPP: Speed up nullCheckAssert in InconsistentCheckReturnNull.ql.
2020-01-13 15:23:55 +01:00
Mathias Vorreiter Pedersen
1bc3829a72
C++: Use newly created library versions of the 'Underspecified Functions' queries in new ImplicitFunctionDeclaration query
2020-01-13 14:01:01 +01:00
Mathias Vorreiter Pedersen
acb106be44
C++: Fix formatting
2020-01-13 13:20:23 +01:00
semmle-qlci
40de391490
Merge pull request #2616 from asger-semmle/promise-missing-await-change-note
...
Approved by mchammer01
2020-01-13 12:03:11 +00:00
Asger F
6c4da30a64
Update change-notes/1.24/analysis-javascript.md
...
Co-Authored-By: mc <42146119+mchammer01@users.noreply.github.com >
2020-01-13 11:05:03 +00:00
Mathias Vorreiter Pedersen
394a864b0a
C++: Factored the body of TooManyArguments.ql out into a library file
2020-01-13 11:44:58 +01:00
Mathias Vorreiter Pedersen
6cff36b9c9
C++: Factored the body of TooFewArguments.ql out into a library file
2020-01-13 11:36:22 +01:00
Mathias Vorreiter Pedersen
e2244d41f5
C++: Factored the body of MistypedFunctionArguments.ql out into a library file
2020-01-13 11:34:01 +01:00
Anders Schack-Mulligen
183fd91a01
Merge pull request #2615 from yo-h/java-add-change-note
...
Java: add change note for `java/maven/non-https-url`
2020-01-13 09:54:48 +01:00
Grzegorz Golawski
3e86dd1182
Query to detect LDAP injections in Java
...
Apache LDAP API sink
2020-01-12 20:19:25 +01:00
Mathias Vorreiter Pedersen
c9439df914
C++: Added query that detects implicit function declarations
2020-01-12 16:28:30 +01:00
Grzegorz Golawski
c01aa3d2ee
Query to detect LDAP injections in Java
...
Spring LDAP sink
2020-01-12 13:28:29 +01:00
Grzegorz Golawski
7570fa9137
Query to detect LDAP injections in Java
...
JNDI and UnboundID sinks
JNDI, UnboundID and Spring LDAP sanitizers
2020-01-11 21:55:54 +01:00
Erik Krogh Kristensen
c50de3a7e8
update expected output of tests
2020-01-10 17:49:24 +01:00
Erik Krogh Kristensen
1619a98bc8
make the default registration/dispatch extend DataFlow::InvokeNode
2020-01-10 17:40:16 +01:00
yo-h
bf8ef42c1a
Java: add change note for java/maven/non-https-url
2020-01-10 11:03:48 -05:00
Taus
cfb84be7b1
Merge pull request #2540 from RasmusWL/python-modernise-variables-queries
...
Python: modernise variables queries
2020-01-10 14:45:12 +01:00
Geoffrey White
9176529799
Merge pull request #2599 from MathiasVP/assign-where-compare-meant-false-positives
...
Assign where compare meant false positives
2020-01-10 13:39:39 +00:00
Erik Krogh Kristensen
ec5896abba
add additional data-flow edges to data-flow related to promises
2020-01-10 14:12:53 +01:00
Mathias Vorreiter Pedersen
111f1dbd19
Merge branch 'assign-where-compare-meant-false-positives' of github.com:MathiasVP/ql into assign-where-compare-meant-false-positives
2020-01-10 13:14:00 +01:00
Mathias Vorreiter Pedersen
f80c13abd7
C++: Fixed incorrect comments in testcases
2020-01-10 12:24:43 +01:00
Asger Feldthaus
18db551e10
JS: Add change note for js/missing-await
2020-01-10 11:10:57 +00:00
Mathias Vorreiter Pedersen
f181753c35
Typo fix
...
Co-Authored-By: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2020-01-10 11:49:03 +01:00
Mathias Vorreiter Pedersen
21c99d1827
Typo fix
...
Co-Authored-By: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2020-01-10 11:46:14 +01:00
Anders Schack-Mulligen
ad92d6fe0f
Merge pull request #2607 from yo-h/java-alert-suppression-block-comment
...
Java: allow single-line `/* ... */` comments for alert suppression
2020-01-10 11:05:23 +01:00
yo-h
7ffa517803
Merge pull request #2584 from aschackmull/java/nonnull-final-field
...
Java: Include non-null final fields in clearlyNotNull.
2020-01-09 18:48:45 -05:00
Robert Marsh
d2b225790a
C++: fix chi instr oeprands to chi instrs
2020-01-09 11:48:18 -08:00
Erik Krogh Kristensen
87bbbd643c
changes based on review feedback
2020-01-09 16:18:32 +01:00
Erik Krogh Kristensen
af8b36b750
Merge remote-tracking branch 'upstream/master' into EventEmitter
2020-01-09 15:09:43 +01:00
Geoffrey White
1d615d311c
CPP: Autoformat.
2020-01-09 13:48:58 +00:00
Geoffrey White
f6f7df4e8f
CPP: Speed up nullCheckAssert in InconsistentCheckReturnNull.ql.
2020-01-09 13:48:13 +00:00
Geoffrey White
50c0ec1cb1
CPP: Optimize isRandValue.
2020-01-09 12:12:00 +00:00
semmle-qlci
f1f69ef85d
Merge pull request #2589 from esbena/js/ignore-duplicate-params-for-empty-functions
...
Approved by erik-krogh
2020-01-09 11:58:04 +00:00
Robert Marsh
5007fd2aa8
C++: Autoformat and sync
2020-01-08 12:49:51 -08:00
Robert Marsh
e416d75f6f
C++: add noopt on getPhiOperandDefinition
2020-01-08 11:36:57 -08:00
Jonas Jensen
8acbb3bfb9
C++: Further simplify a bit
...
This changes tuple counts!?
2020-01-08 11:36:50 -08:00
Jonas Jensen
5072201b7e
C++: Fix join order
2020-01-08 11:36:40 -08:00
Jonas Jensen
838720bef0
C++: de-inline getDefinitionOrChiInstruction
...
Still has bad join order
2020-01-08 11:36:34 -08:00
Jonas Jensen
3d2cc7bbce
C++: make hasPhiOperandDefinition feasible
2020-01-08 11:36:14 -08:00
Jonas Jensen
55f157e06d
C++: Fix overlappingVariableMemoryLocations perf
...
The `overlappingVariableMemoryLocations` predicate was a helper
predicate introduced to fix a join-order issue in
`overlappingIRVariableMemoryLocations`. Unfortunately it caused a
performance issue of its own because it could grow too large. On the
small project (38MB zip) awslabs/s2n there were 181M rows in
`overlappingVariableMemoryLocations`, and it took 134s to evaluate.
The fix is to collapse the two predicates into one and fix join ordering
by including an extra column in the predicates being joined.
In addition, some parameters were reordered to avoid the overhead of
auto-generated `join_rhs` predicates.
Tuple counts of `overlappingVariableMemoryLocations` before:
623285 ~176% {2} r1 = JOIN AliasedSSA::isCoveredOffset#fff_120#join_rhs AS L WITH AliasedSSA::isCoveredOffset#fff_120#join_rhs AS R ON FIRST 2 OUTPUT L.<2>, R.<2>
119138 ~3% {2} r2 = SCAN AliasedSSA::VariableMemoryLocation::getVirtualVariable_dispred#ff AS I OUTPUT I.<1>, I.<0>
172192346 ~0% {2} r3 = JOIN r2 WITH AliasedSSA::hasUnknownOffset#ff_10#join_rhs AS R ON FIRST 1 OUTPUT R.<1>, r2.<1>
172815631 ~0% {2} r4 = r1 \/ r3
172192346 ~0% {2} r5 = JOIN r2 WITH AliasedSSA::hasUnknownOffset#ff_10#join_rhs AS R ON FIRST 1 OUTPUT r2.<1>, R.<1>
345007977 ~87% {2} r6 = r4 \/ r5
return r6
Tuple counts of `overlappingIRVariableMemoryLocations` after:
117021 ~134% {2} r1 = JOIN AliasedSSA::isCoveredOffset#ffff AS L WITH AliasedSSA::isCoveredOffset#ffff AS R ON FIRST 3 OUTPUT L.<3>, R.<3>
201486 ~1% {2} r2 = JOIN AliasedSSA::hasUnknownOffset#fff AS L WITH AliasedSSA::hasVariableAndVirtualVariable#fff AS R ON FIRST 2 OUTPUT L.<2>, R.<2>
318507 ~26% {2} r3 = r1 \/ r2
201486 ~3% {2} r4 = JOIN AliasedSSA::hasUnknownOffset#fff AS L WITH AliasedSSA::hasVariableAndVirtualVariable#fff AS R ON FIRST 2 OUTPUT R.<2>, L.<2>
519993 ~92% {2} r5 = r3 \/ r4
return r5
2020-01-08 11:07:20 -08:00
Robert Marsh
9b361f1701
Merge pull request #2601 from dbartol/dbartol/OpcodeProperties
...
C++: Consolidate opcode properties onto `Opcode` class
2020-01-08 11:05:41 -08:00
Geoffrey White
cf5dd85944
Merge pull request #2577 from MathiasVP/multiplication-overflow-not-possible-due-to-type-width
...
Multiplication overflow not possible due to type width
2020-01-08 17:18:33 +00:00
shati-patel
ad0ad3a3e4
Merge pull request #2612 from jf205/recent-changes
...
CodeQL docs: port recent fixes to rc/1.23
2020-01-08 16:36:27 +00:00
james
2407eb103a
docs: fix list
...
(cherry picked from commit 618a3f91d8 )
2020-01-08 16:16:39 +00:00
Rasmus Wriedt Larsen
cdcca630f3
docs: remove extra comma in dataflow articles
...
(cherry picked from commit e882060839 )
2020-01-08 16:16:39 +00:00
Rasmus Wriedt Larsen
24e551905e
docs: Fix Python taint tracking links
...
at some point we moved security/TaintTracking.qll to dataflow/TaintTracking.qll
(cherry picked from commit f44ce7d647 )
2020-01-08 16:16:39 +00:00
james
97d3d1fca3
docs: fix ast node link
...
(cherry picked from commit cff5df0779 )
2020-01-08 16:16:39 +00:00
shati-patel
3cfc7d2e54
Merge pull request #2611 from jf205/mergeback-123
...
Merge rc/1.23 into master
2020-01-08 16:12:47 +00:00
Dave Bartolomeo
6c8de44800
Merge pull request #2604 from geoffw0/returnthis
...
CPP: Exclude template classes from cpp/assignment-does-not-return-this
2020-01-08 09:12:22 -07:00
james
490e13060c
Merge branch 'rc/1.23' into mergeback-123
2020-01-08 16:00:19 +00:00
shati-patel
e103527d32
Merge pull request #2610 from jf205/python-link
...
docs: fix link in Python topic
2020-01-08 15:48:37 +00:00
james
cff5df0779
docs: fix ast node link
2020-01-08 15:30:04 +00:00
Max Schaefer
308da0774d
Merge pull request #2525 from asger-semmle/promise-missing-await
...
JS: New query: missing await
2020-01-08 15:29:45 +00:00
Max Schaefer
de15ecf47b
Merge pull request #2593 from asger-semmle/regexp-always-matches
...
JS: Add RegExpAlwaysMatches query
2020-01-08 15:21:39 +00:00
James Fletcher
8e700081f1
Merge pull request #2609 from RasmusWL/doc-fix-python-taint-links
...
docs: Fix Python taint tracking links
2020-01-08 15:21:07 +00:00
Rasmus Wriedt Larsen
f44ce7d647
docs: Fix Python taint tracking links
...
at some point we moved security/TaintTracking.qll to dataflow/TaintTracking.qll
2020-01-08 16:10:27 +01:00
yo-h
1078424f79
Java: allow single-line /* ... */ comments for alert suppression
2020-01-08 09:19:25 -05:00
shati-patel
9b4f6af007
Merge pull request #2605 from RasmusWL/small-doc-fix
...
docs: remove extra comma in dataflow articles
2020-01-08 14:01:41 +00:00
Rasmus Wriedt Larsen
e882060839
docs: remove extra comma in dataflow articles
2020-01-08 14:53:31 +01:00
Geoffrey White
b6e1f35ff6
CPP: Generalize the fix to all template code.
2020-01-08 13:36:59 +00:00
Geoffrey White
8044fefb1f
CPP: Change note.
2020-01-08 13:19:11 +00:00
Geoffrey White
527d29ba23
CPP: Exclude template classes from the query.
2020-01-08 13:16:38 +00:00
Geoffrey White
d527dbe47a
CPP: Add test case.
2020-01-08 13:13:06 +00:00
Asger Feldthaus
775e63d9c0
JS: Fix qhelp validation error
2020-01-08 10:38:10 +00:00
Asger F
ef79023e52
Update javascript/ql/src/Expressions/MissingAwait.qhelp
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2020-01-08 10:23:30 +00:00
Tom Hvitved
85f6e5fe22
Merge pull request #2450 from calumgrant/cs/expr-nullability
...
C#: Expression nullability
2020-01-08 09:50:03 +01:00
Mathias Vorreiter Pedersen
100ace532f
C++: Fixed handling of false negative. Query now supports global variables
2020-01-07 22:57:21 +01:00
Mathias Vorreiter Pedersen
db08076fed
C++: Fixed false negative
2020-01-07 22:20:04 +01:00
Mathias Vorreiter Pedersen
229da0a9c0
C++: Add testcase demonstrating false negative
2020-01-07 22:12:34 +01:00
Dave Bartolomeo
690d23d15e
C++: Fix formatting
2020-01-07 13:23:36 -07:00
Dave Bartolomeo
9df37399f8
C++: Consolidate opcode properties onto Opcode class
...
Previously, we had several predicates on `Instruction` and `Operand` whose values were determined solely by the opcode of the instruction. For large snapshots, this meant that we would populate large tables mapping each of the millions of `Instruction`s to the appropriate value, times three (once for each IR flavor).
This change moves all of these opcode properties onto `Opcode` itself, with inline wrapper predicates on `Instruction` and `Operand` where necessary. On smaller snapshots, like ChakraCore, performance is a wash, but this did speed up Wireshark by about 4%.
Even ignoring the modest performance benefit, having these properties defined on `Opcode` seems like a better organization than having them on `Instruction` and `Operand`.
2020-01-07 13:17:27 -07:00
Calum Grant
bc1b2c3ead
C#: Address review comment
2020-01-07 18:39:52 +00:00
Calum Grant
d0d7ed620c
C#: Update comments in test file to reflect fixed test output.
2020-01-07 18:39:52 +00:00
Calum Grant
359dea2c2b
C#: Fixed test output.
2020-01-07 18:39:52 +00:00
Calum Grant
bcd8dca780
C#: When creating conditionally accessed expressions, use the typeinfo from the conditional expression to ensure correct flow state and type nullability.
2020-01-07 18:39:51 +00:00
Calum Grant
85c9459b35
C#: Add more tests showing incorrect extraction.
2020-01-07 18:39:51 +00:00
Calum Grant
10181e93e2
C#: Update QLtest output
2020-01-07 18:39:51 +00:00
Calum Grant
a1bedf2e06
C#: Use expression flow state to determine non-null guards
2020-01-07 18:39:51 +00:00
Calum Grant
2eb29224e8
C#: Update guards tests.
2020-01-07 18:39:51 +00:00
Calum Grant
ecb22f1379
C#: Fix typo in dbscheme.
2020-01-07 18:39:51 +00:00
Calum Grant
f67240a316
C#: Analysis change notes
2020-01-07 18:39:51 +00:00
Calum Grant
1036640e24
C#: Update db stats
2020-01-07 18:38:58 +00:00
Calum Grant
4e710e9685
C#: DB upgrade script
2020-01-07 18:38:58 +00:00
Calum Grant
8db46bc8ec
C#: More tests for nullable flow state.
2020-01-07 18:38:58 +00:00
Calum Grant
6c9ebaba0b
C#: Populate expression type nullability and nullable flow state.
2020-01-07 18:38:58 +00:00
Calum Grant
0327b83958
C#: Update nullability tests.
2020-01-07 18:38:58 +00:00
Dave Bartolomeo
3072e9c7da
Merge pull request #2598 from geoffw0/av114_asm
...
CPP: Exclude functions containing asm from cpp/missing-return
2020-01-07 09:04:14 -07:00
Mathias Vorreiter Pedersen
633c42ced0
C++: Removed comment
2020-01-07 14:41:37 +01:00
Anders Schack-Mulligen
d918cb1f6f
Merge pull request #2550 from JLLeitschuh/task/JLL/improve_netty_response_splitting_detection
...
Add io.netty.handler.codec.http.DefaultHttpResponse to Netty Response Splitting Detection
2020-01-07 14:28:01 +01:00
Mathias Vorreiter Pedersen
d9f931da3c
C++: Fix false positives
2020-01-07 14:16:50 +01:00
Mathias Vorreiter Pedersen
6bbe2c48bf
C++: Add testcase demonstrating false positive
2020-01-07 14:13:34 +01:00
Geoffrey White
c584ceb2f4
CPP: Change note.
2020-01-07 12:46:07 +00:00
Geoffrey White
72b4792391
CPP: Exception for AsmStmts.
2020-01-07 12:46:07 +00:00
Geoffrey White
0a85637fef
CPP: Add a test.
2020-01-07 12:46:07 +00:00
Mathias Vorreiter Pedersen
9a841636dc
C++: Fix false positive
2020-01-07 13:22:07 +01:00
Mathias Vorreiter Pedersen
faa9d83567
C++: Add testcase demonstrating false positive
2020-01-07 13:18:38 +01:00
Mathias Vorreiter Pedersen
bdd0589223
C++: Fix false positive
2020-01-07 13:16:47 +01:00
Calum Grant
d8f5450b67
C#: Alert suppression comments can be in C89-style comments
2020-01-07 11:52:52 +00:00
Mathias Vorreiter Pedersen
428e357488
C++: Add testcase demonstrating false positive
2020-01-07 11:41:48 +01:00
semmle-qlci
0e16969e15
Merge pull request #2591 from max-schaefer/js/fix-16
...
Approved by asgerf
2020-01-07 10:36:19 +00:00
Asger Feldthaus
d55d5cc4ed
JS: Address comments from doc review
2020-01-07 10:27:46 +00:00
Asger Feldthaus
66a16d21a9
JS: Fix buggy test cases
2020-01-07 10:19:09 +00:00
Asger Feldthaus
2d534163d0
JS: Add test for empty regex
2020-01-07 10:10:29 +00:00
Asger Feldthaus
9f6e04887b
JS: Fix FP from word boundaries
2020-01-07 10:09:17 +00:00
Tom Hvitved
5552c2e912
Merge pull request #2563 from calumgrant/cs/tuple-expr
...
C#: Handle tuple expressions
2020-01-07 09:31:17 +01:00
Robert Marsh
367d13c0ad
Merge pull request #2570 from jbj/ir-overlappingVariableMemoryLocations
...
C++: Fix overlappingVariableMemoryLocations perf
2020-01-06 10:57:48 -08:00
Robert Marsh
ba9741f552
C++: compute overlap on irvars with vvar indexes
2020-01-06 09:14:03 -08:00
Anders Schack-Mulligen
9ba169b346
Java: Fix bad join-order.
2020-01-06 16:52:06 +01:00
Calum Grant
c145e32625
C#: Tests for multiline alert suppression comments
2020-01-06 15:45:00 +00:00
Asger F
b604be5cfb
Apply suggestions from code review
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2020-01-06 14:44:02 +00:00
Asger Feldthaus
4c25d84b6e
JS: Fix and expand test cases
2020-01-06 14:43:29 +00:00
Tom Hvitved
ed2125969e
Merge pull request #2568 from calumgrant/cs/assignment-to-_
...
C#: Remove FP in useless assignment to _
2020-01-06 15:39:45 +01:00
Max Schaefer
9160fbf106
Merge pull request #2435 from asger-semmle/phi-edge-barrier-guards
...
JS: Phi edge barrier guards
2020-01-06 14:14:18 +00:00
semmle-qlci
f48e4bc2a0
Merge pull request #2580 from asger-semmle/typescript-unbounded-recursion
...
Approved by max-schaefer
2020-01-06 14:00:55 +00:00
semmle-qlci
0c0073fb02
Merge pull request #2582 from asger-semmle/spurious-css-import
...
Approved by max-schaefer
2020-01-06 14:00:08 +00:00
semmle-qlci
7e9b5b1036
Merge pull request #2590 from asger-semmle/ts-install-deps-unverbose
...
Approved by max-schaefer
2020-01-06 13:57:43 +00:00
Asger F
9928762769
JS: Add RegExpAlwaysMatches query
2020-01-06 13:48:02 +00:00
Mathias Vorreiter Pedersen
9ed1510a8c
C++: Improved query precision using SimpleRangeAnalysis
2020-01-06 14:16:52 +01:00
semmle-qlci
39531c6516
Merge pull request #2574 from max-schaefer/js/fix-17
...
Approved by erik-krogh
2020-01-06 12:43:56 +00:00
Rasmus Wriedt Larsen
5d01cb7c28
Python: Fix bad QL-rewriting
...
Original code:
exists(Expr e, For forloop | forloop = loop and e.pointsTo(_, _, capturing) |
not loop.contains(e)
)
The new version will preserve the same semantics. The problem with the first
rewrite was that `not loop.(For).somethingMore` would hold for any AstNode that
was not a For
2020-01-06 13:30:37 +01:00
Asger F
79f8d02019
JS: Add change note
2020-01-06 11:38:13 +00:00
Asger F
4d25bfc038
JS: Fix copy pasta
2020-01-06 11:37:21 +00:00
Asger F
142c83f38f
JS: Add negative dominance test
2020-01-06 11:37:21 +00:00
Asger F
aa6572b5c8
JS: Sanitize phi edges from barrier guards
2020-01-06 11:37:21 +00:00
Asger F
0b04f0d8f7
JS: Add test case for phi input
2020-01-06 11:37:20 +00:00
Max Schaefer
9391d36699
JavaScript: Teach extractor to tolerate assignment patterns in AST.
...
Our database representation of ASTs does not use assignment patterns, instead encoding the relevant information directly in the associated function/loop/assignment. We convert from an AST with assignment patterns to one without during parsing, so the extractor does not expect any assignment patterns to be present in the AST.
Due to a bug in the parser, this can currently happen for malformed programs. While we should fix that bug once it gets fixed in Acorn, it also makes sense for the extractor to be more robust, so this PR teaches the `ASTExtractor` pass to raise a parse error when it encounters an assignment pattern, and all other passes to simply ignore them.
2020-01-06 11:31:36 +00:00
Asger F
a3481b3713
TS: Do not pass --verbose to yarn
2020-01-06 11:18:58 +00:00
semmle-qlci
48deb30756
Merge pull request #2573 from max-schaefer/js/generalise-alert-suppression
...
Approved by asgerf
2020-01-06 10:43:17 +00:00
Rasmus Wriedt Larsen
9b0b0c338f
Python: Cleanup overrides tests
2020-01-06 10:55:37 +01:00
Mathias Vorreiter Pedersen
7b5dd56009
C++: Added .stats file
2020-01-06 09:45:58 +01:00
semmle-qlci
5dcc5b3b1e
Merge pull request #2581 from erik-krogh/FlowUselessExpr
...
Approved by max-schaefer
2020-01-06 08:33:36 +00:00
Esben Sparre Andreasen
9279bfc8a2
JS: add test case for arrow functions with duplicate parameter names
2020-01-06 09:21:36 +01:00
Esben Sparre Andreasen
96748ca32e
JS: sharpen js/duplicate-parameter-name
2020-01-06 08:51:00 +01:00
Esben Sparre Andreasen
5718fbd98a
JS: update test
2020-01-06 08:33:38 +01:00
Grzegorz Golawski
4ce25c045d
Simplify the query
2020-01-05 22:05:00 +01:00
Grzegorz Golawski
ab49397bb8
Add check for disabled CSRF protection in Spring
2020-01-03 21:52:50 +01:00
Calum Grant
41b4d70504
C#: Refactor, improve documentation and add tests for cs/serialization-check-bypass
2020-01-03 18:46:39 +00:00
shati-patel
9b9d7121e8
Merge pull request #2583 from jf205/advanced-ql
...
CodeQL documentation: reorganize 'Advanced QL' topics
2020-01-03 16:02:28 +00:00
James Fletcher
47f61f3569
Update docs/language/learn-ql/writing-queries/debugging-queries.rst
...
Co-Authored-By: shati-patel <42641846+shati-patel@users.noreply.github.com >
2020-01-03 15:55:14 +00:00
james
537739c42d
docs: address review comments
2020-01-03 15:31:31 +00:00
Anders Schack-Mulligen
e74aa33f9d
Java: Include non-null final fields in clearlyNotNull.
2020-01-03 16:24:54 +01:00
Asger F
503bcdc5d7
JS: Dont capitalize Promise in prose
2020-01-03 14:16:31 +00:00
Asger F
3c601fce74
Apply suggestions from code review
...
Co-Authored-By: Erik Krogh Kristensen <erik-krogh@github.com >
2020-01-03 14:15:52 +00:00
Asger F
30a8769dad
JS: Add more bad promise contexts
2020-01-03 14:12:55 +00:00
Mathias Vorreiter Pedersen
e926966e73
C++: Added more tests
2020-01-03 14:08:12 +01:00
Mathias Vorreiter Pedersen
cea78879b2
C++: Rename variables in tests to reflect their types
2020-01-03 14:07:19 +01:00
semmle-qlci
dc7863ce29
Merge pull request #2579 from asger-semmle/typescript-trace-resolution
...
Approved by max-schaefer
2020-01-03 12:57:43 +00:00
Jonathan Leitschuh
0e2c5db7b1
Netty Response Splitting use CompileTimeConstantExpr
...
Co-Authored-By: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2020-01-03 07:51:55 -05:00
james
23d1e06aa4
docs: move abstract classes topic to handbook
2020-01-03 12:07:01 +00:00
james
e8016a2303
docs: delete equivalence topic
2020-01-03 12:07:01 +00:00
james
fe18c18619
docs: move folding predicates topic
2020-01-03 12:06:55 +00:00
Asger F
4772798d7b
JS: do not resolve arbitrary extensions to JavaScript files
2020-01-03 11:37:51 +00:00
Asger F
c5f73cb868
JS: Add test showing spurious .css import
2020-01-03 10:59:10 +00:00
semmle-qlci
29be46169a
Merge pull request #2576 from asger-semmle/typescript-cyclic-prop-fallthroughnode
...
Approved by max-schaefer
2020-01-03 10:50:05 +00:00
Asger F
f31d47c66e
TS: explain test case
2020-01-03 10:48:15 +00:00
Asger F
36546ce7fe
TS: Print warning when bailing out of symbol type
2020-01-03 10:45:18 +00:00
Erik Krogh Kristensen
c22d3d0b3a
add test for block-level flow type annotations
2020-01-03 11:07:35 +01:00
semmle-qlci
06d812a6ff
Merge pull request #2556 from erik-krogh/RegexpVoidCxt
...
Approved by max-schaefer
2020-01-03 08:38:56 +00:00
Asger F
3a4771c29c
TS: Wrap getTypeOfSymbolAtLocation in try/catch
2020-01-02 16:55:17 +00:00
Asger F
202746e92d
TS: Guard getTypeAtLocation with try/catch
2020-01-02 16:31:23 +00:00
Asger F
0388e9ca0c
TS: Add regression test
2020-01-02 16:28:49 +00:00
shati-patel
564013d188
Merge pull request #2578 from jf205/ql-spec-fixes
...
QL spec: fix bullet list in 'Aggregations' section
2020-01-02 15:55:49 +00:00
james
618a3f91d8
docs: fix list
2020-01-02 15:48:57 +00:00
Asger F
2ca0e7d232
TS: Disable output from tracing
2020-01-02 15:38:10 +00:00
Asger F
8f478f7caf
TS: Add test with traceResolution: true
2020-01-02 15:04:30 +00:00
Mathias Vorreiter Pedersen
7dbb191531
C++: Improve query precision
2020-01-02 15:53:22 +01:00
Mathias Vorreiter Pedersen
cfb839a8f9
C++: Add test demonstrating the false positive
2020-01-02 15:48:01 +01:00
James Fletcher
f48b8fef20
Merge pull request #2575 from shati-patel/qlhb/bindingset
...
QL HB: Add bindingset example
2020-01-02 14:46:21 +00:00
shati-patel
f38ae3c677
QL HB: Reword description
...
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2020-01-02 14:41:58 +00:00
Shati Patel
94d55e90b0
QL HB: Use "real" example
2020-01-02 14:25:44 +00:00
Asger F
bcf1533e71
TS: Blacklist cyclic property fallthroughFlowNode
2020-01-02 14:13:48 +00:00
Anders Schack-Mulligen
7e987c570f
Merge pull request #2413 from JLLeitschuh/feature/JLL/maven_insecure_artifact_resolution
...
Java: Use of HTTP/FTP to download/upload Maven artifacts
2020-01-02 14:47:30 +01:00
Shati Patel
b68f9f7e00
QL HB: Add bindingset example
2020-01-02 13:06:17 +00:00
Max Schaefer
8d1ad5c5f3
JavaScript: Alert suppression through single-line /* */ style comments.
2020-01-02 10:45:20 +00:00
Erik Krogh Kristensen
d1a77d6993
refactor isInterpretedAsRegExp to directly work on a DataFlow node
2020-01-02 11:18:14 +01:00
Max Schaefer
de02bb4a0d
JavaScript: Prevent joining on configuration in onPath.
2020-01-02 09:49:09 +00:00
Max Schaefer
2a55ba5d4f
JavaScript: Fix join order in PathNode.getASuccessor.
2020-01-02 09:48:57 +00:00
Jonas Jensen
4830e43b3e
C++: Fix overlappingVariableMemoryLocations perf
...
The `overlappingVariableMemoryLocations` predicate was a helper
predicate introduced to fix a join-order issue in
`overlappingIRVariableMemoryLocations`. Unfortunately it caused a
performance issue of its own because it could grow too large. On the
small project (38MB zip) awslabs/s2n there were 181M rows in
`overlappingVariableMemoryLocations`, and it took 134s to evaluate.
The fix is to collapse the two predicates into one and fix join ordering
by including an extra column in the predicates being joined.
In addition, some parameters were reordered to avoid the overhead of
auto-generated `join_rhs` predicates.
Tuple counts of `overlappingVariableMemoryLocations` before:
623285 ~176% {2} r1 = JOIN AliasedSSA::isCoveredOffset#fff_120#join_rhs AS L WITH AliasedSSA::isCoveredOffset#fff_120#join_rhs AS R ON FIRST 2 OUTPUT L.<2>, R.<2>
119138 ~3% {2} r2 = SCAN AliasedSSA::VariableMemoryLocation::getVirtualVariable_dispred#ff AS I OUTPUT I.<1>, I.<0>
172192346 ~0% {2} r3 = JOIN r2 WITH AliasedSSA::hasUnknownOffset#ff_10#join_rhs AS R ON FIRST 1 OUTPUT R.<1>, r2.<1>
172815631 ~0% {2} r4 = r1 \/ r3
172192346 ~0% {2} r5 = JOIN r2 WITH AliasedSSA::hasUnknownOffset#ff_10#join_rhs AS R ON FIRST 1 OUTPUT r2.<1>, R.<1>
345007977 ~87% {2} r6 = r4 \/ r5
return r6
Tuple counts of `overlappingIRVariableMemoryLocations` after:
117021 ~134% {2} r1 = JOIN AliasedSSA::isCoveredOffset#ffff AS L WITH AliasedSSA::isCoveredOffset#ffff AS R ON FIRST 3 OUTPUT L.<3>, R.<3>
201486 ~1% {2} r2 = JOIN AliasedSSA::hasUnknownOffset#fff AS L WITH AliasedSSA::hasVariableAndVirtualVariable#fff AS R ON FIRST 2 OUTPUT L.<2>, R.<2>
318507 ~26% {2} r3 = r1 \/ r2
201486 ~3% {2} r4 = JOIN AliasedSSA::hasUnknownOffset#fff AS L WITH AliasedSSA::hasVariableAndVirtualVariable#fff AS R ON FIRST 2 OUTPUT R.<2>, L.<2>
519993 ~92% {2} r5 = r3 \/ r4
return r5
2019-12-27 16:06:24 +01:00
Calum Grant
68f42a6f47
C#: Analysis change notes
2019-12-27 12:07:26 +00:00
Calum Grant
3db900b183
C#: Remove false positive and update test output
...
C#: Mark results as GOOD
2019-12-27 12:07:19 +00:00
Calum Grant
fd0225ca59
C#: Add test
2019-12-27 11:44:39 +00:00
Jonas Jensen
618bf2e29e
C++: IR data flow through total chi operands
2019-12-27 11:44:41 +01:00
Jonas Jensen
64c79bf9e1
C++: Deprecate UninitializedNode in IR data flow
...
It's not used outside of tests, and it's not useful. It will break the
tests when we start allowing flow through chi nodes.
2019-12-27 11:21:33 +01:00
Calum Grant
0f178be12e
C#: Update change notes.
2019-12-23 15:29:20 +00:00
Calum Grant
a059c13f6c
C#: Add test for tuple expressions.
2019-12-23 15:18:28 +00:00
Calum Grant
63afb30797
C#: Tests for tuple expressions.
2019-12-23 15:18:21 +00:00
Calum Grant
e83b159bf8
C#: Handle TupleType expression.
2019-12-23 15:18:21 +00:00
Calum Grant
ad764b1dc6
C#: Update .gitignore
2019-12-23 14:31:54 +00:00
Mathias Vorreiter Pedersen
c9fe3e4d2d
C++: Updated upgrade script
2019-12-23 14:13:12 +01:00
Mathias Vorreiter Pedersen
bb282f403e
Fix comments
...
Co-Authored-By: Jonas Jensen <jbj@github.com >
2019-12-23 12:37:18 +01:00
Mathias Vorreiter Pedersen
11a545e08e
C++: Removed abstract classes from binary and assignment operations
2019-12-23 11:52:12 +01:00
Mathias Vorreiter Pedersen
6998336fb9
C++: Format .dbscheme file
2019-12-23 10:57:38 +01:00
Mathias Vorreiter Pedersen
46421efcef
C++: Rename crement operations
2019-12-23 10:41:14 +01:00
Mathias Vorreiter Pedersen
1b29e6c082
Remove @prefix_crement_oper_expr and @postfix_crement_oper_expr clauses
...
Co-Authored-By: Jonas Jensen <jbj@github.com >
2019-12-23 10:28:35 +01:00
Jonas Jensen
7e84453ec9
Merge pull request #2542 from geoffw0/datetime
...
C++: Sort through the leap year and japanese era queries
2019-12-23 10:13:12 +01:00
semmle-qlci
f921cf7d01
Merge pull request #2512 from erik-krogh/moarExceptions
...
Approved by esbena, max-schaefer
2019-12-20 20:31:50 +00:00
Dave Bartolomeo
5b5d2f2b67
Merge pull request #2154 from rdmarsh2/rdmarsh/cpp/ir-callee-side-effects
...
C++: add InitializeIndirection for pointer params
2019-12-20 13:13:54 -07:00
Mathias Vorreiter Pedersen
cb22702908
C++: Added update script
2019-12-20 18:38:14 +01:00
Mathias Vorreiter Pedersen
006c8bb0cd
C++: Remove abstract classes from unary operations
2019-12-20 18:38:09 +01:00
Rasmus Wriedt Larsen
92e272cc03
Python: Address comments for modernising Variables/
2019-12-20 15:58:51 +01:00
Rasmus Wriedt Larsen
b8a9a353b8
Python: Autoformat Variables/*
2019-12-20 15:08:20 +01:00
Rasmus Wriedt Larsen
25ab0ed20f
Python: Modernise Variables/MonkeyPatched.qll
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
994ad197c4
Python: Add Module::builtinModule()
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
58bb16e5dd
Python: Modernise Variables/Undefined.qll
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
34f9135492
Python: Modernise py/unused-parameter
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
15bc4cd090
Python: Add override helpers to Value classes
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
aba3ac7b66
Python: Modernise py/uninitialized-local-variable
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
697a006ef2
Python: Modernise py/undefined-global-variable
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
5faa7e7127
Python: Add ModuleValue::hasCompleteExportInfo
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
3ffea599f1
Python: Rewrite casts for py/undefined-global-variable
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
81e27aab8d
Python: Modernise py/unused-loop-variable
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
8f7ba0a06d
Python: Modernise py/local-shadows-global
2019-12-20 15:05:49 +01:00
Rasmus Wriedt Larsen
9f4088413a
Python: Modernise py/local-shadows-builtin
...
+ moved `scope instanceof Function` so it makes more sense :)
2019-12-20 15:05:49 +01:00
yo-h
cc7f98e0f6
Merge pull request #2555 from hvitved/csharp/xml-sync
...
C#: Sync `XML.qll` with other languages
2019-12-20 09:03:55 -05:00
Jonas Jensen
de55a6846f
Merge pull request #2204 from alexet/cache-to-string
...
Cache the computation of core toString predicates for cpp c# and java.
2019-12-20 14:54:46 +01:00
Tom Hvitved
665d38647d
Merge pull request #2557 from calumgrant/cs/extractor-label-catch
...
C# extractor: Catch exceptions when generating trap
2019-12-20 13:09:21 +01:00
Erik Krogh Kristensen
a0b5aa5ae4
more precise heuristic to identify allowed call targets
2019-12-20 10:51:39 +01:00
Jonas Jensen
18d4772508
Merge pull request #2463 from geoffw0/overflowcalc
...
CPP: Allocation and Deallocation libraries
2019-12-19 21:27:42 +01:00
Jonas Jensen
939979ddef
Merge branch 'master' into overflowcalc
2019-12-19 14:12:00 +01:00
Jonas Jensen
a13748f484
Merge pull request #2259 from rdmarsh2/rdmarsh/cpp/default-taint-tracking-sources
...
C++: move sources into DefaultTaintTracking.qll
2019-12-19 14:09:41 +01:00
Jonas Jensen
4fffaabab9
Merge pull request #2551 from MathiasVP/argument-suppresion-c89-style
...
C++: Alert suppression through single-line /* */ style comments
2019-12-19 13:19:49 +01:00
Calum Grant
3c76346635
C#: WIP Adding exception handlers.
...
C#: Improve robustness by catching and logging exceptions when generating trap IDs.
2019-12-19 11:28:05 +00:00
Erik Krogh Kristensen
15d74b7d03
remove FP from js/regexpinjection where no regexp was constructed
2019-12-19 10:47:03 +01:00
Tom Hvitved
29cd6a9e30
Sync XML.qll
2019-12-19 10:29:30 +01:00
Tom Hvitved
1b6bd7a0fa
C#: Update XML.qll for backwards compatibility
2019-12-19 10:27:59 +01:00
Tom Hvitved
82c368e13e
C#: Sync XML.qll with other languages
2019-12-19 10:26:08 +01:00
James Fletcher
5a6a2e8a68
Merge pull request #2547 from shati-patel/ql/tutorial
...
QL tutorials: Update formatting and style
2019-12-19 09:06:08 +00:00
Mathias Vorreiter Pedersen
30822f1d98
C++: Alert suppresion through single-line /* */ style comments
2019-12-19 09:10:09 +01:00
Robert Marsh
33067c8e31
Merge pull request #2519 from jbj/ir-backedge-notc
...
C++: Get rid of a fastTC and noopt in IR
2019-12-18 14:20:43 -08:00
Jonas Jensen
e7283afa3e
Merge pull request #2531 from dbartol/dbartol/MissingToString
...
C++: Fix `toString()` predicates that don't hold
2019-12-18 19:09:48 +01:00
semmle-qlci
339066ce04
Merge pull request #2552 from erik-krogh/ImportMeta
...
Approved by max-schaefer
2019-12-18 15:38:58 +00:00
Jonathan Leitschuh
75939afe9c
Update java/ql/src/Security/CWE/CWE-829/InsecureDependencyResolution.qhelp
...
Co-Authored-By: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2019-12-18 09:53:36 -05:00
Erik Krogh Kristensen
0611dc3f60
move change notes to extractor-javascript.md
2019-12-18 14:21:43 +01:00
Taus
52d231c219
Merge pull request #2469 from RasmusWL/python-modernise-twisted-library
...
Python: modernise twisted library
2019-12-18 13:55:50 +01:00
Taus
eb6feeeaf8
Merge pull request #2482 from RasmusWL/python-include-zope-web-tests
...
Python: include zope web tests from internal repo
2019-12-18 13:55:23 +01:00
Rasmus Wriedt Larsen
48f873e3d9
Python: Add getAReturnedNode to PythonFunctionValue
2019-12-18 12:00:43 +01:00
Erik Krogh Kristensen
43e9d11f75
inline definition of importIdentifier
2019-12-18 11:43:10 +01:00
Erik Krogh Kristensen
76d4db2552
changes based on review
2019-12-18 11:39:46 +01:00
Erik Krogh Kristensen
807664e545
add change note
2019-12-18 11:35:16 +01:00
Erik Krogh Kristensen
4fdfa51e44
add support for import.meta expressions in JavaScript
2019-12-18 10:45:54 +01:00
Rasmus Wriedt Larsen
582ef6cec9
Python: Restructure logic in Twisted.qll
2019-12-18 10:42:39 +01:00
Rasmus Wriedt Larsen
9942c3fd8b
Python: Autoformat twisted library
2019-12-18 10:42:39 +01:00
Rasmus Wriedt Larsen
ac55e6aba6
Python: Modernise twisted library
2019-12-18 10:42:39 +01:00
Rasmus Wriedt Larsen
4e3c183676
Python: Adapt twisted tests so they pass
2019-12-18 10:42:39 +01:00
Rasmus Wriedt Larsen
6011cb74f8
Python: Add twisted tests from internal repo
2019-12-18 10:42:39 +01:00
Anders Schack-Mulligen
2443f10823
C#: Update .expected file.
2019-12-18 10:40:18 +01:00
Jonas Jensen
367827a2ef
Merge pull request #2541 from max-schaefer/unify-xml-qlls
...
C++/Java/JavaScript/Python: Unify XML libraries.
2019-12-18 10:35:34 +01:00
Jonas Jensen
66d49a4a8a
Merge pull request #2546 from MathiasVP/arguments-source-qltest
...
C++: Added test for 333d0a69
2019-12-18 09:11:11 +01:00
Robert Marsh
e209ed961a
Merge branch 'master' into rdmarsh/cpp/ir-callee-side-effects
2019-12-17 15:11:02 -08:00
Robert Marsh
93ace5be35
C++: remove Chi node flow in DefaultTaintTracking
2019-12-17 14:23:11 -08:00
semmle-qlci
8ad11b98d0
Merge pull request #2538 from hvitved/csharp/missing-to-string
...
Approved by calumgrant
2019-12-17 19:23:47 +00:00
Dave Bartolomeo
240823019a
Merge remote-tracking branch 'upstream/master' into dbartol/MissingToString
2019-12-17 11:50:36 -07:00
Geoffrey White
ab0be19cc5
C++: Autoformat.
2019-12-17 17:51:55 +00:00
Jonathan Leitschuh
b218374772
Add io.netty.handler.codec.http.DefaultHttpResponse to Netty Response Splitting Detection
...
Related: #2185
Related: https://github.com/github/security-lab/issues/22
2019-12-17 12:12:04 -05:00
Robert Marsh
7468facb34
C++: autoformat more
2019-12-17 09:06:52 -08:00
Rasmus Wriedt Larsen
8b5d6ae2cf
Python: Modernise zope web tests
2019-12-17 17:42:03 +01:00
Rasmus Wriedt Larsen
e257ba40c4
Python: Make zope web tests pass
2019-12-17 17:42:03 +01:00
Erik Krogh Kristensen
2e5b7273ab
changes based on review feedback.
2019-12-17 17:30:05 +01:00
Geoffrey White
eaf00c6683
C++: Fix override related warning.
2019-12-17 15:39:29 +00:00
Erik Krogh Kristensen
0a8a2ecc61
make EventEmitter classses non final, and add a comment about extending EventEmitter::Range
2019-12-17 16:37:03 +01:00
Erik Krogh Kristensen
fed9302996
uppercase E in Electron
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-12-17 16:29:55 +01:00
Geoffrey White
9986206dc6
C++: Placement new does not necessarily require a delete.
2019-12-17 15:28:21 +00:00
Erik Krogh Kristensen
bf56797ad7
update expected output of tests
2019-12-17 16:27:55 +01:00
Erik Krogh Kristensen
f140820511
fix FP related to block-level flow type annotations
2019-12-17 16:10:20 +01:00
Shati Patel
6a1d0b016c
QL tutorials: Update formatting and style
2019-12-17 14:59:50 +00:00
Anders Schack-Mulligen
0880b57372
Merge pull request #1 from hvitved/csharp/no-ternary-cond-taint-tracking
...
C#: No taint-tracking steps for ternary conditionals
2019-12-17 15:29:24 +01:00
Mathias Vorreiter Pedersen
1d3ee71f73
C++: Added test for 333d0a69
2019-12-17 13:54:41 +01:00
Tom Hvitved
9dde1ce76a
C#: No taint-tracking steps for ternary conditionals
...
Ternary conditionals `b ? x : y` mistakenly had taint-tracking steps from both
`b`, `x`, and `y` to the conditional expression itself. Flow from `b` was not
intented, and flow from `x` and `y` is already part of ordinary data flow.
2019-12-17 13:53:39 +01:00
James Fletcher
a974bccd62
Merge pull request #2545 from shati-patel/update-ql4e
...
Docs: Update mention of "QL for Eclipse"
2019-12-17 12:39:31 +00:00
shati-patel
8143333928
Docs: Update mention of "QL for Eclipse"
2019-12-17 12:33:01 +00:00
Erik Krogh Kristensen
9dd7d1c6d7
changes based on review feedback
2019-12-17 13:19:53 +01:00
Erik Krogh Kristensen
f9ddd5891a
minor documentation fixes
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-12-17 13:05:20 +01:00
Geoffrey White
a5e10a7ae2
C++: More change notes.
2019-12-17 11:56:23 +00:00
Geoffrey White
520ff39349
C++: Update MemoryMayNotBeFreed.ql similarly.
2019-12-17 11:56:23 +00:00
Geoffrey White
9a944a947a
C++: Update MemoryNeverFreed.ql to exclude alloca (and use the new allocation model directly).
2019-12-17 11:10:03 +00:00
Geoffrey White
a8c31c6590
C++: Add AllocationFunction/AllocationExpr.requiresDealloc().
2019-12-17 11:07:08 +00:00
Anders Schack-Mulligen
ca08097b56
Java/C++/C#: Fix Java Content.getType and getContainerType to match C# and fix C# tests.
2019-12-17 11:51:58 +01:00
Geoffrey White
b2e2db1e5c
CPP: Autoformat.
2019-12-17 10:39:52 +00:00
Geoffrey White
19835cd11d
C++: Change note.
2019-12-17 10:27:13 +00:00
Max Schaefer
81f51e4e2b
Ensure that XML libraries for C++, Java, JavaScript and Python stay in sync.
2019-12-17 10:15:43 +00:00
Max Schaefer
09ee106333
Java/JavaScript: Add two deprecated predicates to XML.qll.
...
This makes XML.qll identical across C++, Java, JavaScript and Python.
2019-12-17 10:15:43 +00:00
Max Schaefer
a17b615ae5
C++/Python: Deprecate XMLFile.getPath and XMLFile.getFolder.
...
Both can be expressed using predicates inherited from `File`.
2019-12-17 10:15:43 +00:00
Max Schaefer
47c1fc7358
C++/Python: Fix XMLFile.getPath and XMLFile.getFolder.
...
Previously, the former returned the file's stem (that is, basename without extension), and the latter never held.
2019-12-17 10:15:43 +00:00
Max Schaefer
bf30f9cdd2
Python: Remove use of deprecated predicate.
2019-12-17 10:15:43 +00:00
Max Schaefer
bccdf59631
C++: Remove an unecessary unresolveElement.
...
As far as I can see, `@file` is not a `@usertype`, so this shouldn't be needed.
2019-12-17 10:15:43 +00:00
Max Schaefer
ef453db225
Python: Adjust XMLParent.getName to match other languages.
2019-12-17 10:15:43 +00:00
Max Schaefer
3068a89ab2
Python: Adjust implementation of allCharactersString to match other languages.
2019-12-17 10:15:43 +00:00
Max Schaefer
923e36ba4f
C++/Java/JavaScript/Python: Make qldoc consistent.
2019-12-17 10:15:43 +00:00
Max Schaefer
a2fe678464
C++/Java/JavaScript/Python: Unify imports in XML.qll.
2019-12-17 10:15:43 +00:00
Max Schaefer
49abffa477
Python: Autoformat XML.qll.
2019-12-17 10:15:43 +00:00
Geoffrey White
4d3fa3ac1d
C++: Demote UnsafeArrayForDaysOfYear.ql.
2019-12-17 10:14:24 +00:00
Geoffrey White
c1be4c78af
C++: Add tags to the leap year + japanese era queries.
2019-12-17 10:14:20 +00:00
Geoffrey White
6d516e0192
C++: Make some implementations in DatTime.qll more robust (and cope with 'const').
2019-12-17 10:14:08 +00:00
Jonas Jensen
9193a81e1a
Merge pull request #2534 from geoffw0/xml
...
C++: Fix characteristic predicate of `XMLParent`.
2019-12-17 10:57:40 +01:00
Max Schaefer
45d0e5971f
Merge pull request #2535 from RasmusWL/python-fix-xml-charpred
...
Python: Fix characteristic predicate of `XMLParent`
2019-12-17 07:17:42 +00:00
yo-h
69a2632806
Merge pull request #2341 from aschackmull/java/cached-tostring-perf-fixes
...
Java: Fix a number of performance issues when toString is cached.
2019-12-16 22:01:35 -05:00
yo-h
f418086992
Merge pull request #2529 from aschackmull/java/xmlparent-charpred
...
Java: Fix characteristic predicate of `XMLParent`.
2019-12-16 21:56:03 -05:00
Robert Marsh
fdaa06ce92
C++:autoformat
2019-12-16 12:54:31 -08:00
Robert Marsh
3c9d7953b6
Merge branch 'master' into rdmarsh/cpp/default-taint-tracking-sources
2019-12-16 11:49:22 -08:00
Tom Hvitved
f1193d084b
C#: Add missing toString() relations
2019-12-16 19:38:46 +01:00
Dave Bartolomeo
60c40adf31
C++: Fix formatting
2019-12-16 10:00:54 -07:00
Anders Schack-Mulligen
a97e7bd3b2
Java/C++/C#: Some review fixes.
2019-12-16 16:17:19 +01:00
Anders Schack-Mulligen
0eacadb309
C#: Fix unit test.
2019-12-16 16:17:19 +01:00
Anders Schack-Mulligen
a1a875e3e1
Java/C++/C#: Fix autoformat.
2019-12-16 16:15:48 +01:00
Anders Schack-Mulligen
02068ecdcd
Java/C++/C#: Sync.
2019-12-16 16:15:48 +01:00
Anders Schack-Mulligen
bca79cd4d6
Java/C++/C#: Add support for taint-getter/setter summaries.
2019-12-16 16:15:48 +01:00
Rasmus Wriedt Larsen
cd1a3e9bf0
Merge pull request #2537 from tausbn/action-disable-labeler
...
Actions: Disable labeler action.
2019-12-16 16:04:54 +01:00
Geoffrey White
25dc2ad273
C++: Support '__builtin_alloca'.
2019-12-16 14:19:33 +00:00
Geoffrey White
acca39bfc7
C++: Repair following merge.
2019-12-16 14:12:32 +00:00
James Fletcher
05ad7777cb
Merge pull request #2536 from shati-patel/docs/ql4e
...
Docs: Update references to QL for Eclipse
2019-12-16 14:10:56 +00:00
Geoffrey White
0da826f0c3
Merge branch 'master' into overflowcalc
2019-12-16 13:48:38 +00:00
Erik Krogh Kristensen
8f17db6670
changes based on review feedback
2019-12-16 14:43:29 +01:00
Jonas Jensen
8b1892d900
Merge pull request #2533 from m00nbsd/master
...
Add NetBSD/Solaris allocation functions.
2019-12-16 14:42:12 +01:00
Geoffrey White
0a1fa08488
Update cpp/ql/test/library-tests/files/Files.ql
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-12-16 13:38:36 +00:00
Calum Grant
a5b2549f6f
Merge pull request #2514 from hvitved/csharp/code-contracts
...
C#: Recognize Code Contract assertions
2019-12-16 13:00:01 +00:00
Taus Brock-Nannestad
d5d6093e75
Actions: Disable labeler action.
...
I've left the `labeler.yml` configuration file, in case this ever starts working
properly with forks.
2019-12-16 13:53:00 +01:00
Erik Krogh Kristensen
7c931452d9
autoformat
2019-12-16 13:45:42 +01:00
Rasmus Wriedt Larsen
6a73479ea3
Python: Modernise py/loop-variable-capture
2019-12-16 13:36:59 +01:00
Rasmus Wriedt Larsen
9004a8e71f
Python: Fix characteristic predicate of XMLParent
...
Like in https://github.com/Semmle/ql/pull/2520
2019-12-16 13:32:28 +01:00
Erik Krogh Kristensen
3ca3fa7e9e
add quotes on code in documentation
...
Co-Authored-By: Esben Sparre Andreasen <esbena@github.com >
2019-12-16 13:32:01 +01:00
Shati Patel
1ff5a8e8e2
Docs: Update references to QL for Eclipse
2019-12-16 12:28:39 +00:00
Geoffrey White
f990634481
C++: Fix the XMLParent Constructor.
2019-12-16 11:07:16 +00:00
Geoffrey White
a6407f00a7
C++: Extend the files test to cover the issue with XMLParent.
2019-12-16 11:07:12 +00:00
Geoffrey White
c4c1dfa2b9
C++: Modernize the files tests.
2019-12-16 11:07:07 +00:00
Jonas Jensen
5cea452123
Merge pull request #2491 from rdmarsh2/rdmarsh/cpp/ir-taintedIncludingGlobalVars
...
C++: handle global vars in DefaultTaintTracking
2019-12-16 11:00:34 +01:00
m00nbsd
f7484171c9
Add NetBSD/Solaris allocation functions.
...
* kmem_{z}alloc is used by Solaris and NetBSD
* pool_{cache_}get is used by NetBSD
2019-12-16 10:32:18 +01:00
Erik Krogh Kristensen
c19d8ecb73
refactorizations and preparations for SocketIO implementation
2019-12-16 10:13:27 +01:00
Erik Krogh Kristensen
8c0b6f26da
Merge remote-tracking branch 'upstream/master' into moarExceptions
2019-12-16 08:35:45 +01:00
Erik Krogh Kristensen
904976c7ac
update tests after removing control-flow checks from error-callbacks
2019-12-16 08:30:21 +01:00
Jonas Jensen
648c19978a
Merge pull request #2528 from geoffw0/hiddenqueries
...
CPP: Resolve some hidden queries
2019-12-14 09:39:13 +01:00
Dave Bartolomeo
914288d3c5
C++: Fix toString() predicates that don't hold
2019-12-13 17:06:05 -07:00
Erik Krogh Kristensen
1efe2ba167
inline ifStmt field
2019-12-13 19:00:54 +01:00
Geoffrey White
91af51cf46
CPP: Change note.
2019-12-13 16:58:37 +00:00
Jonathan Leitschuh
d24d1a11d0
Merge pull request #1 from aschackmull/java/cwe-829-qltest
...
Java: Add .expected file to qltest.
2019-12-13 10:55:17 -05:00
Anders Schack-Mulligen
13f12c5332
Java: Fix characteristic predicate of XMLParent.
2019-12-13 15:20:52 +01:00
Anders Schack-Mulligen
f88623ccb4
Java: Add .expected file to qltest.
2019-12-13 14:34:29 +01:00
semmle-qlci
9b6c394ac7
Merge pull request #2520 from max-schaefer/js/fix-2517
...
Approved by esbena
2019-12-13 12:59:37 +00:00
Erik Krogh Kristensen
3b2cc4674e
autoformat
2019-12-13 11:44:52 +01:00
Erik Krogh Kristensen
e164f46330
changes based on review feedback
2019-12-13 11:44:31 +01:00
Geoffrey White
d1530ddef9
CPP: Reduce precision of ClassesWithManyFields.ql.
2019-12-13 08:40:59 +00:00
Geoffrey White
49b5d9283f
CPP: Reduce precision of FeatureEnvy.ql.
2019-12-13 08:40:59 +00:00
Geoffrey White
896ec9de72
CPP: Reduce precision of InappropriateIntimacy.ql.
2019-12-13 08:40:58 +00:00
Geoffrey White
acb011de04
CPP: Reduce precision of JapaneseEraDate.ql.
2019-12-13 08:40:58 +00:00
Jonas Jensen
12c11d079b
Merge pull request #2523 from jf205/mergeback-123-ql
...
Mergeback 1.23 -> master
2019-12-13 09:08:27 +01:00
Robert Marsh
53988b4b6c
Merge pull request #2527 from Semmle/fix-labeler-yaml-escaping
...
Actions: Fix broken escaping in PR labeller action.
2019-12-12 16:00:17 -08:00
Taus
c1b5389d96
Actions: Fix broken escaping in PR labeler action.
...
TL;DR: YAML escaping is complicated. I think this should fix the problems.
2019-12-12 22:24:23 +01:00
Jonathan Leitschuh
0c2da8af40
Update java/ql/src/Security/CWE/CWE-829/InsecureDependencyResolution.ql
2019-12-12 14:10:11 -05:00
Robert Marsh
57d891e3b4
C++: autoformat
2019-12-12 11:03:18 -08:00
Asger F
45524d8b19
JS: Add to correctness-core suite
2019-12-12 16:05:05 +00:00
Asger F
e8f0e3811a
JS: Replace backticks with <code>
2019-12-12 15:52:09 +00:00
Asger F
eb82b17f16
JS: QHelp and a bit of qldoc
2019-12-12 15:40:41 +00:00
Rasmus Wriedt Larsen
43301505f5
Merge pull request #2521 from tausbn/automatically-label-pull-requests
...
Actions: Automatically add language-specific labels to pull requests.
2019-12-12 15:35:51 +00:00
Taus Brock-Nannestad
2fec0d0294
Escape labels with potentially problematic characters.
2019-12-12 16:29:04 +01:00
Erik Krogh Kristensen
f35dc5d274
Merge remote-tracking branch 'upstream/master' into moarExceptions
2019-12-12 16:13:52 +01:00
Erik Krogh Kristensen
17358606cb
change callback to rely on an behavior heuristic rather than a naming heuristic
2019-12-12 16:12:37 +01:00
Asger F
f398247d2f
JS: Step through rephinements in getImmediatePredecessor
2019-12-12 15:11:25 +00:00
Asger F
a30f991b5e
JS: Add query for missing await
2019-12-12 15:11:25 +00:00
james
f6029bd55c
Merge branch 'rc/1.23' into mergeback-123-ql
2019-12-12 15:05:28 +00:00
Erik Krogh Kristensen
08d0cb795b
revert the introduction of getEnclosingCall
2019-12-12 15:14:02 +01:00
Taus Brock-Nannestad
51315217ff
Add documentation label to docs/**/*.
2019-12-12 15:10:21 +01:00
Taus Brock-Nannestad
558c0a440e
Actions: Automatically add language-specific labels to pull requests.
2019-12-12 14:42:45 +01:00
Rasmus Wriedt Larsen
e3b502085b
Merge pull request #2515 from tausbn/python-fix-bad-join-order-in-statement-no-effect
...
Python: Fix bad join order in `py/ineffectual-statement`.
2019-12-12 13:41:18 +00:00
Max Schaefer
dfeca63677
JavaScript: Fix characteristic predicate of XMLParent.
...
The database type `@xmlparent` is defined a bit too loosely in that it includes all of `@file`, not just XML files. Fixing that would involve fiddling with the extractor/dbscheme, so I have opted to fix it at the QL level instead.
2019-12-12 12:38:29 +00:00
Jonas Jensen
fd48dcf63e
C++: Get rid of a fastTC and noopt in IR
...
The `getAChild*` fastTC was causing OOM on a `make allyesconfig` Linux
database with 8GB RAM, and I've observed it to be slow on other
databases too.
2019-12-12 09:31:39 +01:00
Tom Hvitved
374b0c063e
C#: Autoformat
2019-12-11 20:36:54 +01:00
Erik Krogh Kristensen
e818f4c08b
refactored some duplicated methods into the abstract class, and specialized the type of emitter in NodeJS EventEmitter dispatch/registration
2019-12-11 18:25:03 +01:00
Taus Brock-Nannestad
d5cc42e34c
Python: Fix bad join order in py/ineffectual-statement.
...
This used to take 30s on `cpython`.
```
Tuple counts for StatementNoEffect::side_effecting_binary#f:
46522 ~0% {2} r1 = ClassObject::ClassObject::hasAttribute_dispred#fb AS L AND NOT StatementNoEffect::side_effecting_binary#f#antijoin_rhs AS R(L.<0>, L.<1>)
46522 ~2% {2} r2 = SCAN r1 OUTPUT r1.<1>, r1.<0>
950960 ~2% {2} r3 = JOIN r2 WITH Operations::Operator::getSpecialMethodName_dispred#ff_10#join_rhs AS R ON FIRST 1 OUTPUT R.<1>, r2.<1>
950960 ~2% {2} r4 = JOIN r3 WITH py_operators AS R ON FIRST 1 OUTPUT R.<2>, r3.<1>
950960 ~0% {3} r5 = JOIN r4 WITH AstGenerated::BinaryExpr_::getLeft_dispred#ff AS R ON FIRST 1 OUTPUT R.<1>, r4.<1>, r4.<0>
122934382 ~0% {2} r6 = JOIN r2 WITH Operations::Cmpop::getSpecialMethodName_dispred#ff_10#join_rhs AS R ON FIRST 1 OUTPUT R.<1>, r2.<1>
122934382 ~3% {3} r7 = JOIN r6 WITH project#Operations::Compare::compares_dispred#ffff#3_201#join_rhs AS R ON FIRST 1 OUTPUT R.<2>, r6.<1>, R.<1>
123885342 ~3% {3} r8 = r5 \/ r7
300 ~8% {1} r9 = JOIN r8 WITH project#Exprs::Expr::refersTo_dispred#ffff AS R ON FIRST 2 OUTPUT r8.<2>
return r9
```
With this commit, it takes a few milliseconds.
2019-12-11 17:58:30 +01:00
semmle-qlci
3d8c35e523
Merge pull request #2509 from asger-semmle/typescript-full-json
...
Approved by max-schaefer
2019-12-11 16:31:26 +00:00
Tom Hvitved
78f63a3679
C#: Add change note
2019-12-11 16:57:35 +01:00
Tom Hvitved
b7484e63ee
C#: Recognize Code Contract assertions
2019-12-11 16:54:42 +01:00
Tom Hvitved
5429448eeb
C#: Add tests for Code Contracts
2019-12-11 16:51:42 +01:00
Erik Krogh Kristensen
f537e28389
add pragma to internalBlocks predicate to fix performance
2019-12-11 15:19:30 +01:00
Asger F
063abb5cbc
TS: Avoid name clash between tsconfig.json and type table
2019-12-11 12:15:44 +00:00
semmle-qlci
cb8e5fa3fc
Merge pull request #2411 from asger-semmle/regexp-sanitizer-guards
...
Approved by esbena, max-schaefer
2019-12-11 12:00:21 +00:00
Erik Krogh Kristensen
62512dd3e9
expand the js/exception-xss to handle more types of exceptional flow
2019-12-11 10:43:50 +01:00
yo-h
837b1e2f9b
Merge pull request #2501 from hmakholm/test-extractors
...
Prepare for `codeql test`:
2019-12-10 16:49:14 -05:00
Calum Grant
3e0045f435
Merge pull request #2308 from hvitved/csharp/dataflow/types
...
C#: Type-based pruning for data flow
2019-12-10 20:16:20 +00:00
Erik Krogh Kristensen
267c4c07ed
refactor EventEmitter model to use the ::Range pattern
2019-12-10 15:54:14 +01:00
Tom Hvitved
abcb6b8aab
C#: Type-based pruning for data flow
2019-12-10 15:48:48 +01:00
Tom Hvitved
54088248a1
C#: Use source declarations in field flow
2019-12-10 15:46:31 +01:00
Tom Hvitved
a344707baa
C#: Add more data flow tests
...
Add tests that exhibit missing type pruning.
2019-12-10 15:46:31 +01:00
Tom Hvitved
78ddb37a8c
C#: Track type information in data flow
...
This commit adds type information to data flow paths, by mapping node types onto
the smaller set of GVN types, and implementing `ppReprType()`.
The effect is a mere change in `DataFlow::PathNode::toString()`; no type-based
pruning is done yet.
2019-12-10 15:46:28 +01:00
Erik Krogh Kristensen
c4fd80d12b
some review feedback
2019-12-10 14:53:01 +01:00
Erik Krogh Kristensen
e5d465da9a
documentation fixes from @max-schaefer
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-12-10 12:01:51 +01:00
Erik Krogh Kristensen
59bafab6c3
update test to not use private class
2019-12-10 10:39:01 +01:00
Erik Krogh Kristensen
72cf14989a
update expected output of test
2019-12-10 10:33:37 +01:00
Jonathan Leitschuh
229622459c
Update InsecureDependencyResolution with code review comments
2019-12-09 20:37:53 -05:00
Jonathan Leitschuh
f341234edb
Apply suggestions from code review
...
Co-Authored-By: Felicity Chapman <felicitymay@github.com >
Co-Authored-By: yo-h <55373593+yo-h@users.noreply.github.com >
2019-12-09 19:17:23 -05:00
Robert Marsh
18e7eff43c
C++: autoformat
2019-12-09 13:47:38 -08:00
Robert Marsh
b9f8c39fe2
C++: respond to PR comments
2019-12-09 10:55:56 -08:00
Erik Krogh Kristensen
60a825cf66
fix tabs and spaces
2019-12-09 16:06:17 +01:00
Erik Krogh Kristensen
110302678c
add model for EventEmitter in NodeJS, and base the Electron::IPC model on top of the new EventEmitter model
2019-12-09 14:27:35 +01:00
Calum Grant
3049bf2c85
Merge pull request #2358 from cldrn/ASPNetPagesValidateRequest
...
Adds CodeQL query to check for Pages with disabled built-in validation
2019-12-09 13:05:03 +00:00
Tom Hvitved
25265bddc7
Merge pull request #2494 from calumgrant/cs/roslyn-3.4
...
C#: Upgrade Roslyn to 3.4
2019-12-09 12:21:30 +01:00
Henning Makholm
073563a19b
Python tests: explicitly specify --lang2 for python2 tests
...
This allows them to work with the `LegacyQltLanguage.PYTHON3` extraction recipe.
2019-12-07 02:38:02 +01:00
Henning Makholm
baacc6f66b
Java tests: add queries.xml
...
The `queries.xml` file defines which extractor the `codeql test` runner will use
to extract databases for the tests. In the future one will be able to write this
information in `qlpack.yml`, but we can't do that immediately because the
_existing_ CodeQL tooling would refuse to parse a `qlpack.yml` that has
the new field in it.
2019-12-07 02:38:02 +01:00
Henning Makholm
66b3c7cf07
JS tests: add queries.xml
...
The `queries.xml` file defines which extractor the `codeql test` runner will use
to extract databases for the tests. In the future one will be able to write this
information in `qlpack.yml`, but we can't do that immediately because the
_existing_ CodeQL tooling would refuse to parse a `qlpack.yml` that has the new
field in it.
Adding a queries.xml file means that the normalization of file names in the test
output changes even with the old QLTest, so there are a number of consequential
updates of expected output files.
2019-12-07 02:38:02 +01:00
yo-h
ed97be459f
Merge pull request #2454 from aschackmull/java/explicit-mul-zero
...
Java: Allow explicit zero multiplication in java/evaluation-to-constant.
2019-12-06 18:13:43 -05:00
Jonas Jensen
0012fef504
Merge pull request #2497 from hvitved/csharp/remove-cp
...
C#: Remove a Cartesian product
2019-12-06 13:58:33 +00:00
Calum Grant
964f2f25dc
Merge pull request #2462 from hvitved/csharp/localvars-refactor
...
C#: Handle tuple patterns in `is` expressions
2019-12-06 12:59:14 +00:00
Calum Grant
4b0a149704
C#: Update qltest output.
2019-12-06 12:41:20 +00:00
Calum Grant
5e6b7be5b8
C#: Update nullability tests.
2019-12-06 12:41:20 +00:00
Calum Grant
5f6527a183
C#: Compare symbols using SymbolEqualityComparer.
2019-12-06 12:41:20 +00:00
Calum Grant
ca195e9340
C#: Update project files to Roslyn 3.4
2019-12-06 12:41:20 +00:00
shati-patel
a5274ad5f2
Merge pull request #2496 from jf205/jf-mergeback-123
...
Merge rc/1.23 into master
2019-12-06 12:24:07 +00:00
Asger F
abec4badb5
Apply suggestions from code review
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-12-06 11:53:09 +00:00
Asger F
344f0b4995
Fix typo in qldoc
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-12-06 11:53:09 +00:00
Asger F
c1da83bf6c
Fix typo in qldoc
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-12-06 11:53:09 +00:00
Asger F
2acd616e6f
JS: Review comments
2019-12-06 11:53:06 +00:00
Anders Schack-Mulligen
5a2ed9fd81
Java: Add change note.
2019-12-06 11:50:27 +00:00
Asger F
bbb6dad726
JS: Update koa testcase
2019-12-06 11:49:59 +00:00
Asger F
b407de01f8
JS: Update TaintBarriers test
2019-12-06 11:49:59 +00:00
Asger F
a6e75259d6
JS: More fine-grained regexp-based sanitizer guards
2019-12-06 11:49:59 +00:00
Asger F
ad6e949bad
JS: Introduce RegExpCreationNode
2019-12-06 11:49:59 +00:00
Asger F
4354945c26
JS: Factor out recognition of RegExp flags
2019-12-06 11:49:59 +00:00
Tom Hvitved
3a95cd5e9c
C#: Remove a Cartesian product
2019-12-06 10:42:59 +00:00
james
67eea44678
Merge branch 'rc/1.23' into jf-mergeback-123
2019-12-06 09:16:39 +00:00
Geoffrey White
a3efcf66a6
Merge pull request #2495 from hmakholm/pr/update-c-test
...
C++ tests: generalize arguments tests
2019-12-06 09:10:17 +00:00
Henning Makholm
6bdf186d1e
C tests: generalize arguments tests
...
With the coming `codeql test` support, the `predefined_macros` file will not
necessarily be located under a `tools` directory. Change the test to hide more
of its actual path, so it will work in both cases.
2019-12-06 01:21:17 +01:00
Tom Hvitved
3e93aa9787
C#: Address review comments
...
- Undo split of `localvars` relation.
- Properly extract tuple declarations in `is` expressions.
2019-12-05 22:31:38 +00:00
Robert Marsh
28fb3d606a
C++: add fread and printf alias models
2019-12-05 12:14:33 -08:00
Robert Marsh
52a74718da
C++: Move sources into DefaultTaintTracking
2019-12-05 12:14:25 -08:00
Robert Marsh
39b400ca69
C++: Add DefinitionByReferenceNode to IR dataflow
2019-12-05 11:56:57 -08:00
Calum Grant
59ce8842bb
Merge branch 'master' of git.semmle.com:Semmle/ql into ASPNetPagesValidateRequest
...
# Conflicts:
# change-notes/1.24/analysis-csharp.md
2019-12-05 15:58:47 +00:00
Felicity Chapman
fa8e5e6793
Merge pull request #2489 from jf205/deprecate-cobol-master
...
Supported languages: update COBOL info
2019-12-05 15:08:53 +00:00
Robert Marsh
055c1d0efa
Merge pull request #2488 from geoffw0/speedup2
...
CPP: Speed up SensitiveExprs.qll
2019-12-04 14:09:32 -08:00
Robert Marsh
420a0bb74c
C++: handle namespace vars in DefautlTaintTracking
2019-12-04 13:16:12 -08:00
Robert Marsh
ec95197d6d
Merge pull request #2451 from dbartol/dbartol/May-Must
...
C++/C#: Consistent handling of "may" vs. "must" memory accesses
2019-12-04 12:32:53 -08:00
Dave Bartolomeo
cbb6797ca8
Merge from master and resolve conflicts
2019-12-04 10:14:52 -07:00
Calum Grant
73c8888361
Merge pull request #2356 from cldrn/ASPNetRequestValidationMode
...
Adds CodeQL query to check for insecure RequestValidationMode in ASP.NET
2019-12-04 17:02:08 +00:00
shati-patel
343385bd2e
Merge pull request #2492 from Semmle/revert-2487-deprecate-cobol
...
Revert "Learning CodeQL docs: add COBOL notes and remove links"
2019-12-04 16:41:00 +00:00
James Fletcher
d47f08488f
Revert "Learning CodeQL docs: add COBOL notes and remove links"
2019-12-04 16:34:00 +00:00
Dave Bartolomeo
50dc5e2ba3
Merge pull request #2438 from rdmarsh2/rdmarsh/ir-line-number-ids
...
C++/C#: use line numbers for instruction IDs
2019-12-03 18:48:28 -08:00
Robert Marsh
d99a90bfea
C++: handle global vars in DefaultTaintTracking
2019-12-03 16:08:43 -08:00
Robert Marsh
722cc91eae
C++: make getLineRank private
2019-12-03 10:53:08 -08:00
Jonas Jensen
57917bec17
Merge pull request #2480 from hvitved/dataflow/performance-tweaks
...
Data flow: Various performance tweaks
2019-12-03 18:44:11 +01:00
Felicity Chapman
37e9ff1197
Merge pull request #2487 from jf205/deprecate-cobol
...
Learning CodeQL docs: add COBOL notes and remove links
2019-12-03 17:31:44 +00:00
Calum Grant
8018db3f66
Merge pull request #2474 from hvitved/csharp/dispatch-perf
...
C#: Improve performance of dispatch library
2019-12-03 15:47:43 +00:00
james
971db7126b
docs: delete link to query console
2019-12-03 14:37:33 +00:00
Geoffrey White
8ddf877756
CPP: Autoformat.
2019-12-03 12:17:37 +00:00
james
f602c78242
docs: update cobol info
2019-12-03 11:58:30 +00:00
james
a560b6caa5
docs: increase trainig project version number
2019-12-03 10:57:12 +00:00
Geoffrey White
cc43e1116b
CPP: Do the logic at the target, rather than the access, as there are likely fewer.
2019-12-03 10:52:40 +00:00
james
25e779913f
docs: add cobol notes
2019-12-03 10:52:06 +00:00
Geoffrey White
20eb39d37e
CPP: Bypass some of the complexity in 'toString'.
2019-12-03 10:44:59 +00:00
Geoffrey White
6e6c1693f4
CPP: Speed up SensitiveExprs.qll 'suspicious' and 'nonSuspicious' mechanism.
2019-12-03 10:43:36 +00:00
Geoffrey White
b752a6c8ed
Merge pull request #2381 from jbj/StackVariable
...
C++: Add StackVariable class, preferred over LocalScopeVariable
2019-12-03 10:35:16 +00:00
Geoffrey White
2faae4dcb1
CPP: Autoformat.
2019-12-03 09:00:43 +00:00
semmle-qlci
cfcd18b411
Merge pull request #2429 from erik-krogh/typeAheadSink
...
Approved by esbena
2019-12-03 08:07:25 +00:00
Robert Marsh
1b802c7e18
C#: accept test change
2019-12-02 13:59:19 -08:00
Paulino Calderon
5fd0662264
Update csharp/ql/src/Security Features/CWE-016/ASPNetPagesValidateRequest.qhelp
...
Fixes typo
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2019-12-02 16:44:39 -05:00
Paulino Calderon
24b2471533
Update change-notes/1.24/analysis-csharp.md
...
tag update
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2019-12-02 16:44:25 -05:00
Paulino Calderon
9576e2a698
Update csharp/ql/src/Security Features/CWE-016/ASPNetPagesValidateRequest.qhelp
...
Adds missing code tags
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2019-12-02 16:43:51 -05:00
Dave Bartolomeo
acc3d23877
Clarify comment
2019-12-02 11:53:43 -08:00
Henning Makholm
e441e432ff
Merge pull request #2484 from asger-semmle/typescript-codeql-env-var
...
JS: Make extractor aware of CodeQL env vars
2019-12-02 18:36:45 +01:00
Asger F
f162749044
Merge pull request #2418 from max-schaefer/js/file-locatable
...
JavaScript: Make `File` not extend `Locatable` anymore.
2019-12-02 16:15:14 +00:00
Asger F
f988e9004f
JS: Autoformat FileExtractor.java
2019-12-02 16:06:37 +00:00
Asger F
c931beb853
TS: Make AutoBuild aware of CodeQL env vars
2019-12-02 16:06:27 +00:00
Anders Schack-Mulligen
2f8e92571a
Merge pull request #2483 from hmakholm/pr/move-test
...
remove java test EmptyInterface
2019-12-02 16:18:08 +01:00
Henning Makholm
95c26a51af
remove java test EmptyInterface
...
This is a test of an internal query for the Semmle repository. It cannot
run against the public QL repository alone, and therefore should not be
tested here.
https://git.semmle.com/Semmle/code/pull/35690 adds the test back to the
internal repo.
2019-12-02 15:29:42 +01:00
Rasmus Wriedt Larsen
387ab52855
Python: Add zope web tests from internal repo
2019-12-02 14:38:03 +01:00
Tom Hvitved
b3990c5a1d
Data flow: Revert reordering changes in flowStore and flowRead
2019-12-02 14:25:59 +01:00
Tom Hvitved
5baa133e6c
Data flow: Sync files
2019-12-02 13:41:17 +01:00
Max Schaefer
ec2ba735de
JavaScript: Update Dependencies library to not rely on Files being Locatable.
...
Previously, we would consider an HTML file to be a dependent of all scripts embedded in it. Now we instead consider each JavaScript toplevel inside the HTML file to be a dependent, which is more sensible anyway.
2019-12-02 12:40:49 +00:00
Tom Hvitved
b1245eeac8
Data flow: Various performance tweaks
2019-12-02 13:38:10 +01:00
Nick Rolfe
d293418672
Merge pull request #2478 from jbj/mergeback-20191202
...
Mergeback from rc/1.23 to master
2019-12-02 12:28:20 +00:00
Calum Grant
fcd13dc595
Merge remote-tracking branch 'upstream/master' into ASPNetRequestValidationMode
...
# Conflicts:
# change-notes/1.24/analysis-csharp.md
2019-12-02 12:03:11 +00:00
Erik Krogh Kristensen
ea9d6189de
update expected test outpu
2019-12-02 12:52:39 +01:00
semmle-qlci
ceb9fff70c
Merge pull request #2479 from max-schaefer/localTaintStep
...
Approved by asgerf
2019-12-02 11:35:43 +00:00
semmle-qlci
dc7a0c1b91
Merge pull request #2442 from hvitved/csharp/dataflow/conversion-operator
...
Approved by calumgrant
2019-12-02 11:01:35 +00:00
Max Schaefer
aeda2d68f8
JavaScript: Introduce localTaintStep predicate.
...
It's sometimes useful for exploratory queries, and the other languages have it as well.
2019-12-02 09:43:08 +00:00
Jonas Jensen
5b24b1efc3
Merge remote-tracking branch 'upstream/rc/1.23' into mergeback-20191202
...
Conflicts solved:
javascript/extractor/src/com/semmle/js/extractor/Main.java
javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js
2019-12-02 09:57:34 +01:00
Erik Krogh Kristensen
c6c1ebe81a
Merge remote-tracking branch 'upstream/master' into typeAheadSink
2019-12-02 08:41:49 +01:00
Paulino Calderon
8026925a3a
Update csharp/ql/src/Security Features/CWE-016/ASPNetRequestValidationMode.ql
...
Added missing quotes.
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2019-11-29 22:39:50 -05:00
Paulino Calderon
879d34d24d
Update csharp/ql/src/Security Features/CWE-016/ASPNetRequestValidationMode.qhelp
...
Missing comma.
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2019-11-29 22:39:29 -05:00
Paulino Calderon
22964cba74
Update csharp/ql/src/Security Features/CWE-016/ASPNetRequestValidationMode.qhelp
...
Rephrasing.
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2019-11-29 22:39:04 -05:00
Paulino Calderon
a2dfd551f6
Update csharp/ql/src/Security Features/CWE-016/ASPNetRequestValidationMode.qhelp
...
built in to built-in
Co-Authored-By: James Fletcher <42464962+jf205@users.noreply.github.com >
2019-11-29 22:38:42 -05:00
Tom Hvitved
c845a1ba91
C#: Improve performance of dispatch library
2019-11-29 15:32:00 +01:00
Calum Grant
a4251f67a2
C#: Analysis change notes.
2019-11-29 10:32:04 +00:00
Calum Grant
30a2620a8c
C#: Tidy up docs, query metadata and add tests.
2019-11-29 10:31:58 +00:00
Tom Hvitved
a062d7d41c
C#: Add regression test
2019-11-29 10:10:24 +01:00
Max Schaefer
f958916c76
Merge pull request #2330 from erik-krogh/exceptionXss
...
JS: Added query for detecting XSS that happens through an exception
2019-11-29 09:04:45 +00:00
Geoffrey White
3477c4a8fb
Update cpp/ql/src/semmle/code/cpp/commons/Alloc.qll
...
Co-Authored-By: Jonas Jensen <jbj@github.com >
2019-11-28 17:30:36 +00:00
Geoffrey White
aae9f88413
CPP: Model 'alloca'.
2019-11-28 17:27:37 +00:00
semmle-qlci
73e08eba43
Merge pull request #2468 from max-schaefer/js/regexp-predecessor
...
Approved by asgerf
2019-11-28 16:57:31 +00:00
Jonas Jensen
763b18cd11
Merge remote-tracking branch 'upstream/master' into StackVariable
...
Conflicts:
change-notes/1.24/analysis-cpp.md
cpp/ql/src/Security/CWE/CWE-131/NoSpaceForZeroTerminator.ql
2019-11-28 17:51:20 +01:00
Jonas Jensen
d816701e07
Revert "C++: Use StackVariable in Nullness.qll"
...
It looks like allowing statics in `Nullness.qll` is fine since it's a
"may be null" analysis rather than a "must be null" analysis.
This reverts commit f5b9837e19 .
2019-11-28 17:44:42 +01:00
Jonas Jensen
d22df24cab
Merge pull request #2467 from geoffw0/speedup1
...
CPP: Speed up isCompiledAsC.
2019-11-28 17:31:27 +01:00
semmle-qlci
198b3b34a3
Merge pull request #2432 from asger-semmle/install-typescript-deps
...
Approved by max-schaefer
2019-11-28 16:08:46 +00:00
Max Schaefer
7487c79271
JavaScript: Add missing qldoc.
2019-11-28 15:54:52 +00:00
Max Schaefer
47cbf0bf88
JavaScript: Override Locatable.getLocation() for @files.
2019-11-28 15:54:03 +00:00
Max Schaefer
a788bf87a0
JavaScript: Fix RegExpTerm.getPredecessor and getSuccessor.
...
These were originally meant to give you the term that is textually matched right before/right after the receiver. When I introduced support for lookbehinds, I changed the behaviour to give you the term that is _operationally_ matched before/after the receiver (remember that lookbehinds are implemented by reverse-matching).
However, I think that's rarely ever what you want, and is wrong for the only two uses of these predicates, where it's the textual matching order that we are after, not the operational order.
Consequently, I've changed the semantics back and updated the comments to hopefully clarify the intention.
2019-11-28 15:14:50 +00:00
Tom Hvitved
04cecc04dd
C#: Update EntityFrameworkCore test
2019-11-28 15:28:50 +01:00
Paulino Calderon
eeffd7cf8d
Adds CodeQL query to check for Pages validateRequest directive
2019-11-28 14:22:08 +00:00
Tom Hvitved
af453d081e
C#: Only track taint through conversion operators defined in libraries
2019-11-28 15:21:04 +01:00
Taus
20513561a0
Merge pull request #2459 from RasmusWL/python-modernise-TurboGears-library
...
Python: modernise TurboGears library
2019-11-28 14:36:01 +01:00
Tom Hvitved
ba4fb82a08
C#: Add DB upgrade script
2019-11-28 14:30:21 +01:00
Tom Hvitved
b79fc87961
C#: Split up localvars database relation into two relations
2019-11-28 14:30:21 +01:00
semmle-qlci
2b0eef3b14
Merge pull request #2448 from tausbn/python-use-import-python-consistently
...
Approved by RasmusWL
2019-11-28 12:47:00 +00:00
Geoffrey White
b1c992e85f
CPP: Speed up isCompiledAsC (x3).
2019-11-28 11:28:38 +00:00
Calum Grant
5833b15f0e
C#: Analysis change notes.
2019-11-27 17:30:02 +00:00
Calum Grant
d001c3c2d2
C#: Restructure files.
2019-11-27 17:29:53 +00:00
Calum Grant
c906a8238d
C#: Edit qhelp for cs/insecure-request-validation-mode
2019-11-27 16:37:37 +00:00
Calum Grant
4b19f3b6a4
C#: Whitespace edit and edit query metadata.
2019-11-27 16:37:37 +00:00
Paulino Calderon
6f346c6676
Adds CodeQL query to check for insecure RequestValidationMode in ASP.NET
2019-11-27 16:37:37 +00:00
Erik Krogh Kristensen
d212394058
update expected output
2019-11-27 15:21:47 +01:00
Erik Krogh Kristensen
34e44e89fd
Merge remote-tracking branch 'upstream/master' into typeAheadSink
2019-11-27 15:19:06 +01:00
Rasmus Wriedt Larsen
44cc9dd0be
Python: Add TurboGears templating example
2019-11-27 15:07:32 +01:00
Rasmus Wriedt Larsen
b526421072
Python: Autoformat TurboGears library
2019-11-27 14:19:51 +01:00
Rasmus Wriedt Larsen
9ef270fc92
Python: Modernise TurboGears library
2019-11-27 14:19:04 +01:00
Tom Hvitved
ce16bc553a
C#: Autoformat
2019-11-27 13:47:24 +01:00
Erik Krogh Kristensen
9351cd44e4
Merge remote-tracking branch 'githubsemmle/master' into HEAD
2019-11-27 13:45:59 +01:00
semmle-qlci
a2827e9503
Merge pull request #2362 from erik-krogh/promiseAll
...
Approved by max-schaefer
2019-11-27 12:35:04 +00:00
Erik Krogh Kristensen
bafd57d7d5
refactor classes in typeahead.js model
2019-11-27 13:33:38 +01:00
Rasmus Wriedt Larsen
3e5e14a14b
Merge pull request #2431 from tausbn/python-cyclic-import-future-annotations
...
Python: Account for non-evaluation of annotations in cyclic imports.
2019-11-27 13:31:53 +01:00
Erik Krogh Kristensen
4f75986274
update test to not use private classes
2019-11-27 12:59:10 +01:00
semmle-qlci
4916bed9cd
Merge pull request #2433 from asger-semmle/import-js-file
...
Approved by max-schaefer
2019-11-27 10:55:59 +00:00
semmle-qlci
9ca4f6aecb
Merge pull request #2392 from asger-semmle/window-name-flow
...
Approved by max-schaefer
2019-11-27 10:55:26 +00:00
semmle-qlci
793988afe4
Merge pull request #2344 from asger-semmle/element-pattern-prop-read
...
Approved by max-schaefer
2019-11-27 10:54:46 +00:00
Anders Schack-Mulligen
2c3a6d7359
Java: Allow explicit zero multiplication in java/evaluation-to-constant.
2019-11-27 11:49:43 +01:00
Erik Krogh Kristensen
967ecbad24
Merge remote-tracking branch 'upstream/master' into promiseAll
2019-11-27 11:28:37 +01:00
Felicity Chapman
38f6f05f12
Merge pull request #2452 from yo-h/docs-query-metadata-precision-fix
...
Documentation: fix invalid `@precision` value
2019-11-27 10:26:49 +00:00
Erik Krogh Kristensen
e27a69960d
update description
2019-11-27 11:17:19 +01:00
Erik Krogh Kristensen
42fbcbf007
update expected test output
2019-11-27 11:14:04 +01:00
Erik Krogh Kristensen
60f7a7a274
changes based on review feedback
2019-11-27 11:11:49 +01:00
Erik Krogh Kristensen
6d63d75d87
remove superfluous line break
...
Co-Authored-By: Esben Sparre Andreasen <esbena@github.com >
2019-11-27 10:52:01 +01:00
Tom Hvitved
39aaa38486
C#: Update EntityFramework test
2019-11-27 10:28:12 +01:00
Anders Schack-Mulligen
3d0e3aa1fd
Java: Fix a number of performance issues when toString is cached.
2019-11-27 09:06:15 +01:00
Asger F
6eb2c26ea4
TS: Pass --no-default-rc and --non-interactive to yarn
2019-11-27 06:42:03 +00:00
Asger F
605c8834c6
JS: Avoid redundant window.name sources
2019-11-27 06:15:12 +00:00
yo-h
8a8b795696
Merge pull request #2447 from aschackmull/java/cache-perf
...
Java: Improve performance by normalizing import order to reduce cache invalidation.
2019-11-26 16:26:53 -05:00
Dave Bartolomeo
aa6bd07971
Merge remote-tracking branch 'upstream/master' into dbartol/May-Must
2019-11-26 14:07:13 -07:00
Robert Marsh
e368d5dda0
C++: simplify getDisplayOrderInBlock
2019-11-26 16:02:30 -05:00
Jonas Jensen
c05cc77a91
Merge pull request #2421 from dbartol/dbartol/IndirectAlias
...
C++/C#: Cleanup in preparation for indirect alias analysis
2019-11-26 21:59:17 +01:00
Erik Krogh Kristensen
9b608e9ec4
simplify multiple parameter selection
2019-11-26 21:07:37 +01:00
Dave Bartolomeo
f3b4140948
C++/C#: Consistent handling of "may" vs. "must" memory accesses
...
In the IR, some memory accesses are "must" accesses (the entire memory location is always read or written), and some are "may" accesses (some, all, or none of the bits in the location are written). We previously had to special case specific "may" accesses in a few places. This change regularizes our handling of "may" accesses.
The `MemoryAccessKind` enumeration now describes only the extent of the access (the set of locations potentially accessed), but does not distinguish "must" from "may". The new predicates `Operand.hasMayMemoryAccess()` and `Instruction.hasResultMayMemoryAccess()` hold when the access is a "may" access.
Unaliased SSA now correctly ignores variables that are ever accessed via a "may" access.
Aliased SSA now distinguishes `MemoryLocation`s for "may" and "must" accesses. I've refactored `getOverlap()` into the core `getExtentOverlap()`, which considers only the extent, but not the "may" vs. "must", and `getOverlap()`, which tweaks the result of `getExtentOverlap()` based on "may" vs. "must" and read-only locations.
When determining the overlap between a `Phi` operand and its definition, we now use the result of the defining `Chi` instruction, if one exists. This gives exact definitions for `Phi` operands for virtual variables.
2019-11-26 12:13:07 -07:00
yo-h
2eea94c3dc
Documentation: fix invalid @precision value
2019-11-26 14:11:54 -05:00
Dave Bartolomeo
4e1ee7a998
C++/C#: Fix formatting
2019-11-26 10:48:24 -07:00
Taus Brock-Nannestad
118275e948
Python: Use import python consistently in all queries.
2019-11-26 17:37:09 +01:00
Anders Schack-Mulligen
deb6a6e5c6
Java: Improve performance by normalizing import order to reduce cache invalidation.
2019-11-26 17:20:01 +01:00
Erik Krogh Kristensen
b5a57986c6
small changes based on review feedback
2019-11-26 15:57:31 +01:00
Erik Krogh Kristensen
7b262fa9cf
update expected output
2019-11-26 14:39:09 +01:00
Erik Krogh Kristensen
5a0cabb039
Merge remote-tracking branch 'upstream/master' into typeAheadSink
2019-11-26 14:37:40 +01:00
Erik Krogh Kristensen
ace484a519
change the typeahead.js model to be semantically correct
2019-11-26 14:35:13 +01:00
Tom Hvitved
355c4f7154
C#: Add change note
2019-11-26 13:54:19 +01:00
Tom Hvitved
71e958eabc
C#: Add taint-tracking steps through conversion operator calls
2019-11-26 13:53:50 +01:00
Tom Hvitved
acb069f69b
C#: Add data flow tests for conversion operators
2019-11-26 13:53:17 +01:00
Erik Krogh Kristensen
4a94c49d37
changes based on review feedback
2019-11-26 13:40:48 +01:00
Jonas Jensen
b1745f588c
Merge pull request #2402 from geoffw0/nospace
...
CPP: Make NoSpaceForZeroTerminator.ql more conservative.
2019-11-26 13:36:05 +01:00
Erik Krogh Kristensen
97718bf1d4
the callback function can both be the second and third argument
2019-11-26 13:00:00 +01:00
Erik Krogh Kristensen
b06acd1ed0
add change note
2019-11-26 12:52:41 +01:00
Erik Krogh Kristensen
0f948339af
add change note
2019-11-26 11:23:30 +01:00
Erik Krogh Kristensen
b6106f9638
keep the ResolvedPromiseDefinition class as a subclass of PromiseCreationCall
2019-11-26 11:16:59 +01:00
Erik Krogh Kristensen
f284b3a2bb
Merge remote-tracking branch 'upstream/master' into exceptionXss
2019-11-26 10:54:04 +01:00
Erik Krogh Kristensen
7ee12a3420
change doc based on review feedback
2019-11-26 10:48:24 +01:00
Anders Schack-Mulligen
18e1708036
Merge pull request #2412 from Cornelius-Riemenschneider/nullness-corr-cond
...
Java: Nullness library: track instanceof expressions in correlated conditions
2019-11-26 10:33:34 +01:00
semmle-qlci
fb44aa18bd
Merge pull request #2428 from erik-krogh/useOfReturnlessFunctionSuperCalls
...
Approved by max-schaefer
2019-11-26 09:14:08 +00:00
semmle-qlci
cf92022c89
Merge pull request #2420 from erik-krogh/safeStringSink
...
Approved by asgerf
2019-11-26 08:09:05 +00:00
Robert Marsh
60b384a6e5
C++/C#: use line numbers for instruction IDs
...
This should reduce the number of merge conflicts in the IR tests resulting
from instruction ID changes due to inserting or removing instructions
2019-11-25 18:27:59 -05:00
Calum Grant
113df4ea1d
Merge pull request #2278 from hvitved/csharp/autobuilder/shared-compilation
...
C#: Only set `UseSharedCompilation=false` in autobuilder when needed
2019-11-25 18:37:09 +00:00
Dave Bartolomeo
7d48220a76
C++/C#: Make QLDoc conform to style guide
2019-11-25 11:26:45 -07:00
Dave Bartolomeo
44c1c5a7ab
C++: Update points_to.ql test to use new bit offset format
2019-11-25 11:13:02 -07:00
Dave Bartolomeo
521fbb125e
C++/C#: Fix formatting
2019-11-25 11:12:23 -07:00
Asger F
e3e15a6015
JS: Rephrase change note
2019-11-25 17:20:42 +00:00
Asger F
df97ab2cb8
TS: Add INDEX prefix to env variables
2019-11-25 17:10:00 +00:00
Asger F
2508da7971
JS: Add change note
2019-11-25 17:01:32 +00:00
Asger F
7e515aeb72
TS: Verify yarn installation
2019-11-25 16:22:21 +00:00
Cornelius Riemenschneider
37f162106a
Fix formatting of file.
2019-11-25 17:04:38 +01:00
Tom Hvitved
fede9aed04
Merge pull request #2355 from cldrn/AspNetMaxRequestLength
...
CodeQL query to check for insecure MaxLengthRequest values in ASP.NET applications
2019-11-25 17:02:22 +01:00
Tom Hvitved
07e18c88a8
C#: Address review comments
2019-11-25 16:51:09 +01:00
semmle-qlci
d58a6b02bf
Merge pull request #2396 from hvitved/dataflow/erased-type-class
...
Approved by aschackmull, jbj
2019-11-25 15:22:13 +00:00
Asger F
e5ba80b18c
JS: Add test
2019-11-25 15:05:33 +00:00
Asger F
82b35a116c
JS: Handle .js import of .ts file
2019-11-25 14:58:12 +00:00
Asger F
b306eeeb6e
TS: Option to install dependencies
2019-11-25 14:42:17 +00:00
Taus Brock-Nannestad
036e0f75c8
Python: Account for non-evaluation of annotations in cyclic imports.
...
Should fix #2426 .
Essentially, we disregard expressions used inside annotations, if these
annotations occur in a file that has `from __future__ import annotations`, as
this prevents the annotations from being evaluated.
2019-11-25 15:32:52 +01:00
Cornelius Riemenschneider
3368169df8
Address review.
2019-11-25 14:54:50 +01:00
Erik Krogh Kristensen
9bd6363521
Merge remote-tracking branch 'upstream/master' into promiseAll
2019-11-25 14:34:58 +01:00
Tom Hvitved
795959ef8d
C#: Update expected test output
2019-11-25 13:41:12 +01:00
Tom Hvitved
71fd5379c9
C#: Remove tabs from qhelp file
2019-11-25 13:40:44 +01:00
Rasmus Wriedt Larsen
0f91139055
Merge pull request #2419 from tausbn/python-fix-use-of-input-fp
...
Python: Fix false positive for `py/use-of-input`.
2019-11-25 12:08:39 +01:00
Erik Krogh Kristensen
4efc71b7a2
remove FP in use-of-returnless-function FP related to calls to super()
2019-11-25 11:48:16 +01:00
Tom Hvitved
a26efdf4c1
Java/C++/C#: Rename DataFlowErasedType back to DataFlowType
2019-11-25 11:43:58 +01:00
Erik Krogh Kristensen
c7235bb372
add sources and sinks for typeahead.js
2019-11-25 10:46:54 +01:00
Jonas Jensen
8f3998915b
Merge pull request #2376 from geoffw0/qhelpms2
...
CPP: Recommendations and examples for TlsSettingsMisconfiguration.qhelp and UseOfDeprecatedHardCodedProtocol.qhelp
2019-11-25 08:17:32 +01:00
Rebecca Valentine
a8204385c3
Adds fix for __init_subclass__ bug. ( #2390 )
...
* Adds fix for __init_subclass__ bug.
* Adds test case.
* Move test on name.
I think it makes more sense here, alongside the other "special" method names.
2019-11-24 12:18:17 +01:00
Dave Bartolomeo
eda47bfc51
C++: Add SSA sanity tests to IR tests
2019-11-22 16:10:51 -07:00
Dave Bartolomeo
bd78f68975
C++/C#: Fix formatting
2019-11-22 16:08:49 -07:00
Dave Bartolomeo
df21835759
C++/C#: Refactor some integer constant code
...
Make `bitsToBytesAndBits` omit the leftover bits if zero.
2019-11-22 13:23:00 -07:00
Dave Bartolomeo
51ff262cbc
C++/C#: Add IR SSA sanity tests
2019-11-22 13:16:05 -07:00
Dave Bartolomeo
bc48c25690
C++/C#: Make IRVariable and its derived classes non-abstract
2019-11-22 12:13:39 -07:00
Dave Bartolomeo
12daa76b70
C++: Make duplicateOperand query report function name
2019-11-22 11:00:01 -07:00
Geoffrey White
cdbe920067
CPP: Remove second overview paragraph.
2019-11-22 16:22:08 +00:00
Geoffrey White
5a346c357b
Update cpp/ql/src/Likely Bugs/Protocols/UseOfDeprecatedHardcodedProtocolGood.cpp
...
Co-Authored-By: Jonas Jensen <jbj@github.com >
2019-11-22 16:21:24 +00:00
Geoffrey White
0c07fa44a1
Update cpp/ql/src/Likely Bugs/Protocols/UseOfDeprecatedHardcodedProtocol.qhelp
...
Co-Authored-By: Alistair <54933897+hubwriter@users.noreply.github.com >
2019-11-22 16:21:05 +00:00
Geoffrey White
ac1010872b
Update cpp/ql/src/Likely Bugs/Protocols/UseOfDeprecatedHardcodedProtocol.qhelp
...
Co-Authored-By: Alistair <54933897+hubwriter@users.noreply.github.com >
2019-11-22 16:20:54 +00:00
Geoffrey White
e274e01432
CPP: More consistency.
2019-11-22 16:08:00 +00:00
Geoffrey White
d4f75c1c2a
CPP: Consistency.
2019-11-22 16:07:59 +00:00
Geoffrey White
384cf4b233
CPP: Recommendation and example for UseOfDeprecatedHardcodedProtocol.qhelp.
2019-11-22 16:07:59 +00:00
Geoffrey White
8fc59ebac4
CPP: I believe these BUG labels were incorrect.
2019-11-22 16:07:59 +00:00
Geoffrey White
21d8264d80
CPP: Fix typo.
2019-11-22 16:07:59 +00:00
Geoffrey White
a1b603e73c
CPP: Add the examples to the test.
2019-11-22 16:07:59 +00:00
Geoffrey White
3cd545d186
CPP: Recommendation and example for TlsSettingsMisconfiguration.qhelp.
2019-11-22 16:07:59 +00:00
Geoffrey White
794a3deba9
CPP: Break up a long sentence in query description.
2019-11-22 16:07:59 +00:00
Taus Brock-Nannestad
67647bda66
Python: Fix false positive for py/use-of-input.
...
Fixes #1969 .
The points-to analysis does not know that the assignment `input = raw_input`
cannot fail under Python 2, and so there are two possible values that `input`
could point-to after exiting the exception handler: the built-in `input`, or the
built-in `raw_input`. In the latter case we do not want to report the alert, and
so adding a check that the given function does not point-to the built-in
`raw_input` suffices.
2019-11-22 16:46:20 +01:00
Geoffrey White
6fc415485b
CPP: Autoformat.
2019-11-22 15:34:51 +00:00
Geoffrey White
c73d3ebbb6
CPP: Pre-autoformat.
2019-11-22 15:34:50 +00:00
Geoffrey White
1d233f2f9e
CPP: Change notes for the queries.
2019-11-22 15:27:08 +00:00
Geoffrey White
62008597d4
CPP: Change notes for the library.
2019-11-22 15:27:08 +00:00
Geoffrey White
3895a7e1f0
CPP: Queries: Improve NoSpaceForZeroTerminator query.
2019-11-22 15:27:08 +00:00
Geoffrey White
3c9432d7b7
CPP: Queries: Improve OverflowCalculated query.
2019-11-22 15:19:00 +00:00
Geoffrey White
1e7bd9e987
CPP: Queries: Similar dataflow simplification in OverflowCalculated.ql to that made recently in NoSpaceForZeroTerminator.ql.
2019-11-22 15:19:00 +00:00
Geoffrey White
1fa30306dc
CPP: Libraries: Separate deallocation libraries.
2019-11-22 15:18:59 +00:00
Geoffrey White
a51da53013
CPP: Libraries: Split into interface and implementation.
2019-11-22 15:18:59 +00:00
Geoffrey White
356356f71b
CPP: Libraries: Overridable classes.
2019-11-22 15:18:59 +00:00
Geoffrey White
0d01ea66c6
CPP: Libraries: Move interfaces into the models directory.
2019-11-22 15:18:59 +00:00
Geoffrey White
64ed97b584
CPP: Libraries: Add FreeFunction and DeallocationExpr to malloc.qll.
2019-11-22 15:18:59 +00:00
Geoffrey White
5dab91cb51
CPP: Libraries: Update uses of the Alloc.qll library.
2019-11-22 15:18:59 +00:00
Geoffrey White
376ef2fc8e
CPP: Libraries: Add MallocFunction and AllocationExpr to malloc.qll.
2019-11-22 15:18:59 +00:00
Geoffrey White
5f798314d1
CPP: Tests: NoSpaceForZeroTerminator test cases for calloc and realloc.
2019-11-22 15:18:59 +00:00
Geoffrey White
a2c0532a84
CPP: Tests: CWE-120 test cases for calloc, realloc and new.
2019-11-22 15:16:32 +00:00
Geoffrey White
d67ea4d768
CPP: Tests: AV Rule 79 test cases for calloc, realloc and new.
2019-11-22 15:16:32 +00:00
Geoffrey White
7190dd2ef4
CPP: Tests: Rearrange a test prior to changes.
2019-11-22 15:16:32 +00:00
Geoffrey White
5014432472
CPP: Tests: Add a test of NewArrayExpr.getAllocatedType() and NewArrayExpr.getExtent().
2019-11-22 15:16:32 +00:00
Geoffrey White
d6cbc674b6
CPP: Autoformat.
2019-11-22 15:13:06 +00:00
Geoffrey White
bbe6a1aa76
CPP: Additional test case.
2019-11-22 15:13:05 +00:00
Erik Krogh Kristensen
9fc20cd9b0
add change note
2019-11-22 15:58:00 +01:00
Erik Krogh Kristensen
7d825af9a3
Added an XSS sink for Handlebars.SafeString
2019-11-22 15:56:21 +01:00
semmle-qlci
5c3c8eb35d
Merge pull request #2406 from erik-krogh/returnlessFp
...
Approved by asgerf
2019-11-22 13:06:03 +00:00
Erik Krogh Kristensen
f40d79271d
cleanup module imports and update expected outputs
2019-11-22 13:55:47 +01:00
Erik Krogh Kristensen
85b22536d0
adjust formatting
2019-11-22 13:36:16 +01:00
Esben Sparre Andreasen
5d34806e50
Merge pull request #2379 from asger-semmle/typescript-fixes
...
TS: A bunch of TypeScript fixes
2019-11-22 13:31:30 +01:00
Max Schaefer
6fbaa7a5ea
JavaScript: Make File not extend Locatable anymore.
...
Files have strange `:0:0:0:0` locations for... reasons. This makes the predicates inherited from `Locatable` meaningless. A particularly bad case is `getNumLines()`, which will always return one. The right predicate to use is, of course, `getNumberOfLines()`, which is defined in `File` itself.
2019-11-22 11:57:06 +00:00
Calum Grant
846600e855
Merge pull request #2410 from shati-patel/fix-heading
...
C# change notes: Remove duplicated heading
2019-11-22 11:52:53 +00:00
semmle-qlci
ec9b65ee61
Merge pull request #2369 from max-schaefer/js/odasa-8179
...
Approved by esbena
2019-11-22 11:26:54 +00:00
Cornelius Riemenschneider
0e7a08201f
Address review by Anders.
2019-11-22 12:19:06 +01:00
Rasmus Wriedt Larsen
46b6e6d722
Merge pull request #2409 from tausbn/python-typing-forward-reference-fp
...
Python: Support forward references inside return type annotations.
2019-11-22 11:18:04 +01:00
Rasmus Wriedt Larsen
536c211a73
Merge pull request #2401 from tausbn/python-fix-non-iterable-class-confusion-fp
...
Python: Fix false positive in `py/non-iterator-in-for-loop`
2019-11-22 11:15:16 +01:00
Max Schaefer
a3a46bfdc2
JavaScript: Add change note.
2019-11-22 09:27:14 +00:00
Max Schaefer
83f5b614e9
JavaScript: Switch detection of callback-based string replacement to data flow.
2019-11-22 09:24:34 +00:00
Max Schaefer
1951461f55
JavaScript: Simplify DoubleEscaping.
...
Undo previous work on generalising the concept of a replacement, which did not work out.
2019-11-22 09:24:34 +00:00
Max Schaefer
ff002a7af4
JavaScript: Whitelist more harmless incomplete escapes.
2019-11-22 09:24:34 +00:00
Max Schaefer
659cc812fe
JavaScript: Rephrase two predicates to help the optimiser.
2019-11-22 09:24:34 +00:00
Max Schaefer
db3eaa23ef
JavaScript: Introduce modelling of String.prototype.replace and use it in two queries.
2019-11-22 09:24:34 +00:00
Max Schaefer
f43e843b20
JavaScript: Introduce class RegExpLiteralNode.
2019-11-22 09:24:34 +00:00
Max Schaefer
12ea81af9c
JavaScript: Move getAMatchedConstant(RegExpTerm) into the library.
2019-11-22 09:24:34 +00:00
Max Schaefer
a5a5debdc7
JavaScript: Move getStringValue(RegExpLiteral) into the library.
2019-11-22 09:24:34 +00:00
Max Schaefer
0edb70f373
JavaScript: Deal with escape-unescape-escape (and similar) chains.
2019-11-22 09:24:34 +00:00
Max Schaefer
cb54618a5d
JavaScript: Deal with (un-)escaping on captured variables.
2019-11-22 09:24:34 +00:00
Max Schaefer
61aa075e8d
JavaScript: Fix regexes for escaping schemes.
2019-11-22 09:24:34 +00:00
Max Schaefer
4f899a9b0d
JavaScript: Recognize string escaping using .replace with a callback.
2019-11-22 09:24:34 +00:00
Max Schaefer
5dcf55e113
JavaScript: Refactor DoubleEscaping.ql.
2019-11-22 09:24:34 +00:00
semmle-qlci
62859d140d
Merge pull request #2394 from esbena/js/support-getDerivedFromError
...
Approved by max-schaefer
2019-11-22 07:45:45 +00:00
semmle-qlci
2c623372b6
Merge pull request #2405 from esbena/js/another-bind-model
...
Approved by asgerf
2019-11-22 07:35:58 +00:00
Robert Marsh
05aebeff79
Merge branch 'master' into rdmarsh/cpp/ir-callee-side-effects
2019-11-21 13:45:31 -08:00
Jonathan Leitschuh
21193bd780
Java: Use of HTTP/FTP to download/upload Maven artifacts
...
This adds a security alert for the use of HTTP or FTP to download or upload
artifacts using Maven.
2019-11-21 13:35:29 -05:00
Cornelius Riemenschneider
5d4b6c3a8c
Nullness: Track correlated conditions of equality tests of variables.
2019-11-21 19:24:40 +01:00
Cornelius Riemenschneider
92f32a12d8
Add tests for nullness tracking by comparing variables.
2019-11-21 19:23:39 +01:00
Robert Marsh
dbe885fd38
Merge pull request #1926 from jbj/ir-dataflow-toString
...
C++: DataFlow::Node.toString consistency
2019-11-21 10:20:35 -08:00
Geoffrey White
676e8a2c2e
Merge pull request #2399 from jbj/ExprHasNoEffect-templates
...
C++: Suppress ExprHasNoEffect on template code
2019-11-21 18:01:41 +00:00
Cornelius Riemenschneider
3e5324e772
More precise Nullness tracking by taking correlated instanceof expressions into account.
...
Fixes #2238 .
2019-11-21 18:38:27 +01:00
Cornelius Riemenschneider
d8aae1c126
Add tests to track nullness by instanceof checks.
2019-11-21 18:38:27 +01:00
Erik Krogh Kristensen
94e9c0203d
add test for exceptional taint-flow
2019-11-21 17:16:13 +01:00
shati-patel
b6a05399da
C# change notes: Remove duplicated heading
2019-11-21 16:08:44 +00:00
semmle-qlci
8cca9b05ea
Merge pull request #2393 from max-schaefer/js/improve-incomplete-sanitization-docs
...
Approved by mchammer01
2019-11-21 16:04:19 +00:00
Asger F
ec8ced7963
TS: Fix a typos and leftover todo
2019-11-21 15:39:37 +00:00
Asger F
01ab8f07eb
TS: Fix a crash when allowJs: true was set
2019-11-21 15:39:37 +00:00
Asger F
7d558d165a
JS: Update extractor version string
2019-11-21 15:39:37 +00:00
Asger F
33a44de47d
TS: Add upgrade script
2019-11-21 15:39:37 +00:00
Asger F
2c916cb4f3
TS: Update stats
2019-11-21 15:39:37 +00:00
Asger F
dd50d29827
TS: Fix crash in case of missing type roots
2019-11-21 15:39:37 +00:00
Asger F
4a885cbf92
TS: Expose optional parameters at syntax level
2019-11-21 15:39:37 +00:00
Asger F
b6b8213e13
TS: Handle rest parameters in call signatures
2019-11-21 15:39:37 +00:00
Asger F
f2c3d734ea
TS: Update some more tests
2019-11-21 15:39:37 +00:00
Asger F
0c41d6910f
TS: Pass tsconfig options correctly
2019-11-21 15:39:37 +00:00
Asger F
23f8d27447
TS: Simplify debugging
2019-11-21 15:39:37 +00:00
Asger F
8205a59688
TS: Unfold aliases in Type.unfold()
2019-11-21 15:39:37 +00:00
Asger F
e25ee182a0
TS: Extract type alias relation
2019-11-21 15:39:37 +00:00
Asger F
f11dc11ade
TS: Fix type of RHS of TypeAliasDeclaration
2019-11-21 15:39:37 +00:00
Asger F
a3aef1e4e0
TS: Update TypeAlias test
2019-11-21 15:39:37 +00:00
Taus Brock-Nannestad
033524ce63
Python: Support forward references inside return type annotations.
...
Should fix #2407 .
Also allows for the string containing the forward reference to appear inside a
subexpression of the type annotation.
2019-11-21 15:37:32 +01:00
Erik Krogh Kristensen
42a0a62e4c
remove 3 FP sources from use-of-returnless-function
2019-11-21 14:27:04 +01:00
Esben Sparre Andreasen
edb94db6ef
JS: add change notes
2019-11-21 13:20:08 +01:00
Esben Sparre Andreasen
03c83c9c9d
JS: model React's getDerivedStateFromError
2019-11-21 13:18:43 +01:00
Esben Sparre Andreasen
23d29a80db
JS: improve comment syntax
2019-11-21 13:16:40 +01:00
Esben Sparre Andreasen
6328a0a8b9
JS: improve FP filter for js/unbound-event-handler-receiver
2019-11-21 13:13:40 +01:00
Taus Brock-Nannestad
9fda4ab480
Python: Fix false positive in py/non-iterator-in-for-loop
...
Should fix #1833 , #2137 , and #2187 .
Internally, comprehensions are (at present) elaborated into local functions and
iterators as described in [PEP-289](https://www.python.org/dev/peps/pep-0289/ ).
That is, something like:
```
g = (x**2 for x in range(10))
```
becomes something akin to
```
def __gen(exp):
for x in exp:
yield x**2
g = __gen(iter(range(10)))
```
In the context of the top-level of a class, this means `__gen` looks as if it is
a method of the class, and in particular `exp` looks like it's the `self`
argument of this method, which leads the points-to analysis to think that `exp`
is an instance of the surrounding class itself.
The fix in this case is pretty simple: we look for occurrences of `exp` (in fact
called `.0` internally -- carefully chosen to _not_ be a valid Python
identifier) and explicitly exclude this parameter from being classified as a
`self` parameter.
2019-11-21 11:49:29 +01:00
Rasmus Wriedt Larsen
53576a4781
Merge pull request #2397 from tausbn/python-make-tostrings-visible
...
Python: Add `toString` information for all classes without such.
2019-11-21 11:46:22 +01:00
Robert Marsh
34593701b2
Merge branch 'master' into rdmarsh/cpp/ir-callee-side-effects
2019-11-20 10:03:32 -08:00
Geoffrey White
403899ecbc
Merge pull request #2391 from jbj/CompareWhereAssignMeant-decltype
...
C++: Fix FP for expression SFINAE with decltype
2019-11-20 17:34:09 +00:00
Geoffrey White
5c855fc925
CPP: Change note.
2019-11-20 15:34:41 +00:00
Geoffrey White
2212c47db2
CPP: Use dataflow more consistently.
2019-11-20 15:34:40 +00:00
Geoffrey White
e6ea705ff2
CPP: Switch from a blacklist to whitelist approach for determining null termination.
2019-11-20 15:34:38 +00:00
Geoffrey White
fbd9d9bdab
CPP: Add a test case involving the std::string constructor.
2019-11-20 15:20:21 +00:00
Jonas Jensen
ff96e3a8ea
C++: Also suppress ExprHasNoEffect in declspec etc
2019-11-20 15:44:39 +01:00
Geoffrey White
6fc9cc5952
CPP: Add a test case using 'new'.
2019-11-20 14:27:19 +00:00
Geoffrey White
57c7a87af9
CPP: Add tests with different proof of zero-termination.
2019-11-20 14:27:19 +00:00
Geoffrey White
3c9fe91581
CPP: Add proof of zero-termination to tests.
2019-11-20 14:27:19 +00:00
Jonas Jensen
b325427d29
C++: Suppress ExprHasNoEffect on template code
2019-11-20 15:12:25 +01:00
Taus Brock-Nannestad
c525ab325f
Python: Add toString information for all classes without such.
...
Having `toString()` defined to be `none()` is a major headache when debugging,
as `toString`-less results are silently elided. This PR puts dummy `toString`s
in place of the `none()`s.
(I am mostly creating this to see if it impacts our tests and/or the
performance. If not, we may as well merge it.)
2019-11-20 14:47:20 +01:00
semmle-qlci
77c869f528
Merge pull request #2220 from erik-krogh/processEnvTaint
...
Approved by esbena, max-schaefer
2019-11-20 13:16:43 +00:00
Tom Hvitved
acc7d5298d
Data flow: Sync files
2019-11-20 14:10:02 +01:00
Tom Hvitved
6c0dbcfca2
Java/C++: Add DataFlowErasedType aliases
2019-11-20 14:09:53 +01:00
Tom Hvitved
d0b4653e32
C#: Introduce DataFlowErasedType
2019-11-20 14:09:46 +01:00
Max Schaefer
cb20de8070
JavaScript: Add a warning to IncompleteSanitization help.
...
Sanitizing away multi-character strings using regular expressions is tricky business, and we should probably warn about it.
2019-11-20 11:57:50 +00:00
Jonas Jensen
4dafa16572
C++: Fix FP on unevaluated code
...
This fixes false positives on tenzir/vast.
2019-11-20 10:42:36 +01:00
Geoffrey White
9cf819929d
Merge pull request #2383 from jbj/field-isStatic
...
C++: Don't check if a Field is static
2019-11-20 09:05:03 +00:00
Paulino Calderon
63884c1a86
Mixed spaces and tabs
2019-11-19 13:06:55 -05:00
Paulino Calderon
85eda8c978
Brings security tests from other PRs
2019-11-19 13:04:19 -05:00
Paulino Calderon
96a02aba3f
Adds quotes on name and additional info tags
2019-11-19 12:39:10 -05:00
semmle-qlci
51a51d7e0c
Merge pull request #2387 from max-schaefer/js/incomplete-dotdot-sanitization
...
Approved by asger-semmle
2019-11-19 16:39:35 +00:00
Jonas Jensen
a1af96e521
C++: Reproduce a reported FP
2019-11-19 16:17:49 +01:00
Max Schaefer
5565be14fc
JavaScript: Teach IncompleteSanitization to flag incomplete path sanitizers.
2019-11-19 15:06:16 +00:00
Erik Krogh Kristensen
1ba777a45d
remove deep taint of objects
2019-11-19 15:50:50 +01:00
Erik Krogh Kristensen
c2b48eb546
rename getExceptionalNode to getExceptionTarget
2019-11-19 15:32:17 +01:00
Jonas Jensen
c41114334f
Merge remote-tracking branch 'upstream/master' into ir-dataflow-toString
...
Solved conflicts in `*.expected` by re-running the tests.
2019-11-19 14:27:27 +01:00
Erik Krogh Kristensen
d8a5554666
update doc on getExceptionalNode
2019-11-19 14:10:35 +01:00
Erik Krogh Kristensen
abd58ba905
rename 'getThrowsToNode' to 'getExceptionalNode'
2019-11-19 14:08:36 +01:00
Erik Krogh Kristensen
9fa7393d56
add support for try-statements with no catch block
2019-11-19 13:37:35 +01:00
Rasmus Wriedt Larsen
b39bcde31c
Merge pull request #2375 from tausbn/python-fix-mutable-value-type-coercion-fp
...
Python: Don't report mutable parameters that are in fact immutable.
2019-11-19 13:26:23 +01:00
Jonas Jensen
fbf2ef8625
C++: Don't check if a Field is static
...
A `Field` in the C++ QL libraries can't be static, but I'd for some
reason written two checks for `Field`s being static in the data-flow
library.
2019-11-19 13:20:21 +01:00
Rasmus Wriedt Larsen
231414ceaf
Merge pull request #2374 from tausbn/python-fix-mappingproxytype-fp
...
Python: Fix non-container FP relating to `MappingProxyType`.
2019-11-19 13:13:26 +01:00
Jonas Jensen
b43cbeb17f
Merge pull request #2372 from geoffw0/qhelpms
...
CPP: Improve TlsSettingsMisconfiguration qhelp
2019-11-19 13:05:52 +01:00
Erik Krogh Kristensen
0a428a8f44
typo
...
Co-Authored-By: Esben Sparre Andreasen <esbena@github.com >
2019-11-19 13:05:13 +01:00
Erik Krogh Kristensen
2f08ee9faf
fix typo
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-11-19 12:53:50 +01:00
Jonas Jensen
0731309b1e
C++: Change note for StackVariable
2019-11-19 11:44:03 +01:00
Jonas Jensen
4d97534308
C++: Deprecate LocalScopeVariableReachability
2019-11-19 11:43:41 +01:00
Jonas Jensen
1498499994
C++: Relax type in two tests
2019-11-19 11:31:34 +01:00
Jonas Jensen
f5b9837e19
C++: Use StackVariable in Nullness.qll
...
This might cause fewer variables to be analysed because not every use of
`LocalScopeVariable` was constrained by the def-use library. Hopefully
this leads to an improved nullness analysis since it avoids treating
`static T *x = nullptr;` the same as `static T *x; x = nullptr;`.
2019-11-19 11:31:34 +01:00
Jonas Jensen
140575ee71
C++: Use StackVariable where SSA/def-use are used
...
These changes should not affect semantics since these uses of
`LocalScopeVariable` were already constrained to stack variables by
their use of SSA or def-use.
2019-11-19 11:31:34 +01:00
Jonas Jensen
6f9ec0409e
C++: Use StackVariable in code that uses RangeSSA
2019-11-19 11:31:33 +01:00
Jonas Jensen
29f66ff095
C++: Use StackVariable, remove not v.isStatic()
...
In these files it was possible to remove calls to `isStatic` by
switching from `LocalScopeVariable` to `StackVariable`. This changes
semantics, hopefully for the better, to treat `thread_local` locals the
same as `static` locals.
2019-11-19 11:30:59 +01:00
Jonas Jensen
e57f98ca64
C++: Use StackVariable in def-use libraries
...
Most of the implementation was already in terms of
`SemanticStackVariable`, so not much should have changed.
2019-11-19 11:30:59 +01:00
Jonas Jensen
95a333d28c
C++: Use StackVariable in SSA libraries
...
This means we'll no longer get SSA definitions for thread-local
local-scope variables.
2019-11-19 11:30:59 +01:00
Jonas Jensen
c1ed908834
C++: Use StackVariableReachability
...
This library is a drop-in replacement for
`LocalScopeVariableReachability`, so no changes are expected.
2019-11-19 11:30:59 +01:00
Jonas Jensen
01ca63ae92
C++: Bring back StackVariableReachability.qll
...
This is now a copy of `LocalScopeVariableReachability.qll`, just with
`s/LocalScopeVariable/StackVariable/g`. It can be used as a drop-in
replacement since the `LocalScopeVariableReachability.qll` library
implementation was already restricted to `SemanticStackVariable`.
2019-11-19 11:30:59 +01:00
Jonas Jensen
8110039e0a
C++: Bring back the StackVariable QL class
...
The new `StackVariable` class actually denotes what its name suggests.
2019-11-19 11:23:34 +01:00
Erik Krogh Kristensen
d4f42d872a
change change-note to target 1.24 instead of 1.23
2019-11-19 11:10:34 +01:00
Taus
4c700882b6
Merge pull request #2190 from RasmusWL/python-modernise-tornado-library
...
Python: modernise tornado library
2019-11-19 09:36:30 +01:00
Erik Krogh Kristensen
de8ed3f508
update test code
2019-11-19 09:04:30 +01:00
Erik Krogh Kristensen
91674f681b
refactoring to remove duplicated code and simplify the ExceptionXss query
2019-11-19 08:54:51 +01:00
Robert Marsh
ae47eab727
C++: autoformat
2019-11-18 15:36:08 -08:00
Taus Brock-Nannestad
3491d90b1e
Python: Apply auto-format.
2019-11-18 16:50:32 +01:00
Taus Brock-Nannestad
1385f3c018
Python: Fix non-container FP relating to MappingProxyType.
...
Fixes #2307 .
Also modernises the query to use the `Value` API.
2019-11-18 16:50:32 +01:00
Taus Brock-Nannestad
3c47394b7a
Python: Apply auto-format.
2019-11-18 16:28:54 +01:00
Taus Brock-Nannestad
cac261858c
Python: Don't report mutable parameters that are in fact immutable.
...
Fixes #1832 .
In the taint sink, we add an additional check that the given control-flow node
can indeed point to a value that is mutable. This takes care of the guard on the
type.
If and when we get around to adding configurations for all of the taint
analyses, we may want to implement this as a barrier instead, pruning any steps
that go through a type test where the type is not mutable.
2019-11-18 16:18:44 +01:00
Calum Grant
b9d1c38753
Merge pull request #2371 from max-schaefer/rc/1.23
...
Merge rc/1.23 into master
2019-11-18 14:15:31 +00:00
semmle-qlci
ed4657c201
Merge pull request #2340 from hvitved/csharp/nunit-assertions
...
Approved by calumgrant
2019-11-18 13:02:49 +00:00
Nick Rolfe
9828315b6e
Merge pull request #2033 from ian-semmle/edg
...
C++: Changes following EDG upgrade
2019-11-18 12:46:11 +00:00
Erik Krogh Kristensen
853c86685b
remove some false positives
2019-11-18 13:32:47 +01:00
Geoffrey White
ff15c01ab9
CPP: Comma.
2019-11-18 11:51:54 +00:00
Geoffrey White
9a53706e87
CPP: Reword TlsSettingsMisconfiguration.qhelp.
2019-11-18 11:49:28 +00:00
Geoffrey White
2789c2dbac
CPP: Fix typos.
2019-11-18 11:48:13 +00:00
Tom Hvitved
3d1ce55642
C#: Address review comments
2019-11-18 10:53:02 +01:00
Erik Krogh Kristensen
5a6958a1cd
add promise aggregators
2019-11-17 11:22:29 +01:00
Erik Krogh Kristensen
b3e88cdf31
refactored multiple implementations of getEnclosingTryStmt into a single predicate
2019-11-17 09:50:41 +01:00
Erik Krogh Kristensen
1b81526691
Merge remote-tracking branch 'upstream/master' into exceptionXss
2019-11-17 09:29:54 +01:00
Erik Krogh Kristensen
525da97dd4
changes based on review feedback
2019-11-17 09:24:00 +01:00
Erik Krogh Kristensen
3b9847e075
apply suggestions from max
...
Co-Authored-By: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2019-11-17 09:01:48 +01:00
Paulino Calderon
56c12adab7
Adds check for insecure MaxLengthRequest values
2019-11-16 14:21:39 -05:00
Erik Krogh Kristensen
a59a414e0b
update expected output
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
8ff515a58d
address review feedback on MaskingReplacer
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
4ec2070e48
remove property reads on process.env as a taint step, and add a barrier for masking replace calls
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
052a331395
rename ProcessEnvLabel to PartiallySensitiveMap
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
2bd48db8cd
refactor isSanitizerEdge in clear-text-logging
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
92dc759cf9
remove type cast, and fix expected test results
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
850278c62f
some changes based on review. And change to only flag unknown reads of process.env
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
68c30aaef3
add flowlabels to js/clear-text-logging
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
14e4decffa
changes based on review feedback. No flow-labels yet
2019-11-16 15:20:42 +01:00
Erik Krogh Kristensen
1766f6a6d8
simplify global var "process"
...
Co-Authored-By: Esben Sparre Andreasen <esbena@github.com >
2019-11-16 15:20:41 +01:00
Erik Krogh Kristensen
e1039d3a56
change note
2019-11-16 15:20:41 +01:00
Erik Krogh Kristensen
297c71a64b
add process.env as source for js/clear-text-logging
2019-11-16 15:20:41 +01:00
Erik Krogh Kristensen
b12e255fd8
add indirect calls to logging methods as logging methods
2019-11-16 15:20:41 +01:00
Robert Marsh
180a3c9f26
C++: accept test changes
2019-11-15 11:01:18 -08:00
James Fletcher
351cb46bb9
Merge pull request #2349 from shati-patel/docs/readme
...
Docs: Update readme in docs folder
2019-11-15 16:52:52 +00:00
shati-patel
37931f2bcf
Docs: Update readme in docs folder
2019-11-15 16:26:43 +00:00
yh-semmle
de65f023d6
Merge pull request #2167 from aschackmull/java/dataflow-out-of-arg-refactor
...
Java/C++/C#: Refactor dataflow to simplify return flow.
2019-11-15 11:10:06 -05:00
Erik Krogh Kristensen
4073dfaf24
remove redundant code
2019-11-15 16:17:18 +01:00
Erik Krogh Kristensen
d36312cf9f
update expected output
2019-11-15 16:08:13 +01:00
Erik Krogh Kristensen
3edd65f9ab
changed the exceptional taint-steps to step through each call-site
2019-11-15 16:05:15 +01:00
Ian Lynagh
4442fd8407
C++: Accept changes to syntax-zoo tests
2019-11-15 14:42:36 +00:00
Ian Lynagh
2cf714a923
C++: Follow changes in lambda locations
2019-11-15 14:42:36 +00:00
Ian Lynagh
8e00516ecf
C++: Accept changes in ir test
2019-11-15 14:42:36 +00:00
Erik Krogh Kristensen
e95cceef1d
import all the shared XSS sources and sinks
2019-11-15 15:41:53 +01:00
Erik Krogh Kristensen
65a018ceed
use flow labels to avoid dual configurations
2019-11-15 14:37:46 +01:00
Tom Hvitved
20a1cb6fc8
C#: Teach assertion library about (classical) NUnit assertions
...
This commit adds support for (classical) NUnit assertions (see
https://github.com/nunit/docs/wiki/Assertions ). Modern constraint-based assertions,
such as `Assert.That(o, Is.Not.Null)` are currently not supported, because they
would require a restructuring of the assertion library.
2019-11-15 14:07:28 +01:00
Erik Krogh Kristensen
8d2ae136b0
move String.prototype.match taint step to a general AdditionalTaintStep
2019-11-15 12:52:54 +01:00
Asger F
e3b15a98c4
JS: Add prop names for array element pattern PropReads
2019-11-15 11:16:50 +00:00
Robert Marsh
facbd32062
Merge branch 'master' into rdmarsh/cpp/ir-callee-side-effects
2019-11-14 11:09:13 -08:00
Robert Marsh
2fb1d4d1b1
C++: fix IR return block successors
2019-11-14 10:29:48 -08:00
Erik Krogh Kristensen
e49b5e4afc
up precision from low to medium, and fix tab/spaces
2019-11-14 17:42:16 +01:00
Erik Krogh Kristensen
7137a64b7d
Added query for detecting XSS that happens through an exception
2019-11-14 17:04:00 +01:00
Anders Schack-Mulligen
106b8cfbca
Java/C++/C#: Fix bad magic and bad join-order.
2019-11-14 13:17:17 +01:00
Tom Hvitved
a9f08671ca
C#: Address review comments
2019-11-14 11:00:19 +01:00
Tom Hvitved
dee4ddbb5b
C#: Only set UseSharedCompilation=false in autobuilder when needed
...
Since we are now able to trace shared compilation builds on Linux and macOS
(starting from .NET Core 3), and always were able to on Windows, there is
no need to set `UseSharedCompilation=false` in those cases. This may have a
positive performance impact, as shared compilation is generally faster then
non-shared compilation.
2019-11-08 10:28:20 +01:00
alexet
924d23f657
Cache the computation of core toString predicates.
2019-10-29 14:48:27 +00:00
Robert Marsh
8076156cb1
Merge branch 'master' into rdmarsh/cpp/ir-callee-side-effects
2019-10-28 16:50:34 -07:00
Robert Marsh
120fa6c330
C++: alias fixes for ReturnIndirection
2019-10-28 15:09:35 -07:00
Robert Marsh
5e946cc9f3
C++: add param read side effects to IR exit blocks
2019-10-28 15:09:04 -07:00
Anders Schack-Mulligen
d0842fc35d
Java/C++/C#: Minor refactor following review comment.
2019-10-28 16:31:22 +01:00
Anders Schack-Mulligen
379ef1d2f9
Java: Fix bad magic and join-order.
2019-10-28 10:40:06 +01:00
Rasmus Wriedt Larsen
5b6675aa71
Python: Select location first in tornado Classes test
...
so it conforms with the general scheme in tests
2019-10-24 15:01:40 +02:00
Rasmus Wriedt Larsen
e7eaf2b7d9
Python: Autoformat (4 spaces) tornado library
2019-10-24 15:01:40 +02:00
Rasmus Wriedt Larsen
2bb933fef0
Python: Modernise tornado library
2019-10-24 15:01:40 +02:00
Rasmus Wriedt Larsen
3e3833927b
Python: Remove unused getTornadoRequestHandlerMethod
...
It was only used in a test, and with the mock, it gives no results anyway.
2019-10-24 15:01:40 +02:00
Rasmus Wriedt Larsen
bc50e90f5b
Python: Use mock for tornado tests
2019-10-24 15:01:40 +02:00
Rasmus Wriedt Larsen
4248a8418b
Python: Move tornado tests from internal repo
2019-10-24 15:01:35 +02:00
Robert Marsh
e8dd0227ae
C++: accept test changes
2019-10-22 14:27:43 -07:00
Anders Schack-Mulligen
c37195b226
Java/C++/C#: Sync.
2019-10-22 11:42:35 +02:00
Anders Schack-Mulligen
2ffbb2ecd6
Java: Refactor dataflow to simplify return flow.
2019-10-22 11:42:35 +02:00
Robert Marsh
bea9a1cbb2
autoformat
2019-10-18 12:15:21 -07:00
Robert Marsh
8905159de7
C++: add InitializeIndirection for pointer params
2019-10-18 11:06:09 -07:00
Jonas Jensen
7cfbe88e7b
C++: IR DataFlow::Node.toString consistency
...
The `toString` for IR data-flow nodes are now similar to AST data-flow
nodes. This should make it easier to use the IR as a drop-in replacement
in the future. There are still differences because the IR data flow
library takes conversions into account.
I did not attempt to align the new nodes we use for field flow. That can
come later, when we add field flow to IR data flow.
2019-09-13 14:33:31 +02:00
Jonas Jensen
562bffe710
C++: Simplify toString of ImplicitParameterNode
...
This string looked out of place compared to `ExplicitParameterNode`,
whose string is simply the name of the parameter and therefore
indistinguishable from an access to the parameter without looking at the
location also. This has not been a problem so far, and if we want to
distinguish more clearly between initial values and accesses at some
point, we should do it for `ExplicitParameterNode` and
`UninitializedNode` too.
2019-09-13 14:33:26 +02:00