alexet
81ea60e5f3
Fix java perf 1
2021-02-04 18:01:38 +00:00
alexet
3cb67db7cd
Add nomagic for performance.
2021-02-04 16:10:58 +00:00
alexet
96d7601c30
Fix another issue
2021-01-29 15:15:59 +00:00
alexet
4a416533a8
Alway inline large predicate.
2021-01-28 14:54:00 +00:00
Mathias Vorreiter Pedersen
87b738d48c
Merge pull request #5002 from MathiasVP/fix-PrivateCleartextWrite-format
...
C++: Fix path-problem format in cpp/private-cleartext-write
2021-01-22 14:28:03 +01:00
Mathias Vorreiter Pedersen
682b246441
C++: Fix path-problem format.
2021-01-22 13:40:44 +01:00
Mathias Vorreiter Pedersen
7bc461aeb2
Merge pull request #4990 from geoffw0/cpp401b
...
C++: Further improvements to experimental query cpp/memory-leak-on-failed-call-to-realloc
2021-01-22 09:51:10 +01:00
CodeQL CI
0e059cea56
Merge pull request #5000 from erik-krogh/redosOnlyNonMin
...
Approved by esbena
2021-01-21 15:29:03 -08:00
Erik Krogh Kristensen
11f35a5193
Update javascript/ql/src/semmle/javascript/security/performance/ReDoSUtil.qll
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-01-21 23:11:50 +01:00
Erik Krogh Kristensen
62746bbbac
skip analyzing regular expressions in minified files for ReDoS
2021-01-21 22:31:42 +01:00
CodeQL CI
d0b70d15f0
Merge pull request #4996 from esbena/js/nodejs-client-request-event-emitter
...
Approved by erik-krogh
2021-01-21 12:37:00 -08:00
Esben Sparre Andreasen
cb25f2ab20
JS: add docstring with source examples
2021-01-21 20:46:34 +01:00
CodeQL CI
b83c949109
Merge pull request #4986 from erik-krogh/logInf
...
Approved by esbena
2021-01-21 06:02:50 -08:00
Esben Sparre Andreasen
1c100bbbc2
JS: recognize event emitters in nodejs client requests
2021-01-21 14:14:00 +01:00
Rasmus Wriedt Larsen
ee2d18afd8
Merge pull request #4665 from yoff/python-dataflow-modernize-tests
...
Python: Add new-style tests
2021-01-21 13:35:39 +01:00
Rasmus Lerchedahl Petersen
e786be06ae
Python: Fix broken references
2021-01-21 12:40:35 +01:00
Erik Krogh Kristensen
a9a901d1e2
add change note
2021-01-21 11:08:39 +01:00
Erik Krogh Kristensen
dafec3ceaa
rename to AnalyzedCompoundNumericAssignExpr
2021-01-21 11:06:46 +01:00
Tom Hvitved
bc41c26354
Merge pull request #4959 from hvitved/csharp/ssa/split
...
C#: Split up SSA implementation
2021-01-21 10:52:49 +01:00
CodeQL CI
30015ee995
Merge pull request #4942 from esbena/js/reintroduce-resource-exhaustion
...
Approved by erik-krogh
2021-01-21 01:21:33 -08:00
CodeQL CI
9cfbe6feb7
Merge pull request #4980 from erik-krogh/defaultExport
...
Approved by esbena
2021-01-21 00:55:15 -08:00
Esben Sparre Andreasen
b90dd89746
JS: move js/resource-exhaustion to experimental
2021-01-21 09:09:01 +01:00
Rasmus Lerchedahl Petersen
419449fb8a
Python: default value for argN
2021-01-20 20:33:04 +01:00
Rasmus Lerchedahl Petersen
2409a7899b
Python: Remove func tag in some situations.
...
Also make ArgumentNode public
2021-01-20 20:18:40 +01:00
Erik Krogh Kristensen
a44aefa6c9
add test for top-level closure modules - and simplify
2021-01-20 19:47:32 +01:00
Geoffrey White
d5d8b48218
C++: More accurate solution using Guards library.
2021-01-20 17:15:42 +00:00
Mathias Vorreiter Pedersen
3877f03a46
Merge pull request #4979 from geoffw0/cpp401
...
C++: Improvements to experimental query cpp/memory-leak-on-failed-call-to-realloc
2021-01-20 18:10:13 +01:00
Geoffrey White
439fe41b0a
C++: Add a couple more test cases.
2021-01-20 15:33:32 +00:00
yoff
3fc085ff38
Update python/ql/test/experimental/dataflow/TestUtil/RoutingTest.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-01-20 16:11:40 +01:00
yoff
d0663e5c3a
Merge pull request #4971 from RasmusWL/avoid-double-route-setup-django
...
Python: Avoid duplicated route-setup in django
2021-01-20 16:10:33 +01:00
Tamás Vajk
5fa0dd719c
Merge pull request #4619 from tamasvajk/feature/csharp9-function-pointer
...
C#: Extract function pointers
2021-01-20 15:42:58 +01:00
Rasmus Wriedt Larsen
9a397b6faf
Python: Apply code-review suggestion
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-01-20 15:28:20 +01:00
Erik Krogh Kristensen
2e024c3c61
fix that type inference assumed every compound-assignment have type number
2021-01-20 15:26:39 +01:00
CodeQL CI
2f459d9a72
Merge pull request #4977 from RasmusWL/missing-flask-class-view-handler-changenote
...
Approved by yoff
2021-01-20 02:38:30 -08:00
Tamas Vajk
70c302ffbe
Add DB upgrade folder for function pointer
2021-01-20 11:20:55 +01:00
Shati Patel
bf0febd9d2
Merge pull request #4982 from github/update-sphix-readme
...
Update reference to new CodeQL site
2021-01-20 09:00:38 +00:00
Anders Schack-Mulligen
9b2f69ca94
Merge pull request #4978 from github/yo-h/struts-xml-change-note
...
Java: add change note for `struts.xml` extraction
2021-01-20 08:59:45 +01:00
Felicity Chapman
e96f942269
Update reference to new CodeQL site
2021-01-19 22:38:12 +00:00
Erik Krogh Kristensen
fbfbe70deb
add support for unnamed/default exports in PackageExports.qll
2021-01-19 22:40:45 +01:00
Rasmus Lerchedahl Petersen
23d3343bfb
Merge branch 'main' of github.com:github/codeql into python-dataflow-modernize-tests
2021-01-19 18:24:52 +01:00
Rasmus Lerchedahl Petersen
8e126603b3
Python: Remember that old style tests still needs
...
updated expectations.
2021-01-19 18:21:27 +01:00
Rasmus Lerchedahl Petersen
ae38bbe03b
Python: Fearlessly adding another test
...
in the middle of the file.
2021-01-19 18:19:11 +01:00
Rasmus Lerchedahl Petersen
69913c053e
Python: relative line numbers in
...
MISSING-annotations
2021-01-19 18:10:22 +01:00
Geoffrey White
d2dd19a293
C++: It turns out __assert_fail is special (see DefaultOptions.qll) so we don't need a body here. And the body was wrong.
2021-01-19 16:56:19 +00:00
Geoffrey White
fe4ae7e975
C++: General solution for functions that may exit.
2021-01-19 16:56:19 +00:00
Geoffrey White
8fa3ffe125
C++: Add a few more test cases that we don't recognize as OK.
2021-01-19 16:56:19 +00:00
CodeQL CI
bdfb81064d
Merge pull request #4969 from asgerf/js/angular-dom-santizier-from-core
...
Approved by erik-krogh
2021-01-19 08:45:15 -08:00
Erik Krogh Kristensen
2a8a2832e2
Merge pull request #4946 from erik-krogh/libRedos
...
JS: Add library input as source for `js/polynomial-redos`
2021-01-19 17:30:20 +01:00
Tamas Vajk
d34992d36c
Add .stats file
2021-01-19 17:26:31 +01:00
Tamas Vajk
35b955f694
Update change note date
2021-01-19 17:26:31 +01:00
Tamas Vajk
f7a0c98cb3
Code quality improvement
2021-01-19 17:26:31 +01:00
Tamas Vajk
613bf6dca6
Fix failing test
2021-01-19 17:26:31 +01:00
Tamas Vajk
1d9b3ec8b4
Allow annotating fnptr return types
2021-01-19 17:26:31 +01:00
Tamas Vajk
348fe8f2fc
Address PR review comments
2021-01-19 17:26:31 +01:00
Tamas Vajk
a9986ca72d
Fix expected printed AST
2021-01-19 17:26:31 +01:00
Tamas Vajk
fd27bde4b5
Add function pointer conversion tests
2021-01-19 17:26:31 +01:00
Tamas Vajk
15e88471be
Adjust 'Cast.getTargetType()' to return the expression type instead of the type access type
2021-01-19 17:26:31 +01:00
Tamas Vajk
a11d852054
Fix address of unary operator extraction
2021-01-19 17:26:31 +01:00
Tamas Vajk
183926d9fd
C#: Add QL classes for function pointer type/invocation, tests
2021-01-19 17:26:31 +01:00
Tamas Vajk
876123315d
C#: Extract function pointers
2021-01-19 17:26:31 +01:00
Rasmus Lerchedahl Petersen
77da4b0106
Python: Remove absolute line numbers
...
- Use relative line numbers in flow test
- Elide line numbers in routing test (new concept)
2021-01-19 17:05:42 +01:00
yo-h
91fa12b1be
Java: add change note for struts.xml extraction
2021-01-19 10:19:18 -05:00
Rasmus Wriedt Larsen
830f8bfef6
Python: Add change-note for Flask class based view handlers
...
For https://github.com/github/codeql/pull/4944
2021-01-19 15:09:04 +01:00
Jonas Jensen
24947f27b4
Merge pull request #4750 from geoffw0/modelclasses
...
C++: Model classes in StdString.qll.
2021-01-19 12:51:30 +01:00
CodeQL CI
fbab8f8539
Merge pull request #4972 from Marcono1234/marcono1234/qldoc-link-fixes
...
Approved by shati-patel
2021-01-19 03:07:41 -08:00
Shati Patel
47470e08c3
Add QLDoc link, suggested by @Marcono1234
2021-01-19 10:54:17 +00:00
Geoffrey White
cff56350e0
C++: Fix getClassAndName parameter name.
2021-01-19 10:34:25 +00:00
Tamás Vajk
e2af176727
Merge pull request #4974 from tamasvajk/feature/cleanup-db
...
C#: Remove leftover DB upgrade folder
2021-01-19 11:30:07 +01:00
Tom Hvitved
0674881ffd
C#: Do not rely on BasicBlock member predicates from SsaImplSpecific
2021-01-19 10:52:50 +01:00
Tom Hvitved
2a8060102d
C#: Split up SSA implementation
2021-01-19 10:52:50 +01:00
Tamás Vajk
b228b7d17b
Merge pull request #4975 from tamasvajk/feature/fix-build-error
...
C#: Fix build error in RelationalPattern
2021-01-19 10:10:53 +01:00
Tamas Vajk
be7d458dc6
C#: Fix build error in RelationalPattern
2021-01-19 09:49:51 +01:00
Geoffrey White
b4a5346dc3
C++: It turns out .getTemplate() is not necessary.
2021-01-19 08:46:53 +00:00
Geoffrey White
f8a1fb1c35
C++: Apply the new pattern where it doesn't matter for performance as well, for consistency.
2021-01-19 08:46:53 +00:00
Geoffrey White
bfef1a200e
C++: Apply the new pattern in other parts of StdString.qll where it matters.
2021-01-19 08:46:53 +00:00
Geoffrey White
b8e6ad8922
C++: Introduce new predicate for better performance in models.
2021-01-19 08:46:52 +00:00
Geoffrey White
a5632b272e
C++: Fix performance issue in hasTaintFlow / hasDataFlow.
2021-01-19 08:46:52 +00:00
Tamas Vajk
6cafb281b5
C#: Remove leftover DB upgrade folder
2021-01-19 09:45:34 +01:00
Tamás Vajk
b775eb4cf7
Merge pull request #4789 from tamasvajk/feature/csharp9-relational-pattern2
...
C#: Relational patterns
2021-01-19 09:38:57 +01:00
Tom Hvitved
25095f919e
Merge pull request #4962 from hvitved/csharp/nullability-extraction
...
C#: Improved extraction of type nullability
2021-01-19 09:34:38 +01:00
Rasmus Lerchedahl Petersen
42fa3bdb81
Python: Only consider the closest SOURCE
...
(in use-use flow) a source
2021-01-19 09:13:17 +01:00
Anders Schack-Mulligen
b620e02000
Merge pull request #4973 from Marcono1234/patch-1
...
Add ArrayInit.getSize(), improve documentation
2021-01-19 09:06:45 +01:00
Anders Schack-Mulligen
dde8d320f3
Apply suggestions from code review
...
Minor qldoc fixes.
2021-01-19 08:24:24 +01:00
Marcono1234
703336a77f
Add ArrayInit.getSize(), improve documentation
2021-01-18 16:44:53 +01:00
Marcono1234
e9aa63b670
Fix broken links to QLDoc specification
2021-01-18 16:18:45 +01:00
Rasmus Wriedt Larsen
8e5557eca3
Python: Avoid duplicated route-setup in django
...
When using `django.conf.urls.url` with Django 2+
2021-01-18 16:18:29 +01:00
Erik Krogh Kristensen
01900d7ca2
remove false positive due to "\n" not being in the relevant relation
2021-01-18 14:47:29 +01:00
CodeQL CI
fc2fe6cccb
Merge pull request #4928 from esbena/js/rewrite-multi-sanitization
...
Approved by asgerf
2021-01-18 05:11:42 -08:00
Asger Feldthaus
3db6069372
JS: Add test for new sink
2021-01-18 10:55:34 +00:00
Asger Feldthaus
2752b4ba64
JS: Shift line numbers in test
2021-01-18 10:54:39 +00:00
Asger Feldthaus
ff1d0cc4c7
JS: Recognize DomSanitizer from @angular/core
2021-01-18 10:54:27 +00:00
Tamas Vajk
8400a3862b
Add DB upgrade folder
2021-01-18 09:19:27 +01:00
Tamas Vajk
ce58514453
Change release note date
2021-01-18 09:19:27 +01:00
Tamas Vajk
c0b31cbfe7
Add new stats file
2021-01-18 09:19:27 +01:00
Tamas Vajk
f235a28295
C# Add relational patterns extraction
2021-01-18 09:19:27 +01:00
Erik Krogh Kristensen
401e516654
update expected output, and update PackageExports test
2021-01-15 17:40:47 +01:00
Erik Krogh Kristensen
26783b6ab0
make getTopmostPackageJSON public again, and update PackageExports test
2021-01-15 16:05:49 +01:00
Tom Hvitved
9a9a57716c
C#: Improved extraction of type nullability
2021-01-15 16:01:14 +01:00
Erik Krogh Kristensen
1506ac09e5
limit the number of characters produced by getAThreewayIntersect
2021-01-15 13:54:16 +01:00
Erik Krogh Kristensen
0117a0fac1
specialize the getAValueExportedBy predicate to only topmost package.jsons
2021-01-15 13:54:16 +01:00
Erik Krogh Kristensen
0c9d46a7f9
changes based on review
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-01-15 13:54:05 +01:00
Anders Schack-Mulligen
545451e602
Merge pull request #4960 from github/yo-h/java15-change-note
...
Java: update documentation on supported language versions
2021-01-15 10:19:46 +01:00
Tamás Vajk
81ce29c6c8
Merge pull request #4656 from tamasvajk/feature/csharp9-not-pattern
...
C#: Extract unary patterns
2021-01-15 09:44:53 +01:00
yo-h
27fd16ae87
Java: update documentation on supported language versions
2021-01-14 20:29:16 -05:00
Tom Hvitved
d7ca065192
Merge pull request #4923 from hvitved/csharp/ssa/refactor
...
C#: SSA refactorings
2021-01-14 17:28:14 +01:00
Geoffrey White
15089c4117
Merge branch 'main' into modelclasses
2021-01-14 15:57:02 +00:00
Geoffrey White
7012bc05a2
C++: Simplification.
2021-01-14 15:21:26 +00:00
Geoffrey White
54bd36def2
C++: Correct QLDoc comments.
2021-01-14 15:20:29 +00:00
Geoffrey White
13d0efe96d
C++: Change to more natural expressions without use of weird predicates or 'any'. The classes for string objects now match instantiations directly rather than the template.
2021-01-14 15:02:51 +00:00
Tom Hvitved
6cf684f615
C#: Fix QL doc
2021-01-14 15:59:22 +01:00
yoff
b5d40e4c9a
Merge pull request #4944 from RasmusWL/flask-class-based-handlers
...
Python: Add modeling of Flask class based (HTTP) request handlers
2021-01-14 15:17:36 +01:00
yoff
de8ac6c12d
Merge pull request #4869 from RasmusWL/tornado-source-modeling
...
Python: Add Tornado source modeling
2021-01-14 14:40:14 +01:00
Tamas Vajk
4b32fd0556
Update change note date
2021-01-14 14:29:13 +01:00
Tamas Vajk
b7b4ed8774
Add DB upgrade folder
2021-01-14 14:26:40 +01:00
Erik Krogh Kristensen
c106b09d49
change-note
2021-01-14 14:17:32 +01:00
Tamas Vajk
66d8b0f1a0
Add new .stats file
2021-01-14 14:11:28 +01:00
Erik Krogh Kristensen
c5595f4cbd
improve alert message for js/polynomial-redos
2021-01-14 13:48:26 +01:00
Rasmus Wriedt Larsen
4cb2f2ed1e
Python: Proper models of flask MethodView classes
2021-01-14 13:42:18 +01:00
Rasmus Wriedt Larsen
e327fdb317
Python: Model flask View classes
2021-01-14 13:42:18 +01:00
Rasmus Wriedt Larsen
0b1cece523
Python: Add tests for class based handlers in Flask
2021-01-14 13:42:17 +01:00
Rasmus Wriedt Larsen
14bb10a361
Python: Use LocalSourceNode for TornadoRouteRegex
2021-01-14 13:39:41 +01:00
Erik Krogh Kristensen
86e33d9d79
select the shortest possible reason
2021-01-14 13:38:37 +01:00
Rasmus Wriedt Larsen
f9a29cb886
Python: Add change-note for tornado source modeling
2021-01-14 13:37:27 +01:00
Rasmus Wriedt Larsen
812ea5dde5
Python: Tornado: Model request handlers without known route
2021-01-14 13:37:27 +01:00
Rasmus Wriedt Larsen
1849b9e771
Python: Tornado: Handle basic route setup with tuples
...
The reason this becomes valueable right now, is that we can mark routed params
as taint-sources. Longer down the line, we can (hopefully) detect that a routed
param will only accept digits, and mark it safe for some of our taint-tracking
queries.
2021-01-14 13:37:26 +01:00
Rasmus Wriedt Larsen
39d85896a1
Python: Add basic taint modeling of tornado request
2021-01-14 13:37:26 +01:00
Rasmus Wriedt Larsen
4641150d45
Python: Basic taint-modeling of tornado.web.RequestHandler classes
2021-01-14 13:37:25 +01:00
Rasmus Wriedt Larsen
9cd8a862a0
Python: Expand Tornado tests and add annotations
...
I should probably have split this up into 2 commits, so sorry that didn't happen :|
2021-01-14 13:37:24 +01:00
Rasmus Wriedt Larsen
b4f3399534
Python: Add reverse inheritance test for Tornado
2021-01-14 13:37:24 +01:00
Rasmus Wriedt Larsen
57d08a8523
Python: Rewrite old Tornado tests
...
Now you can run them, and the examples have been adjusted so they actually work!
2021-01-14 13:37:23 +01:00
Rasmus Wriedt Larsen
7db55906b9
Python: Copy old tornado tests
2021-01-14 13:37:22 +01:00
Erik Krogh Kristensen
03d8aeb7b6
refactor PolynomialBackTrackingTerm, to allow getting the pump string and the prefix-message
2021-01-14 13:35:32 +01:00
Tom Hvitved
f5eb131e2d
C#: Address review comments
2021-01-14 12:42:43 +01:00
yoff
c69b776d34
Merge pull request #4864 from RasmusWL/django-request-handler-without-route
...
Python: Model Django request handler without route
2021-01-14 12:06:59 +01:00
Tamás Vajk
fa8e902fe4
Merge pull request #4922 from tamasvajk/feature/fix-finally-cfg-opass
...
C#: Fix expanded assignment lookup in finally blocks for CFG
2021-01-14 11:26:33 +01:00
Tamás Vajk
36a1293156
Merge pull request #4952 from tamasvajk/feature/type-mention-nullable
...
C#: Fix type mention extraction of named types with nullability enabled
2021-01-14 11:25:44 +01:00
Erik Krogh Kristensen
a520a51d42
highlight the use of the regular expression, instead of the sink for user input
2021-01-14 11:22:20 +01:00
Mathias Vorreiter Pedersen
3468593d3a
Merge pull request #4915 from geoffw0/sqltaint
...
C++: Fix FPs in cpp/sql-injection
2021-01-14 11:20:08 +01:00
Erik Krogh Kristensen
e8ea720650
adjust description to not mention user-provided values
2021-01-14 10:36:10 +01:00
Tamas Vajk
48d8ee9166
Fix failing test
2021-01-14 09:47:46 +01:00
Tamas Vajk
927dd514ea
C#: Extract unary patterns
2021-01-14 09:47:46 +01:00
Tamás Vajk
842ed62875
Merge pull request #4927 from tamasvajk/feature/comp-assembly
...
C#: Add output assembly to compilation
2021-01-14 09:45:11 +01:00
CodeQL CI
4229f556cb
Merge pull request #4751 from erik-krogh/logInjection
...
Approved by asgerf, mchammer01
2021-01-14 00:32:46 -08:00
Tamas Vajk
05c858ec2c
C#: Fix expanded assignment lookup in finally blocks for CFG
2021-01-14 08:54:10 +01:00
Tamas Vajk
5803a449be
Add test case for assign operation in finally
2021-01-14 08:39:46 +01:00
Tamas Vajk
ec669c883a
Add DB upgrade folder
2021-01-14 08:25:35 +01:00
Tamas Vajk
5060756a0b
Fix typo in comment
2021-01-14 08:20:45 +01:00
Tamás Vajk
b6107d341b
Merge pull request #4924 from tamasvajk/feature/remove-string-literal-might-throw
...
C#: Remove throw completion from StringLiteral
2021-01-14 08:15:33 +01:00
Tamas Vajk
12d602b798
Add new .stats file
2021-01-13 15:46:08 +01:00
Jonas Jensen
5eafe63a82
Merge pull request #4941 from geoffw0/cpp409
...
C++: Test of taint through ConstructorDelegationInit.
2021-01-13 15:06:37 +01:00
Tamas Vajk
61b207f067
Rework type mention test
2021-01-13 13:24:48 +01:00
Tamas Vajk
c0e0bd2531
C#: Fix type mention extraction of named types with nullability enabled
2021-01-13 12:58:41 +01:00
Tamas Vajk
c2a4235db8
C#: Add type-mention tests with nullability
2021-01-13 12:55:27 +01:00
Geoffrey White
69664535b0
Merge pull request #4881 from ihsinme/main
...
CPP: Add query for CWE-401 memory leak on unsuccessful call to realloc function
2021-01-13 10:58:09 +00:00
Anders Schack-Mulligen
29935e1388
Merge pull request #4771 from intrigus-lgtm/split-cwe-295
...
Java: Add unsafe hostname verification query and remove existing overlapping query
2021-01-13 11:31:38 +01:00
Erik Krogh Kristensen
c98dacf842
changes based on doc review
2021-01-13 10:38:19 +01:00
Erik Krogh Kristensen
d71adff079
dont sanitize global replacements where the regexp is a char class
2021-01-13 10:12:12 +01:00
Tamas Vajk
fb13126676
C#: Store output assembly in compilation_assembly relation
2021-01-13 09:23:56 +01:00
Tamas Vajk
983c4d06d4
Revert "C#: Add output assembly to compilation"
...
This reverts commit 5cfa900828 .
2021-01-13 09:12:31 +01:00
Tamas Vajk
5cfa900828
C#: Add output assembly to compilation
2021-01-13 09:10:49 +01:00
Tamas Vajk
7418c05594
Always populate assemblies
2021-01-13 09:10:49 +01:00
Erik Krogh Kristensen
0a17b04650
refactor copy-pasted code into getAnLibraryInputParameter
2021-01-12 20:21:37 +01:00
Erik Krogh Kristensen
eaee5c2d87
add library input as source for js/polynomial-redos
2021-01-12 20:21:33 +01:00
Geoffrey White
3f09a047ae
C++: Test comments.
2021-01-12 14:52:52 +00:00
intrigus
2931e1f3fb
Java: Add change note for #4771
2021-01-12 15:37:45 +01:00
intrigus
1901f6bf55
Java: Make @id @name of query more similar.
2021-01-12 15:36:55 +01:00
intrigus
4fa8f5eab2
Java: Accept test changes
2021-01-12 15:29:03 +01:00
Rasmus Wriedt Larsen
2ba7ed4940
Python: Add note about future work for getARequestHandler
2021-01-12 13:32:43 +01:00
Esben Sparre Andreasen
3c9c79a550
JS: remove flow labels from js/resource-exhaustion
2021-01-12 13:20:20 +01:00
Esben Sparre Andreasen
5965035c09
JS: add query js/resource-exhaustion
2021-01-12 13:20:20 +01:00
CodeQL CI
1c8547c897
Merge pull request #4774 from erik-krogh/forms
...
Approved by asgerf
2021-01-12 02:01:38 -08:00
Esben Sparre Andreasen
847687974f
JS: only select non-nullable terms in the broken sanitizer
2021-01-12 08:50:19 +01:00
Esben Sparre Andreasen
40cfbab335
JS: address review feedback
2021-01-12 08:49:08 +01:00
ihsinme
bbd3f7631e
Delete test.c
...
sorry i was in a hurry
2021-01-11 23:52:26 +03:00
ihsinme
b92d63d5df
Delete CompilerRemovalOfCodeToClearBuffers.qlref
...
sorry i was in a hurry
2021-01-11 23:51:37 +03:00
ihsinme
05f866e912
Delete CompilerRemovalOfCodeToClearBuffers.expected
...
sorry i was in a hurry
2021-01-11 23:51:18 +03:00
ihsinme
d7a5e61f8e
Delete CompilerRemovalOfCodeToClearBuffers.qhelp
...
sorry i was in a hurry
2021-01-11 23:50:47 +03:00
ihsinme
c38cfcb735
Delete CompilerRemovalOfCodeToClearBuffers.ql
...
sorry i was in a hurry
2021-01-11 23:50:19 +03:00
ihsinme
65ff526eef
Delete CompilerRemovalOfCodeToClearBuffers.c
...
sorry i was in a hurry
2021-01-11 23:49:53 +03:00
ihsinme
ed6d8e3d18
Add files via upload
2021-01-11 23:40:38 +03:00
ihsinme
b185a33157
Add files via upload
2021-01-11 23:39:02 +03:00
Geoffrey White
7409dd015e
C++: Autoformat.
2021-01-11 18:58:32 +00:00
ihsinme
b28444b55c
Update MemoryLeakOnFailedCallToRealloc.ql
...
I thought since there is no work on this PR, I will delete the residual import.
2021-01-11 21:17:49 +03:00
intrigus
85286f362c
Java: Replace global flow by local flow
2021-01-11 19:02:07 +01:00
intrigus-lgtm
722bd4dafa
Java: Revise qhelp
2021-01-11 18:57:24 +01:00
intrigus-lgtm
4cfdb10ddc
Java: Improve QLDoc & simplify code
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-01-11 18:50:43 +01:00
Geoffrey White
1cde5e1828
C++: Test of taint through ConstructorDelegationInit.
2021-01-11 17:35:50 +00:00
CodeQL CI
4bc287e89b
Merge pull request #4933 from madneal/fix-for-predicates
...
Approved by shati-patel
2021-01-11 06:01:33 -08:00
madneal
ee3ffa0700
add extra clarifications in the comments
2021-01-11 21:43:24 +08:00
Mathias Vorreiter Pedersen
59abcd6dae
Merge pull request #4938 from geoffw0/cpp302
...
C++: Tidy up old QL headers
2021-01-11 14:12:16 +01:00
intrigus
5c1e746c96
Java: Rename to EnvReadMethod
2021-01-11 13:42:08 +01:00
intrigus
1eb2b75389
Java: Further reduce FPs, simply Flag2Guard flow
2021-01-11 13:42:08 +01:00
intrigus
b4692734b2
Java: Add QLDoc improve query message
2021-01-11 13:42:08 +01:00
intrigus-lgtm
f4b912cd8a
Apply suggestions from doc review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-01-11 13:42:08 +01:00
intrigus
e11304a1ca
Java: Autoformat
2021-01-11 13:42:08 +01:00
intrigus-lgtm
b8f3e64a0f
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-01-11 13:42:08 +01:00
intrigus
502e4c39f5
Java: Fix Qhelp
2021-01-11 13:42:08 +01:00
intrigus-lgtm
355cb6eeec
Fix Qhelp format
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-01-11 13:42:07 +01:00
intrigus-lgtm
10fc2cf9f8
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-01-11 13:42:07 +01:00
intrigus
c88f07dde4
Java: Accept test output
2021-01-11 13:42:07 +01:00
intrigus
33b0ff28d8
Java: Update test
2021-01-11 13:42:07 +01:00
intrigus
9e2ef9bd74
Java: Filter results by feature flags.
...
This ignores results that are guarded by a feature flag
that suggests an intentionally insecure feature.
Inspired by Go's `InsecureFeatureFlag.qll` and
`DisabledCertificateCheck.ql`.
2021-01-11 13:42:07 +01:00
intrigus
a62a2e58dd
Java: Improve QL-Doc
2021-01-11 13:42:07 +01:00
intrigus
d98b171998
Java: Make EnvTaintedMethod public + QL-Doc
2021-01-11 13:42:07 +01:00
intrigus
e021158b5f
Java: Tighter model of HostnameVerifier#verify
...
This more tightly models `HostnameVerifier#verify` previously it
was possible to accidentally match other methods called `verify`.
2021-01-11 13:42:07 +01:00
intrigus
0a9df07df7
Apply suggestions from review.
2021-01-11 13:42:07 +01:00
intrigus
70b0703952
Java: Remove overlapping code
2021-01-11 13:42:07 +01:00
intrigus
3da1cb0879
Java: Add unsafe hostname verification query
2021-01-11 13:42:07 +01:00
intrigus
8df5d77398
Java: Model HostnameVerifier method
...
Model `HostnameVerifier#setDefaultHostnameVerifier`
2021-01-11 13:42:06 +01:00
Anders Schack-Mulligen
3a2dd8f1ed
Merge pull request #4867 from RasmusWL/java-externalapis-taint-step
...
Java: Fix taint-step handling for untrusted-data-external-api
2021-01-11 13:36:59 +01:00
madneal
4e373aaf29
replace error with errors
2021-01-11 19:38:27 +08:00
Rasmus Wriedt Larsen
7d94bab75e
Merge branch 'main' into django-request-handler-without-route
2021-01-11 12:24:41 +01:00
madneal
e0fc9bac08
add error for shotString
2021-01-11 19:15:22 +08:00
Rasmus Wriedt Larsen
828bb9a902
Python: Small refactor for request param modeling in Django
2021-01-11 11:29:54 +01:00
Esben Sparre Andreasen
580a24e982
JS: rewrite js/incomplete-multi-character-sanitization
2021-01-11 11:26:45 +01:00
Rasmus Wriedt Larsen
141b9adc4d
Python: Minor refactoring
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-01-11 11:18:59 +01:00
Geoffrey White
cf1d1dc5c0
C++: Remove old tags.
2021-01-11 09:31:06 +00:00
madneal
1e2487320c
address #4932,fix for errors of Binding behavior
2021-01-09 21:38:25 +08:00
Geoffrey White
70ce5fde75
C++: Improve metadata for GlobalNamespaceClasses.ql.
2021-01-08 18:27:06 +00:00
Geoffrey White
a6937beee3
Merge branch 'main' into sqltaint
2021-01-08 17:27:43 +00:00
Geoffrey White
7f0209f72e
Merge branch 'main' into modelclasses
2021-01-08 17:11:25 +00:00
Shati Patel
b794fcb841
Merge pull request #4925 from shati-patel/fix-links
...
Fix broken links in CodeQL documentation
2021-01-08 16:35:15 +00:00
Shati Patel
53c46edc1c
Address review comments
2021-01-08 15:20:40 +00:00
Rasmus Wriedt Larsen
00c253a710
Java: Don't ignore local taint steps (fixup)
2021-01-08 15:29:01 +01:00
Anders Schack-Mulligen
e5b4975450
Merge pull request #4675 from luchua-bc/cleartext-storage-shared-prefs
...
Java: Query to detect cleartext storage of sensitive information using Android SharedPreferences
2021-01-08 12:41:34 +01:00
Tamás Vajk
136e5c93d1
Merge pull request #4672 from tamasvajk/feature/extract-anon-types
...
C#: Extract anonymous types explicitly
2021-01-08 11:54:37 +01:00
CodeQL CI
807fc94627
Merge pull request #4921 from erik-krogh/moreShellSan
...
Approved by esbena
2021-01-08 00:58:26 -08:00
Tamas Vajk
800fd94572
Add DB upgrade folder
2021-01-08 08:20:49 +01:00
Tamas Vajk
056dbe31d5
C#: Remove throw completion from StringLiteral
2021-01-08 08:14:08 +01:00
Erik Krogh Kristensen
6423c32990
Update javascript/ql/src/semmle/javascript/security/dataflow/UnsafeShellCommandConstructionCustomizations.qll
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-01-07 22:02:39 +01:00
Shati Patel
cdcb4a9599
Fix redirects from Sphinx linkcheck
2021-01-07 15:45:40 +00:00
Shati Patel
3da66b7fd9
Fix broken links from Sphinx linkcheck
2021-01-07 15:45:28 +00:00
Tamas Vajk
f971f42bb1
Add new stats file
2021-01-07 15:24:10 +01:00
Tamas Vajk
fdf5cf9dd0
C#: Extract anonymous types explicitly
2021-01-07 15:24:10 +01:00
Tom Hvitved
63f76b1b43
C#: Uniform treatment of all SSA definitions
2021-01-07 15:16:44 +01:00
Tom Hvitved
8d77f4bac9
C#: Remove ImplicitUntrackedDefinition
2021-01-07 15:16:39 +01:00
luchua-bc
606d0946fc
Update qldoc
2021-01-07 14:05:12 +00:00
Tamás Vajk
3b16d2689d
Merge pull request #4821 from tamasvajk/feature/csharp9-cil-init-prop
...
C#: Extract init only accessors from CIL
2021-01-07 15:04:40 +01:00
CodeQL CI
c193d9f375
Merge pull request #4823 from erik-krogh/furtherReDoS
...
Approved by esbena
2021-01-07 05:24:07 -08:00
Erik Krogh Kristensen
7eab08511b
add source code examples to blocksCharInAccess
2021-01-07 13:58:26 +01:00
Erik Krogh Kristensen
8b03ab0c01
update docstring for getAShellChar
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-01-07 13:58:26 +01:00
Erik Krogh Kristensen
2aa59a3f8b
support sanitizers that sanitize individual chars in js/shell-command-constructed-from-input
2021-01-07 13:58:25 +01:00
Mathias Vorreiter Pedersen
13a67c906e
Merge pull request #4810 from geoffw0/multtoalloc
...
C++: Query for multiplications used in allocations.
2021-01-07 13:48:58 +01:00
luchua-bc
b54e5b1c49
Revamp the library module
2021-01-07 12:44:59 +00:00
ihsinme
2d6dafc6be
Update MemoryLeakOnFailedCallToRealloc.ql
2021-01-07 15:44:50 +03:00
ihsinme
f378c14659
Update MemoryLeakOnFailedCallToRealloc.expected
2021-01-07 15:43:58 +03:00
ihsinme
592cd284e8
Update test.c
2021-01-07 15:41:31 +03:00
CodeQL CI
7db5a999e9
Merge pull request #4919 from erik-krogh/revertSum
...
Approved by esbena
2021-01-07 03:55:14 -08:00
Tamás Vajk
6cbff13778
Merge pull request #4905 from tamasvajk/fix/attribute-argument-extraction
...
C#: Fix attribute argument extraction
2021-01-07 12:28:43 +01:00
Erik Krogh Kristensen
7e21081b70
add comment about regexp detected by js/polynomial-redos
2021-01-07 12:06:12 +01:00
Alexander Eyers-Taylor
4100973d17
Merge pull request #4914 from alexet/fix-spec-bugs
...
QL Language specification. Fix multiple spec bugs.
2021-01-07 10:56:53 +00:00
Tamas Vajk
e00db46d60
Minor code quality improvements
2021-01-07 09:19:13 +01:00
Tom Hvitved
2c09f9a8f2
Merge pull request #4903 from hvitved/csharp/ssa-fast-tc
...
C#: Port SSA performance improvements from Java
2021-01-07 09:17:21 +01:00
Erik Krogh Kristensen
bfd8d1b1e9
Merge branch 'main' into revertSum
2021-01-06 23:04:08 +01:00
ihsinme
abdeaabd77
Update MemoryLeakOnFailedCallToRealloc.ql
2021-01-06 22:46:03 +03:00
ihsinme
2b8227e04d
Update cpp/ql/src/experimental/Security/CWE/CWE-401/MemoryLeakOnFailedCallToRealloc.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-01-06 22:23:46 +03:00
ihsinme
f7eb328f76
Update cpp/ql/src/experimental/Security/CWE/CWE-401/MemoryLeakOnFailedCallToRealloc.qhelp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-01-06 22:18:14 +03:00
ihsinme
d7f31ca1a0
Update cpp/ql/src/experimental/Security/CWE/CWE-401/MemoryLeakOnFailedCallToRealloc.qhelp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-01-06 22:17:26 +03:00
CodeQL CI
9d4cd0aa85
Merge pull request #4862 from erik-krogh/shellSanitizer
...
Approved by esbena
2021-01-06 11:16:12 -08:00
Geoffrey White
b5bcbd303e
C++: Cleaner solution.
2021-01-06 18:22:31 +00:00
Geoffrey White
f69ceb3dbb
Merge pull request #4904 from MathiasVP/conflated-dataflow-testcases
...
C++: Add dataflow testcases that need flow through conflated memory
2021-01-06 17:48:18 +00:00
luchua-bc
f13b8814f5
Update class/method names in the module
2021-01-06 16:49:35 +00:00
luchua-bc
5690bf49f4
Optimize the query
2021-01-06 16:21:26 +00:00
Alexander Eyers-Taylor
2686335531
Merge pull request #1 from shati-patel/fix-spec-bugs-edits
...
Editorial review for QL language updates
2021-01-06 14:48:26 +00:00
Erik Krogh Kristensen
f1cee70e82
add class-field flowstep to js/shell-command-constructed-from-input
2021-01-06 14:37:00 +01:00
Tamas Vajk
04074c425b
C#: Fix named attribute argument extraction
2021-01-06 14:27:36 +01:00
Tamas Vajk
44372f4db7
C#: Fix attribute argument extraction when default argument value is present
2021-01-06 14:27:36 +01:00
Tamas Vajk
6d95ad3282
C#: Add file instead of generated location for extraction errors when possible
2021-01-06 14:27:31 +01:00
Shati Patel
bc6b1e8ed7
Fix typos and small formatting bugs
2021-01-06 12:11:16 +00:00
Geoffrey White
81205f37c5
C++: Fix test annotation.
2021-01-06 11:45:17 +00:00
Tom Hvitved
74622cf6f3
C#: Fix join-order following stats update
2021-01-06 12:16:19 +01:00
Shati Patel
203d74f255
Remove links to QLDoc spec
2021-01-06 11:04:58 +00:00
Shati Patel
b230868893
Merge pull request #4874 from shati-patel/docs-highlighting
...
Docs: Tweak syntax highlighting
2021-01-06 10:51:01 +00:00
Jonas Jensen
2483b09e44
Merge pull request #4913 from MathiasVP/pre-hook-autoformat-check
...
Add pre-commit hook to scripts folder and document it
2021-01-06 11:26:39 +01:00
Erik Krogh Kristensen
28cffa1e07
add comment in isFork about /(a*)*/ regular expressions
2021-01-06 10:44:13 +01:00
Erik Krogh Kristensen
c58f67b189
reintroduce performance improvement - but sound this time
2021-01-06 10:44:13 +01:00
Erik Krogh Kristensen
4392f0270c
autoformat
2021-01-06 10:37:36 +01:00
Erik Krogh Kristensen
3d98732136
support nested stars in js/ReDoS
2021-01-06 10:37:35 +01:00
Erik Krogh Kristensen
77967c3e63
undo unsound optimization in js/ReDoS
2021-01-06 10:36:21 +01:00
Erik Krogh Kristensen
b42aac17d5
add more tests for js/ReDoS
2021-01-06 10:34:06 +01:00
Shati Patel
ad07072478
clarify highlight_language conf option
2021-01-05 19:13:28 +00:00
Shati Patel
5a9e098479
Merge pull request #4875 from madneal/htmlComment
...
Html comment
2021-01-05 16:15:57 +00:00
CodeQL CI
60bba5ea42
Merge pull request #4886 from madneal/test-custom-quries
...
Approved by shati-patel
2021-01-05 08:07:12 -08:00
Mathias Vorreiter Pedersen
f18486aa60
Update docs/pre-commit-hook-setup.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-01-05 17:00:23 +01:00
Shati Patel
1c0e94984c
Update docs/codeql/codeql-cli/query-reference-files.rst
2021-01-05 15:50:54 +00:00
Mathias Vorreiter Pedersen
ae388ec796
Update docs/pre-commit-hook-setup.md
...
Co-authored-by: Cornelius Riemenschneider <criemen@github.com >
2021-01-05 16:27:53 +01:00
Mathias Vorreiter Pedersen
11e2bc3b78
Respond to review comments.
2021-01-05 16:21:24 +01:00
alexet
0bd8c55510
Docs: Remove qldoc from the TOC as it no longer exists
2021-01-05 15:10:59 +00:00
Shati Patel
edcd2dd294
Merge pull request #4878 from shati-patel/docs-pullquotes
...
Docs: Change remaining notes to "pull-quote" directives
2021-01-05 14:51:01 +00:00
Shati Patel
2702b65651
Merge pull request #4873 from shati-patel/docs-formatting
...
Docs: Fix CSS for "pull-quotes" and expandable sections
2021-01-05 14:50:45 +00:00
alexet
5d84ecc7f3
QLSpecification: Fix handling of fields to handle overriding properly.
2021-01-05 14:49:02 +00:00
Tamas Vajk
12c28547fc
Fix code review findings
2021-01-05 15:15:13 +01:00
Taus
75cfec863f
Merge pull request #4828 from yoff/yoff-python-add-source-nodes
...
Python: add source nodes
2021-01-05 15:07:51 +01:00
alexet
ebb253e409
QLSpec: Fix typo
2021-01-05 14:01:36 +00:00
alexet
67c2006eb0
QLSpec: Adjust wierd wording
2021-01-05 14:01:36 +00:00
alexet
3db9ad3a97
QLSpec: Prevent int-float transitive closures
2021-01-05 14:01:36 +00:00
alexet
fa8a2c0cce
QLSpec: Fix predicate resolution
2021-01-05 14:01:35 +00:00
alexet
ce905c0d34
QLSpec: Finish specification for fields.
2021-01-05 14:01:31 +00:00
Shati Patel
929c007e5d
Update docs/codeql/ql-language-reference/expressions.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-01-05 13:53:19 +00:00
alexet
82187cb1f6
QLSpec:Link to common mark spec
2021-01-05 12:52:48 +00:00
alexet
2bda26b3df
QLSpec: Make qldoc part of the language.
...
We have treated it this way for a while internally and it corrects for some minor deviations from the spec.
2021-01-05 12:52:42 +00:00
Mathias Vorreiter Pedersen
229ab7623e
- Add pre-commit hook script to misc/scripts
...
- Refer to it in CONTRIBUTING.md
- Add setup note in docs folder
2021-01-05 13:47:30 +01:00
Chris Smowton
e87fd86e63
Merge pull request #4814 from luchua-bc/java/password-in-configuration
...
Java: Password in Java EE configuration files
2021-01-05 11:42:27 +00:00
Geoffrey White
18890c4a77
C++: Use isAdditionalBarrier in the SqlTainted query.
2021-01-05 11:33:39 +00:00
Geoffrey White
69efe7a72a
C++: Add isAdditionalBarrier to DefaultTaintTracking.
2021-01-05 11:32:43 +00:00
CodeQL CI
a5e28ac6d6
Merge pull request #4847 from erik-krogh/afterReDoS
...
Approved by esbena
2021-01-05 01:51:27 -08:00
Anders Schack-Mulligen
26a9ba4aa0
Merge pull request #4898 from JLLeitschuh/feat/JLL/system_get_property
...
Add MethodAccessSystemGetProperty predicate
2021-01-05 10:46:22 +01:00
Jonathan Leitschuh
ba4a562c9a
Update PrintAst.actual with new test output
2021-01-04 23:37:58 -05:00
Rasmus Lerchedahl Petersen
8ceb33d3f7
Python: Also restrict StepSumary::step
2021-01-04 16:42:11 +01:00
Geoffrey White
01b204ea30
C++: Add a test case with a tainted integer.
2021-01-04 15:35:18 +00:00
Geoffrey White
7a3f9c7895
C++: Add a test (cleaned up) that was previously in the internal repo.
2021-01-04 15:35:18 +00:00
Jonathan Leitschuh
028e4756bb
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-01-04 10:13:52 -05:00
Erik Krogh Kristensen
368603eefa
add change note
2021-01-04 15:23:52 +01:00
Tom Hvitved
7f25efd43f
Merge pull request #4858 from hvitved/csharp/merge-format-queries
...
C#: Merge queries `FormatInvalid.ql`, `FormatMissingArgument.ql`, and `FormatUnusedArgument.ql`
2021-01-04 14:53:34 +01:00
Tom Hvitved
1237e566d0
C#: Fix typo
2021-01-04 12:59:45 +01:00
Erik Krogh Kristensen
ce8cc2368b
improve precision of intersect
2021-01-04 11:55:51 +01:00
Mathias Vorreiter Pedersen
bb158f1857
C++: Add dataflow testcases that need flow through conflated memory.
2021-01-04 11:43:23 +01:00
Tom Hvitved
c1f822c83f
C#: Port SSA performance improvements from Java
2021-01-04 10:18:17 +01:00
Jonas Jensen
86194226e2
Merge pull request #4891 from MathiasVP/get-an-overload-perf-fix
...
C++: Fix join order in getAnOverload
2021-01-04 10:02:59 +01:00
Tom Hvitved
6d973d0103
Merge pull request #4857 from hvitved/csharp/expr-has-value
...
C#: Move `Expr::hasValue()` to `DotNet::Expr`
2021-01-04 10:02:45 +01:00
Mathias Vorreiter Pedersen
134982c5a9
C++: Respond to review comments.
2021-01-04 09:06:58 +01:00
Jonathan Leitschuh
54950c2f42
Add MethodAccessSystemGetProperty predicate
2021-01-01 20:07:45 -05:00
Mathias Vorreiter Pedersen
454605b7b1
C++: Fix join order in getAnOverload.
2020-12-30 10:34:26 +01:00
neal1991
380d15eabe
fix for the dead link, #4885
2020-12-28 10:28:50 +08:00
ihsinme
0c7381a3b0
Add files via upload
2020-12-26 20:45:11 +03:00
ihsinme
cd7c47ea39
Add files via upload
2020-12-26 20:43:25 +03:00
Shati Patel
8c7245113d
Change ordering of sidebar TOC to match index file
2020-12-23 17:16:56 +00:00
Shati Patel
050b15103e
Convert remaining notes to pull-quote directives
2020-12-23 17:13:24 +00:00
Shati Patel
dc528767f6
Don't turn arrow into ▶ emoji
2020-12-23 16:47:37 +00:00
Shati Patel
ff8e9e6adf
Fix code block in other CodeQL docs
2020-12-23 12:41:46 +00:00
madneal
583395d862
fix LineComment and BlockComment level
2020-12-23 19:49:30 +08:00
neal1991
623de3df41
the level of HTMLHtmlCommentStart and HtmlCommentEnd should be same
2020-12-23 19:18:13 +08:00
Shati Patel
f1d8d9414f
Fix code blocks in QL language reference
2020-12-23 10:49:23 +00:00
Shati Patel
a14f53c02f
Set default highlighting language to "none" globally
...
Otherwise Python is the default
2020-12-23 10:29:10 +00:00
Shati Patel
c2fdb47abe
Docs: Fix CSS for "pull-quotes"
2020-12-23 07:30:11 +00:00
Erik Krogh Kristensen
44571ffeea
use the full ascii set instead of a few chosen chars
2020-12-22 16:00:23 +01:00
Erik Krogh Kristensen
303408b774
remove duplicate char
2020-12-22 15:48:24 +01:00
Erik Krogh Kristensen
354954c80c
changes based on review
2020-12-22 15:41:06 +01:00
Rasmus Wriedt Larsen
3094aedf14
Python: Fix regression in ConceptTests
...
I accidentially deleted that line :D
2020-12-22 14:42:53 +01:00
Erik Krogh Kristensen
530a4aea35
Merge branch 'main' into shellSanitizer
2020-12-22 13:57:15 +01:00
Erik Krogh Kristensen
f7f88689c4
use strings in isTypeofGard
2020-12-22 13:55:32 +01:00
CodeQL CI
2bb96369f1
Merge pull request #4868 from erik-krogh/boundShell
...
Approved by esbena
2020-12-22 03:35:42 -08:00
CodeQL CI
7c6b4d7324
Merge pull request #4865 from esbena/js/fix-execa-model
...
Approved by erik-krogh
2020-12-22 03:32:26 -08:00
Rasmus Wriedt Larsen
dc0d940331
Python: Ensure all concept tests ignore irrelevant results
...
Since this was causing a CI error.
also changed things a bit so we do it in a consistent way :)
2020-12-22 11:32:42 +01:00
Rasmus Wriedt Larsen
bc4a0bcbeb
Python: Split request handler / route setup concept tests
...
Not doing so earlier was just a mistake.
2020-12-22 11:31:20 +01:00
Erik Krogh Kristensen
da9a4e5267
add test
2020-12-22 11:22:25 +01:00
Erik Krogh Kristensen
b8b5aef5f4
recognize Object.defineProperty(obj, prop, {get: func}) as a property-write
2020-12-22 11:21:41 +01:00
Erik Krogh Kristensen
6a9089b15e
recognize bound functions in js/shell-command-constructed-from-input
2020-12-22 11:20:34 +01:00
CodeQL CI
67d0f4d938
Merge pull request #4866 from esbena/js/add-tests-for-examples
...
Approved by erik-krogh
2020-12-22 02:04:47 -08:00
Rasmus Wriedt Larsen
874af7637f
Java: Fix taint-step handling for untrusted-data-external-api
...
The previous implementation would not handle any `AdditionalTaintStep`
subclasses.
2020-12-22 11:02:50 +01:00
CodeQL CI
e2bba97794
Merge pull request #4860 from erik-krogh/functionExports
...
Approved by esbena
2020-12-22 01:05:37 -08:00
Erik Krogh Kristensen
df95562f8f
remove TTUndefined from TypeOfSanitizer in js/shell-command-constructed-from-input
2020-12-22 09:43:50 +01:00
CodeQL CI
b35edc9de6
Merge pull request #4732 from github/esbena-patch-4
...
Approved by erik-krogh
2020-12-22 00:42:25 -08:00
Erik Krogh Kristensen
6eb88b9e41
introduce and use TaintTracking::isTypeofGuard
2020-12-22 09:42:12 +01:00
Esben Sparre Andreasen
34a09ff522
JS: add js/conditional-bypass example as a test case
2020-12-22 09:34:25 +01:00
Esben Sparre Andreasen
009527c69c
JS: add change note
2020-12-22 09:26:35 +01:00
Esben Sparre Andreasen
ab4f3ea259
JS: fixup for execa.shell and execa.shellSync models
2020-12-22 09:06:18 +01:00
Esben Sparre Andreasen
ba714a1214
JS: add execa.shell tests
2020-12-22 09:01:43 +01:00
Erik Krogh Kristensen
34a6e15426
make TypeOfSanitizer slightly more robost
2020-12-22 08:53:14 +01:00
Erik Krogh Kristensen
18d26cabe5
Update javascript/ql/src/semmle/javascript/security/dataflow/UnsafeShellCommandConstructionCustomizations.qll
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2020-12-22 08:37:24 +01:00
Jonas Jensen
430194bb66
Merge pull request #4863 from MathiasVP/is-source-on-default-taint-tracking
...
C++: Overridable isSource on DefaultTaintTracking
2020-12-22 08:32:07 +01:00
Mathias Vorreiter Pedersen
4f07474b62
C++: Also allow custom sources in taintedWithoutGlobals
2020-12-21 19:55:47 +01:00
Rasmus Wriedt Larsen
71a6ef5b00
Python: Model RequestHandler from standard library explicitly
2020-12-21 18:02:31 +01:00
Rasmus Wriedt Larsen
05ab6cd54a
Python: Add RemoteFlowSource for django handler without route
...
A bit scary that we don't have any tests to indicate that I forgot to add this :O
2020-12-21 18:02:30 +01:00
Rasmus Wriedt Larsen
d4d6f0ca0c
Python: Model django request handlers without known route
2020-12-21 18:02:22 +01:00
Rasmus Wriedt Larsen
004ff38e22
Python: Add separate RequestHandler concept
...
Since I really want to use our existing infrastructure to model that we can
recognize something as a request handler without it having a route, we need this
as a separate concept. All tests have been adjusted.
The early modeling was based on flask, where all request-handling is based on
handling requests from a specific route. But with the standard library handling
and handlers without routes, the naming had to change.
2020-12-21 17:31:58 +01:00
Mathias Vorreiter Pedersen
f4f96fe257
C++: Use isSource in queries. These were the only queries that restrict the source after dataflow terminates.
2020-12-21 16:35:35 +01:00
Mathias Vorreiter Pedersen
0e84c638b6
C++: Add isSource to AdjustedConfiguration
2020-12-21 16:34:22 +01:00
Rasmus Wriedt Larsen
a9bbe1d087
Python: Test Django un-routed class-based route handler
2020-12-21 16:01:23 +01:00
Erik Krogh Kristensen
876ba7ef2d
add typeof sanitizer to js/shell-command-constructed-from-input
2020-12-21 14:16:55 +01:00
Tom Hvitved
0c78fb2933
Merge pull request #4855 from madneal/fix-for-csharp-docs
...
Fix for csharp docs
2020-12-21 14:11:36 +01:00
Erik Krogh Kristensen
4ef569fbbe
recognize more exported functions in js/shell-command-constructed-from-input
2020-12-21 13:50:22 +01:00
Shati Patel
0a0137bb5e
Merge pull request #4859 from github/shati-patel-patch-1
...
Fix typo in docs title
2020-12-21 12:07:32 +00:00
Erik Krogh Kristensen
e3ec67d5e3
avoid materializing isFeasibleTuple
2020-12-21 12:53:41 +01:00
Jonas Jensen
4308381057
Merge pull request #4846 from MathiasVP/default-taint-tracking-operand-instruction-interleaving
...
C++: Instruction -> Operand interleaving for DefaultTaintTracking
2020-12-21 12:44:06 +01:00
Shati Patel
66b85f1e5e
Fix typo
2020-12-21 11:29:02 +00:00
Neal Caffery
ee0257836f
removed, as it fixed by #4848
2020-12-21 19:05:37 +08:00
Erik Krogh Kristensen
cbad705029
general performance improvements in the ReDoS utility library
2020-12-21 11:49:21 +01:00
Tom Hvitved
591f90f98e
C#: Add change note
2020-12-21 10:26:49 +01:00
Tom Hvitved
b5a1e039a4
C#: Merge queries FormatInvalid.ql, FormatMissingArgument.ql, and FormatUnusedArgument.ql
2020-12-21 10:13:56 +01:00
Tom Hvitved
8d6c69bf74
C#: Move Expr::hasValue() to DotNet::Expr
2020-12-21 09:46:45 +01:00
Mathias Vorreiter Pedersen
06366fa320
Merge pull request #4856 from jbj/gvn-wrapper-test
...
C++: Test the AST wrapper for IR GVN
2020-12-21 09:31:10 +01:00
Tom Hvitved
16aee6e71e
Merge pull request #4842 from hvitved/csharp/format-method-no-insertion-param
...
C#: Recognize format methods without insertion parameters
2020-12-21 09:25:18 +01:00
Jonas Jensen
3236cbd83e
C++: Test the AST wrapper for IR GVN
...
Out of our 3 GVN libraries, the one we actually use in production didn't
have tests -- except indirectly through `diff_ir_expr.ql`.
2020-12-21 08:21:02 +01:00
neal1991
b9d24b8255
fix for issue #4849
2020-12-21 08:54:15 +08:00
neal1991
eac83df40b
fix for issue #4848
2020-12-21 08:52:42 +08:00
Erik Krogh Kristensen
3a43421193
add missing qhelp
2020-12-19 00:02:42 +01:00
Erik Krogh Kristensen
05569187b4
improve performance of suffix checking
2020-12-18 17:21:15 +01:00
Erik Krogh Kristensen
6369374224
implement new algorithm for detecting superlinear backtracking in regular expressions
2020-12-18 17:21:15 +01:00
Erik Krogh Kristensen
7ce91e9146
introduce cannonical representatives of RegExpTerms to decrease the number of InputSymbols in the NFA
2020-12-18 17:21:11 +01:00
Erik Krogh Kristensen
34dda6d38b
refactor to share predicates between regular expression queries
2020-12-18 16:15:56 +01:00
Rasmus Wriedt Larsen
49f902d28b
Merge pull request #4757 from yoff/python-dataflow-synthetic-callables
...
Python: Enclosing callable for synthetic arguments
2020-12-18 16:06:26 +01:00
yoff
a08eb99778
Merge pull request #4779 from RasmusWL/django-class-based-handlers
...
Python: Add modeling of django class based view handlers
2020-12-18 15:58:51 +01:00
Anders Schack-Mulligen
5106d5df53
Merge pull request #4833 from luchua-bc/java-broken-crypto-algorithms
...
Java: Add missing broken crypto algorithms
2020-12-18 15:12:29 +01:00
Rasmus Wriedt Larsen
3e6296c7b8
Python: Fix grammar in QLDoc
2020-12-18 14:54:14 +01:00
Rasmus Wriedt Larsen
ed11e8f916
Python: Simplify predicate implementation
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2020-12-18 14:52:20 +01:00
Mathias Vorreiter Pedersen
b5102043b1
Fix comments.
2020-12-18 14:19:02 +01:00
Chris Smowton
de4cdda839
Merge pull request #4841 from smowton/smowton/admin/mergeback-126-2020-12-16
...
Mergeback rc/1.26
2020-12-18 12:59:06 +00:00
Mathias Vorreiter Pedersen
f5e4725642
C++: Propagate flow from instruction's to non-exact operands for arrays and unions, and accept test changes.
2020-12-18 13:54:34 +01:00
Rasmus Lerchedahl Petersen
e6e1cc2398
Python: Remember to accept failing tests
2020-12-18 13:38:14 +01:00
Rasmus Lerchedahl Petersen
712765c185
Python: Use ImportExp instead of SSA nodes
...
This also reverts the previous commit.
It should be squashed with that one, but for now we keep the history,
so we can track the performance tests.
2020-12-18 13:30:24 +01:00
Erik Krogh Kristensen
b2116dc5b4
add more tests for polynomial/exponential redos
2020-12-18 13:19:17 +01:00
Mathias Vorreiter Pedersen
2bf8e47932
Merge branch 'main' into default-taint-tracking-operand-instruction-interleaving
2020-12-18 11:59:10 +01:00
Mathias Vorreiter Pedersen
7ccd48e53c
Make DefaultTaintTracking do operand->instruction->operand interleaving like DataFlowUtil.
2020-12-18 11:57:16 +01:00
Geoffrey White
dc4ca9b1b9
C++: Add qhelp and example.
2020-12-18 10:10:05 +00:00
Tom Hvitved
d53faa86dc
C#: Restrict FormatInvalid.ql and UncontrolledFormatString.ql to calls with insertions
2020-12-18 10:53:11 +01:00
Rasmus Lerchedahl Petersen
0629d3e6e7
Python: Enclosing callable for synthetic arguments
2020-12-18 10:45:24 +01:00
Rasmus Lerchedahl Petersen
a16d58dfc0
Python: Add tests cases with synthetic arguments
2020-12-18 10:41:42 +01:00
Jonas Jensen
fd7dec7f20
Merge pull request #4824 from geoffw0/modelchanges5
...
C++: Add cases in the Allocation model.
2020-12-18 09:16:01 +01:00
Tamas Vajk
8e8c3a9ded
Add change note
2020-12-18 09:15:33 +01:00
Tamas Vajk
6fd1f0049d
Add DB upgrade folder
2020-12-18 09:10:55 +01:00
yoff
39acc9a40b
Merge pull request #4735 from RasmusWL/python-untrusted-flow
...
Python: Untrusted data used in external APIs
2020-12-18 00:15:08 +01:00
yoff
9dd6439e3c
Merge pull request #4749 from RasmusWL/command-injection-tests
...
Python: Add some command injection tests
2020-12-17 23:36:06 +01:00
yoff
8a44405365
Merge pull request #4827 from RasmusWL/reword-qldoc-for-type-tracking-classes
...
Python: Reword QLDoc for class modeling with type-tracking
2020-12-17 23:28:19 +01:00
Tamas Vajk
8eeab8fdd0
Add new stats file
2020-12-17 21:22:58 +01:00
Tamas Vajk
f3a0d1d138
Add test to list all custom modifiers extracted from IL
2020-12-17 15:43:41 +01:00
Tamas Vajk
7662b55ecc
C#: Extract init only accessors and custom modifiers
2020-12-17 15:43:41 +01:00
luchua-bc
bfb138d415
Update qldoc
2020-12-17 14:42:14 +00:00
Tom Hvitved
7a132149a2
C#: Add change note
2020-12-17 15:39:01 +01:00
Tom Hvitved
fe559c190e
C#: Recognize format methods without insertion parameters
2020-12-17 15:39:01 +01:00
Geoffrey White
fda531da49
C++: Add query precision.
2020-12-17 14:31:43 +00:00
luchua-bc
7b44ee50ea
Revamp the functions to have a string parameter
2020-12-17 14:26:13 +00:00
Tamas Vajk
57c163f314
C#: Add test for CIL setter extraction
2020-12-17 15:23:33 +01:00
Tamás Vajk
45893ab084
Merge pull request #4775 from tamasvajk/feature/cil-attribute-decoding2
...
C#: Improve CIL attribute decoding
2020-12-17 15:20:44 +01:00
Tamás Vajk
65c58edbed
Merge pull request #4617 from tamasvajk/feature/csharp9-implicit-obj-creation
...
C#: Extract 'ImplicitObjectCreationExpressionSyntax'
2020-12-17 15:20:13 +01:00
Tamas Vajk
f12befdcd0
Add extra test for collection initialization
2020-12-17 13:49:02 +01:00
luchua-bc
b44f01a87b
Enhance the check for embedded passwords
2020-12-17 03:47:38 +00:00
luchua-bc
bed8a68d28
Exclude broken algorithms from the list of secure algorithms
2020-12-17 00:41:23 +00:00
Aditya Sharad
a79f1e145b
Merge pull request #4832 from github/docs/add-favicon
...
[docs] Add GitHub favicon to CodeQL docs
2020-12-16 13:29:32 -08:00
Chris Smowton
faa08c10e0
Merge branch 'rc/1.26' of https://github.com/github/codeql into smowton/admin/mergeback-126-2020-12-16
2020-12-16 21:08:20 +00:00
James Fletcher
7bfc2853cb
Merge pull request #4839 from github/docs/css-fixes-126
...
[CodeQL docs] Fix two CSS bugs (rc/1.26)
2020-12-16 18:10:18 +00:00
James Fletcher
58f17d79c2
Merge pull request #4838 from github/docs/css-fixes
...
[CodeQL docs] Fix two CSS bugs
2020-12-16 16:44:59 +00:00
james
6c430ce0c7
align list items correctly
2020-12-16 16:41:27 +00:00
james
686eca9adf
fix footnote spacing
2020-12-16 16:41:27 +00:00
Geoffrey White
136fa01b87
C++: Query headers (apart from precison - needs more research).
2020-12-16 16:24:10 +00:00
Geoffrey White
1e3535754b
C++: Violation message.
2020-12-16 16:13:02 +00:00
james
ff123f8e78
align list items correctly
2020-12-16 15:58:12 +00:00
Geoffrey White
2210344f4d
C++: Add a test.
2020-12-16 15:44:53 +00:00
james
256460dddc
fix footnote spacing
2020-12-16 15:31:25 +00:00
Tamas Vajk
1bc65a68df
Address PR review comments
2020-12-16 16:12:11 +01:00
Geoffrey White
c89f7d824b
C++: Back out support for SysAllocString. It turns out supporting all of the SysAlloc stuff is beyond our current models, supporting just SysFreeString as we do is OK.
2020-12-16 15:08:53 +00:00
CodeQL CI
41ef7a3fce
Merge pull request #4733 from erik-krogh/args
...
Approved by esbena
2020-12-16 06:51:26 -08:00
CodeQL CI
287954e0d8
Merge pull request #4686 from erik-krogh/buildFp
...
Approved by esbena
2020-12-16 06:42:41 -08:00
Erik Krogh Kristensen
94e07bb91c
add change note
2020-12-16 15:10:03 +01:00
Erik Krogh Kristensen
99af484042
move the "commander" source
2020-12-16 15:05:59 +01:00
luchua-bc
6b77922a25
Fix typo and update qldoc
2020-12-16 14:04:45 +00:00
Erik Krogh Kristensen
2ae0400922
update docstring for dashdash
2020-12-16 15:00:44 +01:00
Erik Krogh Kristensen
3d03e7192c
Update javascript/ql/src/semmle/javascript/security/dataflow/IndirectCommandInjectionCustomizations.qll
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2020-12-16 14:57:20 +01:00
Erik Krogh Kristensen
d377a02825
add change note
2020-12-16 14:53:23 +01:00
James Fletcher
8b6c53cbb5
Merge pull request #4830 from owen-mc/update-go-supported-frameworks
...
Update supported Go frameworks
2020-12-16 10:07:48 +00:00
Jonas Jensen
406cc64dcc
Merge pull request #4831 from geoffw0/printfunknown
...
C++: Fix Printf.qll specsAreKnown
2020-12-16 10:56:56 +01:00
james
1a7ca1d3d2
add favicon to query help and support projects
2020-12-16 09:29:26 +00:00
CodeQL CI
9ae8880bd0
Merge pull request #4802 from max-schaefer/js/external-remote-flow-sources
...
Approved by asgerf, jf205
2020-12-16 00:34:40 -08:00
luchua-bc
d7facb42d6
Add missing broken crypto algorithms
2020-12-16 04:32:11 +00:00
james
c26ae246b3
correct path to favicon on docs landing page
2020-12-15 20:24:29 +00:00
james
f8d8082cf3
add github favicon
2020-12-15 19:34:56 +00:00
Geoffrey White
93dfeac3c8
C++: Make specsAreKnown more accurate.
2020-12-15 17:43:28 +00:00
Geoffrey White
676e85a155
C++: Re-enable the check.
2020-12-15 17:42:10 +00:00
Geoffrey White
94dea9f71d
C++: Add a test of unknown format specifiers (with specsAreKnown check disabled).
2020-12-15 17:40:32 +00:00
Tamas Vajk
8fd409898a
Add new stats file
2020-12-15 18:34:47 +01:00
Owen Mansel-Chan
1d3d4ed4bf
Update supported Go frameworks
2020-12-15 17:04:32 +00:00
Max Schaefer
cf5891487d
Apply suggestions from code review
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2020-12-15 15:56:05 +00:00
Max Schaefer
f8d8a9b356
Apply suggestions from code review
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2020-12-15 15:44:19 +00:00
james
7e3feb4f52
add beta note and tweak intro text
2020-12-15 15:35:28 +00:00
james
4720e6cd3b
typo
2020-12-15 15:26:07 +00:00
Rasmus Lerchedahl Petersen
638fcab12d
Python: Allow path from non-sourceNodes
...
This is against the philosophy, but we
have still restricted attributes.
We use this PR to test performance.
2020-12-15 15:35:16 +01:00
Rasmus Wriedt Larsen
8df186167e
Python: Reword QLDoc for class modeling with type-tracking
...
As discussed in https://github.com/github/codeql/pull/4797#discussion_r542423387
2020-12-15 15:15:03 +01:00
yoff
be5dbf2ccf
Merge pull request #4797 from RasmusWL/stdlib-http-source-modeling
...
Python: Model sources from stdlib HTTP servers
2020-12-15 14:49:32 +01:00
Tamas Vajk
3cf967458f
Fix failing test
2020-12-15 14:28:51 +01:00
james
99a634d2c2
add introduction to article
2020-12-15 12:11:29 +00:00
Tamas Vajk
adba961634
Add DB upgrade folder
2020-12-15 13:10:53 +01:00
Tamas Vajk
6cf3ca49e4
C#: Extract 'ImplicitObjectCreationExpressionSyntax'
2020-12-15 13:10:53 +01:00
Tom Hvitved
8c235323e7
Merge pull request #4796 from hvitved/csharp/cfg/simplify
...
C#: Various simplifications to CFG logic
2020-12-15 13:07:13 +01:00
Mathias Vorreiter Pedersen
9265e9ec3f
Merge pull request #4822 from geoffw0/swap
...
C++: Bring 'swap' models together.
2020-12-15 12:45:43 +01:00
Rasmus Wriedt Larsen
050e720770
Python: Minor rewrite
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2020-12-15 12:02:56 +01:00
Rasmus Wriedt Larsen
272feedb69
Merge branch 'main' into stdlib-http-source-modeling
2020-12-15 11:59:23 +01:00
Rasmus Wriedt Larsen
ed53742f03
Python: Fix additional taint-steps for cgi
...
So there isn't flow from *any* instance to *any* access of the methods,
but only from the _actual_ instance where the method is accessed.
2020-12-15 11:41:00 +01:00
Max Schaefer
00f244c1d4
JavaScript: Add documentation about new way of adding remote flow sources.
2020-12-15 10:16:20 +00:00
Geoffrey White
4bf2f3af50
C++: Fix comment.
2020-12-15 10:15:41 +00:00
Rasmus Lerchedahl Petersen
e64af59667
Merge branch 'main' of github.com:github/codeql into tausbn-python-add-source-nodes
2020-12-15 11:13:35 +01:00
Rasmus Lerchedahl Petersen
a152833a51
Merge branch 'python-add-source-nodes' of https://github.com/tausbn/codeql into tausbn-python-add-source-nodes
2020-12-15 11:13:02 +01:00
Tamás Vajk
e391356893
Merge pull request #4630 from tamasvajk/feature/csharp9-init-prop
...
C#: Add support for init only accessors
2020-12-15 11:12:32 +01:00
Geoffrey White
d7a92e581f
Merge branch 'main' into swap
2020-12-14 17:54:11 +00:00
Geoffrey White
9c77d3c829
C++: Add AliasFunction model.
2020-12-14 17:52:02 +00:00
Geoffrey White
f9a7322d68
C++: Remove redundant check.
2020-12-14 17:16:16 +00:00
luchua-bc
523f0fb247
Enhance the query and update qldoc
2020-12-14 17:01:30 +00:00
Tamas Vajk
74c88e6bac
Add DB stats
2020-12-14 17:16:29 +01:00
Geoffrey White
e02ebfb9bd
C++: Add extra cases to Allocation / Deallocation.
2020-12-14 14:00:36 +00:00
Geoffrey White
899d1ab6d8
C++: Add tests of strdup (and variants) as allocators.
2020-12-14 13:50:11 +00:00
Rasmus Wriedt Larsen
ceaaac217e
Merge pull request #4798 from yoff/python-reflected-xss-fp-examples
...
Python: Add example FP for reflected XSS
2020-12-14 13:56:24 +01:00
CodeQL CI
0420ac7aac
Merge pull request #4820 from RasmusWL/add-pymysql-modeling
...
Approved by yoff
2020-12-14 03:04:24 -08:00
CodeQL CI
90dbb60c7f
Merge pull request #4819 from RasmusWL/pep249-execute-on-connection
...
Approved by yoff
2020-12-14 03:04:08 -08:00
Rasmus Wriedt Larsen
daf418624e
Python: Make all PEP249 implementations private
...
Since we're still sticking with `private by default` at least for a while longer.
2020-12-14 10:57:51 +01:00
Rasmus Wriedt Larsen
31d4ea77cb
Python: Add modeling of PyMySQL
2020-12-14 10:56:47 +01:00
Rasmus Wriedt Larsen
e7b6400e48
Python: Add tests for PyMySQL
2020-12-14 10:55:01 +01:00
CodeQL CI
66f4120cdd
Merge pull request #4721 from github/nextReDoS
...
Approved by asgerf
2020-12-14 01:48:12 -08:00
Tom Hvitved
bb637f666c
C#: Introduce CfgScope class and generalize ControlFlowTree to include callables
2020-12-14 10:38:39 +01:00
Rasmus Wriedt Larsen
8d8e92eb09
Python: Model execute on a DB connection
2020-12-14 10:33:10 +01:00
Rasmus Wriedt Larsen
18f7dbe865
Python: Adjust PEP249 QLDocs
2020-12-14 10:26:17 +01:00
Tom Hvitved
a92404a6cd
C#: Add LabeledStmtTree for goto CFG edges
2020-12-14 09:58:54 +01:00
Tom Hvitved
06d42dac3e
C#: Use set literals in Splitting.qll
2020-12-14 09:58:54 +01:00
Tom Hvitved
0b2233155c
C#: Simplify CFG logic for finally blocks
2020-12-14 09:58:53 +01:00
Tom Hvitved
249eea9d2b
Merge pull request #4780 from hvitved/csharp/cfg/nested-finally
...
C#: Add missing CFG edges for nested `finally` blocks
2020-12-14 09:57:36 +01:00
luchua-bc
d469e9b24e
Format the code and minor text change
2020-12-13 21:15:18 +00:00
luchua-bc
e27ccd0a81
Format the code and update qldoc
2020-12-13 02:33:03 +00:00
James Fletcher
ca80f04726
Merge pull request #4808 from github/jf205-patch-2
...
Add `workflow_dispatch` to `generate-query-help-docs.yml`
2020-12-12 13:45:51 +00:00
Max Schaefer
be35e85639
JavaScript: Add change note.
2020-12-12 11:42:55 +00:00
Max Schaefer
9f8508fdc7
JavaScript: Allow specifying additional remote flow sources through JSON.
2020-12-12 11:42:55 +00:00
luchua-bc
7ba237120b
Password in Java EE configuration files
2020-12-12 05:15:04 +00:00
CodeQL CI
9ff6d68a9b
Merge pull request #4778 from asgerf/js/more-prototype-pollution
...
Approved by erik-krogh, mchammer01
2020-12-11 13:58:09 -08:00
Robert Marsh
af180d430e
Merge pull request #4805 from geoffw0/sscanf
...
C++: Refine examples and tests for cpp/memory-unsafe-function-scan (experimental) query
2020-12-11 12:42:11 -08:00
james
a5c0802379
address review comments
2020-12-11 17:29:22 +00:00
James Fletcher
e5ef0e35df
Merge pull request #4813 from github/replace-language
...
[docs] Fix find and replace error
2020-12-11 17:16:43 +00:00
james
b9c8818da5
update landing page
2020-12-11 16:27:56 +00:00
james
bc3f7b61fb
fix find and replace error
2020-12-11 14:47:40 +00:00
yoff
9bec9b46e1
Merge pull request #4801 from RasmusWL/sqlite3-support
...
Python: Add sqlite3 support
2020-12-11 13:30:24 +01:00
Tamas Vajk
1b50c2277f
Add DB upgrade folder
2020-12-11 11:24:53 +01:00
Tamas Vajk
4318941009
C#: Add support for init only accessors
2020-12-11 10:06:38 +01:00
Robert Marsh
0210c1f721
Merge pull request #4783 from geoffw0/modelchanges4
...
C++: More use of set literals.
2020-12-10 15:24:50 -08:00
Geoffrey White
b79ca4535a
C++: Undo the iterator.qll change. Notice that it was 'and' not 'or'.
2020-12-10 18:29:39 +00:00
Geoffrey White
c5592a1ed7
C++: New experimental query.
2020-12-10 16:46:09 +00:00
James Fletcher
9c6962ec25
Update generate-query-help-docs.yml
2020-12-10 09:39:44 +00:00
James Fletcher
0640d2834d
Update generate-query-help-docs.yml
2020-12-10 09:19:44 +00:00
James Fletcher
66c756b7f5
Update generate-query-help-docs.yml
2020-12-10 09:07:30 +00:00
Tamas Vajk
a7451a12fc
Fix attribute test after rebase
2020-12-09 21:24:21 +01:00
Tamas Vajk
f50cdf5ac7
Add logging to missing underlying enum type
2020-12-09 21:04:12 +01:00
Tamas Vajk
8e6e4189b3
Add logging to attribute decoding failures
2020-12-09 21:04:12 +01:00
Tamas Vajk
db426c1ffe
C#: Extract generic types in CIL attribute extraction
2020-12-09 21:04:12 +01:00
Tamas Vajk
56eb04fe6d
C#: Improve attribute argument (type, enum) decoding in CIL extraction
2020-12-09 21:04:12 +01:00
Tamas Vajk
0c0ef772c1
Add method to get qualified name of CIL extraction types
2020-12-09 21:00:39 +01:00
Tamas Vajk
d270aa2281
C#: Extract ID writing logic to separate class
2020-12-09 21:00:39 +01:00
Tamas Vajk
fc5f6c5203
C#: Fix ID of TypeReferenceType for top level classes
2020-12-09 21:00:39 +01:00
Tamas Vajk
332a64a6ca
Fix erroneous refactorings
2020-12-09 21:00:39 +01:00
Tamas Vajk
151379edd8
C#: Cleanup CIL extraction 'Type' classes
2020-12-09 21:00:39 +01:00
Tamás Vajk
b649ccd880
Merge pull request #4761 from tamasvajk/feature/cil-enum-underlying
...
C#: Extract enum underlying type from IL
2020-12-09 20:55:37 +01:00
Geoffrey White
3bef0e5c00
C++: Implement a general model.
2020-12-09 18:53:49 +00:00
yo-h
f95c480b51
Merge pull request #4799 from joefarebrother/xxe-fp
...
Java: Fix false positive in the XXE query
2020-12-09 12:08:20 -05:00
Geoffrey White
209191bb24
C++: Add another good example.
2020-12-09 16:55:07 +00:00
Geoffrey White
80db155d54
C++: Fix example and test.
2020-12-09 16:46:48 +00:00
Joe Farebrother
732542adcb
Add change note
2020-12-09 16:41:31 +00:00
James Fletcher
48a9521df9
Merge pull request #4803 from github/rename-js-dataflow-article
...
Update JavaScript dataflow guide filename to match article title
2020-12-09 15:39:19 +00:00
james
70c5ce41c2
rename js-ts article
2020-12-09 14:49:58 +00:00
Max Schaefer
0ccfe4f135
JavaScript: Teach autobuilder to include codeql-javascript-*.json files.
2020-12-09 11:35:51 +00:00
Rasmus Wriedt Larsen
36e8ef53eb
Python: Model sqlite3 as SQL interface
2020-12-09 11:36:18 +01:00
Rasmus Wriedt Larsen
767a246edc
Python: Add sqlite3 test
2020-12-09 11:36:17 +01:00
Asger F
ed729a1963
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2020-12-09 09:59:55 +00:00
Asger Feldthaus
fd293d07d7
JS: Address doc review
2020-12-09 09:58:52 +00:00
Geoffrey White
d08efb4e47
C++: Combine the member swap models.
2020-12-08 19:50:13 +00:00
Geoffrey White
4a81d36309
C++: Move all of the swap models into Swap.qll.
2020-12-08 18:19:43 +00:00
Geoffrey White
e18f290864
C++: Correct comment.
2020-12-08 16:55:19 +00:00
Joe Farebrother
24dc631a8f
Java: Fix false positive in XXE query
2020-12-08 16:38:42 +00:00
Joe Farebrother
2fd5d26b1b
Add FP as a test case
2020-12-08 16:37:53 +00:00
Rasmus Lerchedahl Petersen
a757a69f36
Python: Add example FP
2020-12-08 17:02:05 +01:00
Tamas Vajk
2257a8d47e
Add change notes
2020-12-08 16:43:16 +01:00
Tamas Vajk
2d2b919651
Add DB upgrade folder
2020-12-08 16:43:16 +01:00
Tamas Vajk
52a73cb21b
Add new stats containing 'cil_enum_underlying_type'
2020-12-08 16:40:29 +01:00
Tamás Vajk
6dd0234b68
Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2020-12-08 16:40:29 +01:00
Tamas Vajk
214cc90af5
Fix failing test
2020-12-08 16:40:29 +01:00
Tamas Vajk
44dfafc52c
C#: remove 'System.Enum' from enums in QL
2020-12-08 16:40:29 +01:00
Tamas Vajk
6b3010e3e6
C#: Extract enum underlying type from IL
2020-12-08 16:40:29 +01:00
Tamas Vajk
c7d6c42851
C#: Add underlying enum type test for CIL extraction
2020-12-08 16:40:29 +01:00
Tamás Vajk
ec573b517f
Merge pull request #4759 from tamasvajk/feature/cil-attribute-array
...
C#: Improve array argument CIL extraction for attributes
2020-12-08 16:38:36 +01:00
Tamás Vajk
cbcae667a8
Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2020-12-08 15:23:13 +01:00
yoff
3bddb946b7
Merge pull request #4773 from RasmusWL/path-injection-improvements
...
Python: Path injection improvements
2020-12-08 14:05:53 +01:00
Rasmus Wriedt Larsen
fabc6fb7d9
Python: Add change-note
2020-12-08 14:04:46 +01:00
Rasmus Wriedt Larsen
ba1ca70858
Python: Add source modeling of stdlib HTTPRequestHandlers
2020-12-08 14:04:15 +01:00
Rasmus Wriedt Larsen
34863721f0
Python: Model cgi.FieldStorage
2020-12-08 14:03:13 +01:00
Rasmus Wriedt Larsen
43688715f5
Python: Add test of stdlib HTTP server facilities
...
Just a port of the old tests, except for the fact that I learned
`cgi.FieldStorage()` _should_ be tainted when not specifying any arguments. (and
moved taint-test to own function)
Also clarified how imports of all the .*HTTPRequestHandler works in Python2
2020-12-08 14:01:55 +01:00
James Fletcher
2b5d12143c
Merge pull request #4795 from github/126-mergeback
...
Merge `rc/1.26` into `main`
2020-12-08 11:21:28 +00:00
Rasmus Wriedt Larsen
976559889f
Python: Reword qhelp text
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2020-12-08 11:34:44 +01:00
Rasmus Wriedt Larsen
fba16d24de
Python: Bring back Path Injection query
...
Which was accidentially removed when resolving a merge conflict.
2020-12-08 11:26:04 +01:00
james
da16fad0f1
Merge branch 'rc/1.26' into 126-mergeback
2020-12-08 09:26:12 +00:00
Tom Hvitved
f8ad2ecc2c
Merge pull request #4777 from hvitved/csharp/default-to-string-join
...
C#: Improve join-order in `DefaultToString.qll`
2020-12-08 08:53:58 +01:00
Geoffrey White
ef131d3951
C++: Fix StandardDeallocationFunction.
2020-12-07 18:52:35 +00:00
Geoffrey White
281b56b2ae
C++: Add comments to the Allocation and Deallocation libraries indicating where the functions come from.
2020-12-07 18:52:03 +00:00
Rasmus Wriedt Larsen
e5e8ec6ecc
Python: Add a few test-cases for barrier guards and references
...
I'm not sure references is the best name, but it's the best I could come up with
jsut now
2020-12-07 15:27:20 +01:00
Rasmus Wriedt Larsen
5aa2c2f9d4
Python: Add command injection regex restricted FP
2020-12-07 15:26:56 +01:00
Rasmus Wriedt Larsen
32b547b3f2
Python: Add example of bad command injection sanitizer
2020-12-07 15:26:55 +01:00
Rasmus Wriedt Larsen
8444654117
Python: Adjust whitespace in command injection test
2020-12-07 15:26:54 +01:00
CodeQL CI
8129d0c0ac
Merge pull request #4762 from asgerf/js/template-sinks-in-code-injection
...
Approved by erik-krogh, mchammer01
2020-12-07 04:35:11 -08:00
Cornelius Riemenschneider
354adf363e
Merge pull request #4787 from github/RasmusWL-patch-1
...
C++: Minor test README fixes
2020-12-07 12:42:55 +01:00
Asger Feldthaus
04f51bef5e
JS: Add missing qldoc
2020-12-07 10:52:38 +00:00
Rasmus Wriedt Larsen
9e7d5b3a9c
C++: Minor test README fixes
2020-12-07 11:52:18 +01:00
Asger Feldthaus
f96c425a72
JS: Deny -> block
2020-12-07 10:50:01 +00:00
Asger Feldthaus
254ac7f963
JS: Fix TypeofCheck
2020-12-07 10:46:00 +00:00
Tom Hvitved
6a55a22f18
Merge pull request #4781 from hvitved/csharp/persisten-cookie-tests
...
C#: Add tests for `PersistentCookie.ql`
2020-12-07 11:37:16 +01:00
Asger Feldthaus
0496642b0b
JS: Add test for captured flow into callback
2020-12-07 10:34:27 +00:00
Asger Feldthaus
355cfaaf42
JS: Autoformat
2020-12-07 10:16:39 +00:00
Asger Feldthaus
1b0bec9143
JS: Remove magic from barrier guard predicates
2020-12-07 10:16:39 +00:00
Asger Feldthaus
fe86465a0b
JS: Refactor store/load flow a bit
2020-12-07 10:16:38 +00:00
Asger Feldthaus
f132b4a279
JS: Add type confusion sink for prototype pollution checks
2020-12-07 10:16:38 +00:00
Asger Feldthaus
e10a22ec26
JS: Restrict size of some predicates
2020-12-07 10:16:38 +00:00
Asger Feldthaus
daab3c1437
JS: Add tests and fix some bugs
2020-12-07 10:16:38 +00:00
Asger Feldthaus
0a7513fdfb
JS: Move and rename test cases as well
2020-12-07 10:16:38 +00:00
Asger Feldthaus
479dcf56ad
JS: Update to use more inclusive language
2020-12-07 10:16:38 +00:00
Asger Feldthaus
544b3d9631
JS: Change note
2020-12-07 10:16:38 +00:00
Asger Feldthaus
e42ca881a3
JS: Update security suite after move to CWE-915
2020-12-07 10:16:38 +00:00
Asger Feldthaus
ca38a1c8b9
JS: Update CWE tags
2020-12-07 10:16:38 +00:00
Asger Feldthaus
25161ed338
JS: Move all prototype pollution queries to CWE-915
2020-12-07 10:16:38 +00:00
Asger Feldthaus
877b4b0752
JS: Move and rename other prototype pollution queries
2020-12-07 10:16:38 +00:00
Asger Feldthaus
972c4d61e5
JS: Add PrototypePollutingAssignment
2020-12-07 10:16:38 +00:00
Asger Feldthaus
ef52c46aed
JS: Add spread step in TaintedObject
2020-12-07 10:16:37 +00:00
Sauyon Lee
b5ec26d935
Merge pull request #4744 from github/sauyon/html-refactor
...
JavaScript: Factor out HTML extractor
2020-12-07 02:06:42 -08:00
Sauyon Lee
17e450f227
JavaScript: Factor out HTML extractor
2020-12-06 05:04:10 -08:00
Tom Hvitved
3531dde032
C#: Simplify FinallySplit::toString()
2020-12-05 20:16:11 +01:00
Tom Hvitved
2f1057383e
C#: Add missing CFG edges for nested finally blocks
2020-12-05 20:12:11 +01:00
Geoffrey White
998eaf90ee
C++: Run through updated autoformat.
2020-12-04 18:53:24 +00:00
Jonas Jensen
bc340e210b
Merge pull request #4745 from ihsinme/main
...
CPP: Add query for CWE-191 into experimental this reveals a dangerous comparison
2020-12-04 18:00:41 +01:00
yo-h
54d7cac46d
Merge pull request #4718 from aschackmull/java/cleanup-deprecated
...
Java: Remove some deprecated classes.
2020-12-04 11:17:14 -05:00
yo-h
a5393b4661
Merge pull request #4746 from aschackmull/java/ssa-perf
...
Java: Improve performance of SSA.
2020-12-04 11:16:39 -05:00
Tom Hvitved
5d73566859
C#: Add tests for PersistentCookie.ql
2020-12-04 17:14:00 +01:00
Tamás Vajk
4226467556
Merge pull request #4678 from tamasvajk/feature/external-api-untrusted-data
...
C#: Add queries to check untrusted data flow to external APIs
2020-12-04 15:03:09 +01:00
Rasmus Wriedt Larsen
608ce50399
Python: Expose HTTP verbs in HTTP concept
...
Let's discuss whether doing it this way is reasonable, since I'm not 100% sure
whether this fits into "concepts" or not.
2020-12-04 14:04:56 +01:00
Rasmus Wriedt Larsen
c7ab78f8c2
Python: Add modeling of django class based view handlers
...
BUT, since MyCustomViewBaseClass.post (django-v2-v3/testapp/views.py) and
Foo.post (django-v2-v3/routing_test.py) aren't handled, this raises important
question about how to do MRO without points-to :S
2020-12-04 14:03:59 +01:00
Cornelius Riemenschneider
2ea9b4a62b
Merge pull request #4719 from geoffw0/issue84
...
C++: Create tests readme.
2020-12-04 13:49:56 +01:00
Tamas Vajk
aa3ae0f567
Remove calls to deprecated predicates
2020-12-04 13:28:14 +01:00
Jonas Jensen
9cf318b72c
C++: Autoformat the new query
...
Tweak whitespace, also in the alert message.
2020-12-04 13:27:07 +01:00
Rasmus Wriedt Larsen
4ead118a31
Python: Add class based route handler in django tests
...
Disabled CSRF middleware for now, since it blocked my debugging curl POST requests :(
2020-12-04 13:27:01 +01:00
Tamas Vajk
d55fbc8a05
Add test cases for safe API calls
2020-12-04 13:26:53 +01:00
Tamas Vajk
24670160c2
Address code review findings
2020-12-04 13:26:53 +01:00
Tamas Vajk
cd5c1f06ee
C#: Add queries to check untrusted data flow to external APIs
2020-12-04 13:26:53 +01:00
Tom Hvitved
9afce31e92
C#: Add one more CFG test for nested finally blocks
2020-12-04 13:26:00 +01:00
Jonas Jensen
bf88df8134
C++: CRLF -> LF line endings
2020-12-04 13:25:32 +01:00
Tom Hvitved
37f32f4014
C#: Improve join-order in DefaultToString.qll
2020-12-04 13:05:53 +01:00
Rasmus Wriedt Larsen
ffdbecfbb7
Python: Simplify getARouteHandler for Django
2020-12-04 11:29:52 +01:00
CodeQL CI
0f5f0ed99e
Merge pull request #4776 from asgerf/js/electron-openshell
...
Approved by erik-krogh
2020-12-04 09:12:44 +00:00
Asger F
22dbaf28ab
Merge pull request #4709 from asgerf/js/typescript-4.1
...
JS: Support for TypeScript 4.1
2020-12-04 09:10:14 +00:00
Asger Feldthaus
f0516dd9e0
JS: Address review comments
2020-12-04 09:07:44 +00:00
Jonas Jensen
b4be72268d
Merge pull request #4722 from rdmarsh2/rdmarsh2/cpp/range-analysis-overflow-perf
...
C++: Filter out lower bounds on overflowing exprs
2020-12-04 08:29:21 +01:00
ihsinme
69ed608a11
Update UnsignedDifferenceExpressionComparedZero.ql
2020-12-04 09:47:11 +03:00
Robert Marsh
b45f7846db
C++: autoformat
2020-12-03 15:48:42 -08:00
Erik Krogh Kristensen
cc98c41dd6
revert marking repetitions with possibly empty body as forks
2020-12-03 20:08:07 +01:00
Geoffrey White
13d9d5dc45
C++: Use [,] more in general.
2020-12-03 18:50:43 +00:00
Geoffrey White
2a4fba0ff9
C++: Use [,] more in models.
2020-12-03 17:27:31 +00:00
Erik Krogh Kristensen
47488f86b5
update test
2020-12-03 16:58:08 +01:00
Erik Krogh Kristensen
3bad75dae5
better support for forms in js/xss-through-dom
2020-12-03 16:57:41 +01:00
Asger Feldthaus
20d9848f07
JS: Add test case
2020-12-03 15:08:43 +00:00
Asger Feldthaus
68d2bc861d
JS: Update test expectations
2020-12-03 15:01:50 +00:00
Asger Feldthaus
e66a49bea6
JS: Change note
2020-12-03 13:58:40 +00:00
Asger Feldthaus
ec6b8d6d3a
JS: Remove old workaround for template literals in import
2020-12-03 13:58:40 +00:00
Asger Feldthaus
757398f5fd
JS: Add upgrade script and stats
2020-12-03 13:58:39 +00:00
Asger Feldthaus
3b3052d792
JS: Autoformat
2020-12-03 13:58:39 +00:00
Asger Feldthaus
5676891e44
JS: Add TemplateLiteralTypeExpr
2020-12-03 13:58:39 +00:00
Asger Feldthaus
9da5c5cc70
JS: Update to TypeScript 4.1.2
2020-12-03 13:58:39 +00:00
Asger F
254072dd6d
Merge pull request #4546 from toufik-airane/main
...
JS: Add ElectronShellOpenExternalSink class for Electron framework security
2020-12-03 13:20:46 +00:00
Rasmus Wriedt Larsen
a9ce067e15
Python: Add examples of Path Injection FPs seen
...
Not quite sure how to deal with these cases of safe if UNIX-only, otherwise not
safe.
If/when we actually try to deal with these, we also need to figure that
out. We _could_ split this queyr into 3: (1) for path injection on any
platform, (2) path injection on windows, (3) path injection on UNIX. Then
UNIX-only projects could disable the path-injection on windows query. -- that's
my best idea, if you have better ideas, DO tell 👍
2020-12-03 13:41:55 +01:00
Rasmus Wriedt Larsen
e8f63311ac
Python: Model abspath and realpath (for Path Injection)
2020-12-03 13:41:54 +01:00
Rasmus Wriedt Larsen
bd5cf80352
Python: Add Path Injection tests for realpath and abspath
...
Not supported currently
2020-12-03 13:41:53 +01:00
Rasmus Wriedt Larsen
e53ed478ab
Python: Highlight os.path.join behavior with absolute paths
2020-12-03 13:41:52 +01:00
Rasmus Wriedt Larsen
4d9f24a24c
Python: Rewrite path injection tests
...
To match how you would normally structure your application code. In itself not
that important, but makes it easier to add more tests :)
2020-12-03 13:41:26 +01:00
Tamás Vajk
3eb55ddc0b
Merge pull request #4704 from tamasvajk/feature/stats2
...
C#: Update DB stats file
2020-12-03 13:13:43 +01:00
Mathias Vorreiter Pedersen
1142a79ad5
Merge pull request #4766 from criemen/cleanup-flow-tests
...
C++: Cleanup data/taint flow tests
2020-12-03 10:10:39 +01:00
CodeQL CI
edbbc846d0
Merge pull request #4753 from max-schaefer/js/more-nosql-query-args
...
Approved by asgerf, mchammer01
2020-12-03 08:46:47 +00:00
Tamás Vajk
04bacf4347
Merge pull request #4760 from tamasvajk/feature/cil-debug-build
...
C#: Fix CIL trap file writing in debug mode
2020-12-02 22:08:22 +01:00
CodeQL CI
e266cedc84
Merge pull request #4700 from RasmusWL/python-add-code-injection-FP
...
Approved by tausbn
2020-12-02 16:29:21 +00:00
CodeQL CI
6017f25106
Merge pull request #4740 from RasmusWL/fix-json-modeling
...
Approved by tausbn
2020-12-02 16:29:00 +00:00
Mathias Vorreiter Pedersen
e0a9e2dca7
Merge pull request #4754 from geoffw0/modelchanges3
...
C++: Expose more information in FormattingFunction and make subclasses private.
2020-12-02 17:12:55 +01:00
Geoffrey White
4322b214c6
C++: Link to standards.
2020-12-02 15:57:38 +00:00
Geoffrey White
420d47b676
Apply suggestions from code review
...
Co-authored-by: hubwriter <hubwriter@github.com >
2020-12-02 15:54:28 +00:00
Tamas Vajk
ba56993396
C#: Fix CIL trap file writing in debug mode
2020-12-02 16:52:33 +01:00
Tamas Vajk
d140b0121a
C#: Improve array argument CIL extraction for attributes
2020-12-02 16:51:45 +01:00
Tamas Vajk
636ff2d76e
C#: Add CIL attribute tests
2020-12-02 16:51:45 +01:00
Tamás Vajk
6e6cd05787
Merge pull request #4758 from tamasvajk/feature/cil-structure-change
...
C#: Cleanup CIL extraction structure
2020-12-02 16:49:31 +01:00
Geoffrey White
d20619d779
Merge branch 'main' into modelchanges3
2020-12-02 14:45:54 +00:00
Cornelius Riemenschneider
feb05542d2
C++: Refactor common implementation of data/taint flow tests.
2020-12-02 15:42:52 +01:00
Anders Schack-Mulligen
0cc324b715
Merge pull request #3839 from luchua-bc/uncaught-servlet-exception
...
Java: Uncaught servlet exception
2020-12-02 15:12:59 +01:00
Asger Feldthaus
412939d071
JS: Autoformat
2020-12-02 13:08:32 +00:00
Anders Schack-Mulligen
0175a596ef
Update java/ql/src/experimental/Security/CWE/CWE-600/UncaughtServletException.ql
2020-12-02 13:33:59 +01:00
Taus
9eeaceac2a
Merge pull request #4739 from RasmusWL/recrete-regex-fp
...
Python: Add regex FP with + for flags
2020-12-02 13:01:47 +01:00
Tom Hvitved
ecfa66e19a
C#: Use getParentNamespace instead of getParent
2020-12-02 10:39:29 +01:00
Mathias Vorreiter Pedersen
203bbdd84f
Merge pull request #4741 from criemen/port-dataflow-tests
...
C++: Port dataflow tests to inline expectations test library.
2020-12-02 10:25:52 +01:00
Tom Hvitved
9c516bf62c
C#: Fix join-order in UselessUpcast.ql
2020-12-02 10:12:57 +01:00
Cornelius Riemenschneider
f3a7d87d46
C++: Remove vscode snippets.
2020-12-02 09:30:10 +01:00
Arthur Baars
7f485dfe70
Merge pull request #4763 from github/yo-h/java15-merge
...
Java: adjust test options for JDK 15 upgrade
2020-12-02 05:15:10 +01:00
yo-h
cdeeefc235
Merge commit '8f2094f' into yo-h/java15-merge
2020-12-01 17:47:58 -05:00
Robert Marsh
8c1f15b261
C++: refactor getLowerBoundsImpl for perfomance
2020-12-01 14:42:37 -08:00
Cornelius Riemenschneider
239588b5e0
C++: Remove MISSING annotations for tests that are already correct.
2020-12-01 19:41:24 +01:00
Geoffrey White
39a939c36f
C++: Update change note.
2020-12-01 18:34:01 +00:00
Cornelius Riemenschneider
7700e87cca
C++: Address review.
2020-12-01 19:08:49 +01:00
Cornelius Riemenschneider
5b1ab86ac6
C++: Port DefaultTaintTracking tests to inline expectations test.
2020-12-01 19:00:45 +01:00
Asger Feldthaus
5561e8f1f6
JS: Delete old query and update qhelp
2020-12-01 17:05:48 +00:00
Asger Feldthaus
6211fe718b
JS: Add test
2020-12-01 17:05:48 +00:00
Asger Feldthaus
1459d9197d
JS: Adjust alert message for template sinks
2020-12-01 17:05:48 +00:00
Asger Feldthaus
8412a6bcbb
JS: Add template injection sinks to js/code-injection
2020-12-01 17:05:48 +00:00
Geoffrey White
7c00477736
C++: Combine getOutputParameterIndex and isOutputStream.
2020-12-01 16:27:30 +00:00
Geoffrey White
c9c159ad0b
C++: Autoformat.
2020-12-01 15:37:26 +00:00
Geoffrey White
799b932c17
C++: Restore QLDoc on deprecated predicates.
2020-12-01 15:21:06 +00:00
Tamas Vajk
9ab930f812
C#: Remove marker interfaces from CIL extraction
2020-12-01 16:06:13 +01:00
Tamas Vajk
df28544020
C#: Separate all classes to dedicated files in CIL extractor
2020-12-01 15:20:02 +01:00
Tom Hvitved
9dbcb7c642
C#: Improve various join orders
2020-12-01 15:16:33 +01:00
Tom Hvitved
931e695ac7
C#: Fix bad join-order in UselessTypeTest.ql
2020-12-01 15:16:00 +01:00
Tamas Vajk
dffd95cb85
Add nomagic to fix performance
2020-12-01 15:16:00 +01:00
Tamas Vajk
cf76d31161
C#: Add nomagic pragmas to fix performance issues
2020-12-01 15:16:00 +01:00
Tamas Vajk
b20a08dbac
C#: Update DB stats file
2020-12-01 15:16:00 +01:00
Mathias Vorreiter Pedersen
df29a16365
Merge pull request #4748 from aschackmull/autoformat-callchain
...
C++/C#/Java/JavaScript/Python: Autoformat.
2020-12-01 13:21:19 +01:00
Geoffrey White
79f32b0e26
C++: Autoformat.
2020-12-01 10:51:51 +00:00
Tom Hvitved
e86db3c7a1
Merge pull request #4725 from hvitved/csharp/cfg/constant-condition-block
...
C#: Always create basic blocks for nodes with a conditional predecessor
2020-12-01 10:03:17 +01:00
Erik Krogh Kristensen
c50951cbae
add missing qldoc
2020-12-01 09:48:35 +01:00
Erik Krogh Kristensen
afbb921c7e
add change note
2020-12-01 09:18:40 +01:00
Erik Krogh Kristensen
9a31ed13ac
add test case
2020-12-01 09:18:40 +01:00
Erik Krogh Kristensen
dea2eb5443
simplify the logging sink - using the new API-graph logging models
2020-12-01 09:18:40 +01:00
Erik Krogh Kristensen
6f29a877fa
move logInjection out of experimental
2020-12-01 09:18:40 +01:00
Erik Krogh Kristensen
f6c358861c
convert logging models to use API-graphs
2020-12-01 09:18:36 +01:00
Geoffrey White
9c277b3cb1
C++: Fix a small bug in the ArrayFunction model for FormattingFunction.
2020-11-30 17:55:25 +00:00
Geoffrey White
510bce36f1
C++: Change note.
2020-11-30 17:55:24 +00:00
Geoffrey White
b52ddbfc42
C++: Implement isOutputStream, isOutputString for UserDefinedFormattingFunction as well.
2020-11-30 17:55:24 +00:00
Geoffrey White
c3b16a5fd2
C++: Implement FormattingFunction isOutputStream, isOutputString so that subclasses don't need to be accessed for this information, and can be private.
2020-11-30 17:55:23 +00:00
Rasmus Wriedt Larsen
a08e1db601
Python: Remove leftover note to self in qhelp file
2020-11-30 17:44:18 +01:00
Cornelius Riemenschneider
659e3d46e3
C++: Add vscode snippets for Inline Expectations test.
2020-11-30 17:34:02 +01:00
Cornelius Riemenschneider
0d0fa1b341
C++: Delete difference tests.
2020-11-30 17:33:27 +01:00
Cornelius Riemenschneider
b632ca40b4
C++: Port dataflow/taint-tests to inline expectations test.
2020-11-30 17:32:54 +01:00
Max Schaefer
978d2db252
JavaScript: Add models for more Mongoose methods.
2020-11-30 16:32:13 +00:00
Geoffrey White
99b01e7d36
C++: Additional test case for FormattingFunction.
2020-11-30 15:25:51 +00:00
Anders Schack-Mulligen
8f2094f0bf
Autoformat.
2020-11-30 14:42:38 +01:00
Rasmus Wriedt Larsen
94e90aac39
Python: Only one Unit implementation
...
Conflict arose since the Unit in DataFlowPrivate was added in a merged PR.
The behavior from this PR will make it match what java does (931322e4c5/java/ql/src/semmle/code/Unit.qll )
2020-11-30 14:41:47 +01:00
Rasmus Wriedt Larsen
1eac1995a9
Merge branch 'main' into python-untrusted-flow
2020-11-30 14:38:52 +01:00
Anders Schack-Mulligen
88e0759365
Java: Change RemoteUserInput to private instead of removing.
2020-11-30 13:40:53 +01:00
Anders Schack-Mulligen
5a66d6ab93
Java: Improve performance of SSA.
2020-11-30 11:26:03 +01:00
Rasmus Wriedt Larsen
4ab3fff973
Python: Fix untrusted data to external API example
...
The hmac.digest function was only added in python 3.7, so obviously doesn't work
on Python 2
2020-11-30 10:42:30 +01:00
Anders Schack-Mulligen
931322e4c5
Merge pull request #4668 from aschackmull/dataflow/refactor-pruning
...
Dataflow: Refactor pruning stages.
2020-11-30 09:37:04 +01:00
Pavel Avgustinov
74af41c76d
Merge pull request #4357 from RasmusWL/design-patterns
...
Add docs on CodeQL Design Patterns
2020-11-30 08:19:15 +00:00
yo-h
7e8bc4a61b
Merge commit '2fa9037' into yo-h/java15-merge
2020-11-29 18:42:20 -05:00
Erik Krogh Kristensen
33b2701551
refine isFork to remove false positive when a state has epsilon transition to itself
2020-11-29 21:42:50 +01:00
ihsinme
d088d5b0f3
CPP: Add query for CWE-191
...
into experimental this reveals a dangerous comparison
2020-11-28 15:52:00 +03:00
Erik Krogh Kristensen
d7b22e3b1b
update expected output for PolynomialBackTracking
2020-11-27 20:15:27 +01:00
Erik Krogh Kristensen
729073fb43
detect ReDoS when the choices are "match some string" or "match Epsilon"
2020-11-27 20:15:23 +01:00
Geoffrey White
905b04a6fb
C++: Model classes in StdString.qll.
2020-11-27 19:12:01 +00:00
Rasmus Wriedt Larsen
cbfcfdf883
Python: Fix UntrustedDataToExternalAPI.qhelp
2020-11-27 17:54:22 +01:00
luchua-bc
ad0ac5b874
Change kind to problem
2020-11-27 16:43:57 +00:00
Rasmus Wriedt Larsen
faa5c220c5
Design Patterns: Add advice on abstract classes
2020-11-27 17:38:56 +01:00
Rasmus Wriedt Larsen
452417509f
Design Patterns: Reword advice on imports of subclasses
...
I had totally overlooked the fact that this doesn't only apply to abstract
classes.
2020-11-27 17:38:40 +01:00
Cornelius Riemenschneider
644a0fac98
C++: Port dataflow/dataflow-tests to inline expectations test library.
2020-11-27 16:03:15 +01:00
Rasmus Wriedt Larsen
a0c7365ae6
Python: Proper models of json.loads and json.dumps
2020-11-27 15:57:56 +01:00
Tom Hvitved
d4ee8cdd18
C#: Always create basic blocks for nodes with a conditional predecessor
2020-11-27 15:08:33 +01:00
Rasmus Wriedt Larsen
014fbfa86b
Python: Add regex FP with + for flags
...
Notice that there is no new results for line 54
I also added a test for the short-named version of a flag, just since I didn't
see any of those already. That just works out of the box (due to points-to).
2020-11-27 14:57:11 +01:00
yoff
346a007bf6
Merge pull request #4720 from RasmusWL/python-better-open-models
...
Python: better models of `open` function
2020-11-27 14:47:10 +01:00
Anders Schack-Mulligen
028a72bcdd
Merge pull request #4610 from luchua-bc/java-nfe-local-android-dos
...
Java: Query to detect Local Android DoS caused by NFE
2020-11-27 14:20:23 +01:00
Erik Krogh Kristensen
46ca56458a
introduce a printable state class
2020-11-27 13:45:41 +01:00
Erik Krogh Kristensen
8a3e87fe42
remove unnecessary one-step inline
2020-11-27 13:45:41 +01:00
Erik Krogh Kristensen
36b9f0254e
performance improvements for suffix check in js/redos
2020-11-27 13:45:41 +01:00
Erik Krogh Kristensen
e177d46c0a
add two test cases that demonstrate the limits of the suffix construction
2020-11-27 13:45:34 +01:00
Rasmus Wriedt Larsen
e6319e5d84
Python: Rewrite StringConstCompare to use IterableNode
2020-11-27 13:37:03 +01:00
Rasmus Wriedt Larsen
098f8c4f21
Python: Add IterableNode
...
I'm specifically not using an abstract class, since that is an anti-pattern:
https://github.com/github/codeql/pull/4357#discussion_r520526275 (I'm still
trying to wrap my head fully aroudn this)
2020-11-27 13:36:55 +01:00
Tamás Vajk
2fa9037934
Merge pull request #4738 from tamasvajk/feature/revert-relational-pattern
...
C#: Revert "Merge pull request #4653 from tamasvajk/feature/csharp9-relational-pattern"
2020-11-27 13:30:33 +01:00
Rasmus Wriedt Larsen
33e46e168f
Python: Add QLDoc for SetNode
2020-11-27 13:29:16 +01:00
Tamas Vajk
998e2de2c6
Revert "Merge pull request #4653 from tamasvajk/feature/csharp9-relational-pattern"
...
This reverts commit 5e75a4109c , reversing
changes made to c751c516bf .
2020-11-27 12:23:38 +01:00
Anders Schack-Mulligen
fec9758252
Dataflow: Sync.
2020-11-27 12:16:43 +01:00
Anders Schack-Mulligen
8f4fce185b
Dataflow: Review fixes.
2020-11-27 12:16:28 +01:00
Rasmus Wriedt Larsen
cc9a7fe4fe
Python: Move BarrierGuards to own file
2020-11-27 12:09:57 +01:00
Geoffrey White
a94f244659
Merge pull request #4736 from jbj/downgrade-to-recommendations
...
C++: Downgrade two queries to recommendation
2020-11-27 10:58:20 +00:00
CodeQL CI
d3cded330e
Merge pull request #4693 from RasmusWL/python-add-import-test-shadowing-stdlib-v2
...
Approved by tausbn
2020-11-27 10:32:21 +00:00
Tamás Vajk
5e75a4109c
Merge pull request #4653 from tamasvajk/feature/csharp9-relational-pattern
...
C#: Extract relational patterns
2020-11-27 11:23:12 +01:00
Geoffrey White
390e61b674
C++: Add public domain and translated from QL exceptions.
2020-11-27 10:15:56 +00:00
Rasmus Wriedt Larsen
7b4e890e7b
Python: Fix grammar
...
Co-authored-by: Taus <tausbn@github.com >
2020-11-27 11:00:30 +01:00
Erik Krogh Kristensen
fd0d5c9e46
add command parsing model for "commander"
2020-11-27 09:58:00 +00:00
Erik Krogh Kristensen
653ebf7668
add command parsing model for "dashdash"
2020-11-27 09:57:05 +00:00
Erik Krogh Kristensen
269de49196
add model for "meow"
2020-11-27 09:57:05 +00:00
Erik Krogh Kristensen
c5ac98d2e8
add command parsing model for command-line-args
2020-11-27 09:57:05 +00:00
Erik Krogh Kristensen
f33cd8bc8e
add command parsing model for argparse
2020-11-27 09:57:05 +00:00
Erik Krogh Kristensen
45067ee651
add command parsing model for "arg"
2020-11-27 09:57:05 +00:00
Erik Krogh Kristensen
821b4be522
more accurately model command parsers that take process.argv as an argument
2020-11-27 09:56:50 +00:00
Jonas Jensen
8069e7b031
C++: Downgrade two queries to recommendation
...
The `cpp/local-variable-hides-global-variable` doesn't seem right as a
warning without some additional context. For example, is the local
variable and the global variable used in the same function body, and
do they have similar enough types that it would be possible to confuse
them.
The `cpp/missing-header-guard` query enforces good style and helps with
compilation speed, but AFAIK it has never flagged a correctness issue.
Therefore I think it should be a recommendation.
2020-11-27 10:45:03 +01:00
Tamas Vajk
07c989deb1
C#: Add upgrade folder
2020-11-27 10:21:17 +01:00
Tamas Vajk
5a808190d4
Address review comments
2020-11-27 10:16:57 +01:00
Tamas Vajk
b11fc2f957
C#: Extract relational patterns
2020-11-27 10:16:57 +01:00
Tamás Vajk
c751c516bf
Merge pull request #4614 from tamasvajk/feature/csharp9-target-typed
...
C#: C#9 Add target typed conditional tests
2020-11-27 10:10:58 +01:00
Jonas Jensen
a48235e871
Merge pull request #4730 from MathiasVP/definitionHasPhiNode-join-order-fix
...
C++: Fix join order in definitionHasPhiNode
2020-11-27 09:54:37 +01:00
Jonas Jensen
edb57c2da0
Merge pull request #4731 from criemen/remove-cpp-abstract
...
C++: Remove uses of abstract from the standard library.
2020-11-27 09:53:24 +01:00
Tom Hvitved
bc08e47a4e
Merge pull request #4664 from hvitved/csharp/cfg/refactor
...
C#: Refactor CFG implementation
2020-11-27 09:26:57 +01:00
Tamas Vajk
548f276e1f
Add more tests
2020-11-27 08:58:37 +01:00
Tamas Vajk
144e9e6271
C#: C#9 Add target typed conditional tests
2020-11-27 08:43:02 +01:00
Jonas Jensen
ad4b2beafa
Merge pull request #4727 from criemen/remove-abstract-classes
...
C++/C#/JS/Python/Java XML.qll: Remove abstract from class hierarchy.
2020-11-27 08:17:21 +01:00
yo-h
301f49a9d9
Merge pull request #4723 from github/yo-h/java-jsp
...
Java: add support for extraction of SMAP files
2020-11-26 16:09:17 -05:00
Geoffrey White
1f5c6d4e71
C++: Add examples.
2020-11-26 19:31:06 +00:00
Anders Schack-Mulligen
2234d665ce
Add manual magic
2020-11-26 13:55:20 -05:00
yo-h
9bb949a8b1
Java: make some SMAP predicates private and add QLDoc
2020-11-26 13:55:19 -05:00
yo-h
c077ca3fc9
Java: add dbscheme upgrade script for SMAP relations
2020-11-26 13:55:19 -05:00
yo-h
f9e78085ac
Java: add dbscheme stats for SMAP relations
2020-11-26 13:55:18 -05:00
yo-h
edb41655b4
Java: incorporate SMAP locations into Top.hasLocationInfo
2020-11-26 13:55:17 -05:00
yo-h
e2419e8fed
Java: add SMAP relations to dbscheme
2020-11-26 13:55:17 -05:00
Tamás Vajk
27aeb53f1e
Merge pull request #4615 from tamasvajk/feature/csharp9-lambda-modifiers
...
C#: Extract modifiers for lambdas (async, static)
2020-11-26 19:35:51 +01:00
luchua-bc
a83ddd66eb
Add comments about how the future promotion should go
2020-11-26 17:41:46 +00:00
Rasmus Wriedt Larsen
9e4910f863
Python: Untrusted data used in external APIs
...
A port of the one for Java that was added in https://github.com/github/codeql/pull/3938
2020-11-26 18:19:35 +01:00
Rasmus Wriedt Larsen
7e3dbb0149
Python: Add Unit helper library
...
Like Java did in https://github.com/github/codeql/pull/4184
2020-11-26 18:17:14 +01:00
luchua-bc
7ad031ca70
Move to experimental and update qldoc
2020-11-26 17:09:53 +00:00
Erik Krogh Kristensen
f576144ec6
more pruning based on states being inside a repetition
2020-11-26 17:30:37 +01:00
Tamas Vajk
864fce43bd
C#: Add upgrade folder
2020-11-26 16:14:38 +01:00
Tamas Vajk
47ca4b0f3b
Address review comments
2020-11-26 16:12:19 +01:00
Tamas Vajk
55d47a70f4
C#: Extract modifiers for lambdas (async, static)
2020-11-26 16:12:18 +01:00
Tamás Vajk
252692e5c1
Merge pull request #4616 from tamasvajk/feature/csharp9-attribute-local-function
...
C#: Allow attributes on local functions
2020-11-26 16:04:00 +01:00
Mathias Vorreiter Pedersen
a4c060a4c6
Merge pull request #4729 from MathiasVP/safe-external-api-function-use-model-interfaces-only
...
C++: Use model interfaces in DefaultSafeExternalAPIFunction
2020-11-26 16:00:19 +01:00
Geoffrey White
ab071b1e6a
C++: Disambiguate 'Library'.
2020-11-26 14:57:18 +00:00
Tom Hvitved
cb91dc1308
C#: Rank StandardStmt::getChildElement()
2020-11-26 15:13:57 +01:00
Erik Krogh Kristensen
9468a6e8dc
update expected output
2020-11-26 12:32:55 +01:00
Cornelius Riemenschneider
f6c3c2bdcc
C++: Auto-format Type.qll.
2020-11-26 11:45:49 +01:00
Mathias Vorreiter Pedersen
b02ac7f523
C++: Use SideEffectFunction (instead of ArrayFunction) to define DefaultSafeExternalAPIFunction.
2020-11-26 11:02:47 +01:00
Esben Sparre Andreasen
82e8114c0f
Add security tag to js/angular/double-compilation
2020-11-26 10:39:19 +01:00
Cornelius Riemenschneider
5d80417854
Update cpp/ql/src/semmle/code/cpp/Type.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2020-11-26 10:39:17 +01:00
Tamas Vajk
18a757445d
Add DB upgrade folder
2020-11-26 10:37:28 +01:00
Erik Krogh Kristensen
1b3c3ef4cb
adjust comments in ReDoS test case
2020-11-26 10:31:44 +01:00
Tamas Vajk
a931c59a28
C#: Allow attributes on local functions
2020-11-26 10:24:12 +01:00
Tamás Vajk
89a4cff5f8
Merge pull request #4662 from tamasvajk/feature/csharp9-type-pattern
...
C#: Extract type patterns
2020-11-26 10:18:55 +01:00
Cornelius Riemenschneider
ba32459adf
C++: Remove uses of abstract from the standard library.
2020-11-26 10:17:40 +01:00
Mathias Vorreiter Pedersen
5f4ad3ad7d
C++: Fix join order in definitionHasPhiNode
2020-11-26 10:07:44 +01:00
Tamas Vajk
3bd6807681
C#: Extract type patterns
2020-11-26 08:54:40 +01:00
Anders Schack-Mulligen
f70072a2db
Merge pull request #3454 from porcupineyhairs/javaSSRf
...
Java : add request forgery query
2020-11-26 08:52:15 +01:00
Tamás Vajk
d29a6ec4c6
Merge pull request #4654 from tamasvajk/feature/csharp9-parens-pattern
...
C#: Handle parenthesized pattern extraction
2020-11-26 08:46:38 +01:00
Jonas Jensen
6fecc38004
Merge pull request #4726 from MathiasVP/revert-4558
...
C++: Revert 4558
2020-11-26 08:44:32 +01:00
yo-h
eedc385b37
Java 15: adjust test options
2020-11-26 00:14:24 -05:00
Tamas Vajk
9b8d9771f8
C#: Handle parenthesized pattern extraction
2020-11-25 21:27:34 +01:00
Mathias Vorreiter Pedersen
c595baf1e3
C++: Remove INTERNAL from qldoc now that the Pure model implementations are private.
2020-11-25 21:07:47 +01:00
Geoffrey White
bc71c72084
Merge pull request #4728 from criemen/delete-magicdraw
...
C++: Remove MagicDraw.qll
2020-11-25 17:56:37 +00:00
Mathias Vorreiter Pedersen
7730f5dfcf
C++: Use model interfaces in SafeExternalAPIFunction and make the three previosuly-used implementation models private.
2020-11-25 18:20:55 +01:00
Cornelius Riemenschneider
3bfb398516
Autoformat XML.qll.
2020-11-25 18:20:50 +01:00
Cornelius Riemenschneider
acf6c218bc
C++: Remove MagicDraw.qll
2020-11-25 17:36:30 +01:00
Tamás Vajk
65dbb6e45f
Merge pull request #4612 from tamasvajk/feature/csharp9-local-function-without-body
...
C#: C#9 Extract local functions without body
2020-11-25 17:28:03 +01:00
Cornelius Riemenschneider
7eec988fb5
XML.qll: Remove abstract from class hierarchy.
2020-11-25 17:22:03 +01:00
Jonas Jensen
dcc048139e
Merge pull request #4717 from criemen/escapetree-temp-objects
...
C++: Improve EscapesTree.qll analysis in the presence of temporary objects
2020-11-25 17:11:44 +01:00
Cornelius Riemenschneider
0b8403fc05
C++: Add one more test.
2020-11-25 16:24:55 +01:00
Cornelius Riemenschneider
b4e45ad6cb
C++: Address review.
2020-11-25 16:24:25 +01:00
Mathias Vorreiter Pedersen
4c3a26fea8
Revert "Merge pull request #4558 from rdmarsh2/rdmarsh2/cpp/remove-initialize-nonlocal"
...
This reverts commit 08efd7fbd9 , reversing
changes made to cb8c5e8cca .
2020-11-25 15:51:52 +01:00
Tamas Vajk
19883302af
C#: Extract local functions without body
2020-11-25 14:42:40 +01:00
Erik Krogh Kristensen
11d878b413
adjust comments to reflect the precission of the suffix search
2020-11-25 14:40:33 +01:00
Tamás Vajk
aa45920f31
Merge pull request #4613 from tamasvajk/feature/csharp9-multiple-discards
...
C#: C#9 add test cases for discards as lambda/delegate parameters
2020-11-25 14:33:55 +01:00
Geoffrey White
2b349f299a
C++: Replace 'odasa qltest' with 'codeql test run'.
2020-11-25 13:16:50 +00:00
Erik Krogh Kristensen
b418cb5fe0
add test case where the successor of the repeating term matches epsilon
2020-11-25 13:59:10 +01:00
Erik Krogh Kristensen
500b94b50e
rename witness to pump
2020-11-25 13:57:21 +01:00
Erik Krogh Kristensen
c5f5206174
update expected output
2020-11-25 13:57:20 +01:00
Erik Krogh Kristensen
e03c19b7fc
only search prefixes/suffixes from the candidates that are used in the end
2020-11-25 13:57:20 +01:00
Erik Krogh Kristensen
b8fabfa24e
only construct prefix/suffix for regular expressions that has a pumpable state
2020-11-25 13:57:20 +01:00
Erik Krogh Kristensen
a8944c8953
model accept states more accurately by adding an AcceptAny state, modelling $, and checking the existence of rejecting suffixes
2020-11-25 13:57:20 +01:00
Erik Krogh Kristensen
d9ebb7b20e
escape tabs
2020-11-25 13:57:20 +01:00
Erik Krogh Kristensen
bcb2f2768d
search for a prefix to the state that causes exponential backtracking
2020-11-25 13:57:20 +01:00
CodeQL CI
34ffcb5677
Merge pull request #4593 from asgerf/js/react-hot
...
Approved by erik-krogh
2020-11-25 12:01:38 +00:00
Tamas Vajk
6d9510591a
C#: Adjust test for nint/nuint
2020-11-25 12:01:56 +01:00
Tamas Vajk
81b03bf876
C#: Add test cases for discards as lambda/delegate parameters
2020-11-25 11:56:25 +01:00
Rasmus Wriedt Larsen
e2c4af3031
Python: Add change note for improved open modeling
2020-11-25 11:39:02 +01:00
Tom Hvitved
7791ec3084
Merge pull request #4618 from hvitved/csharp/get-source-decl-rename
...
C#: Rename `getSourceDeclaration()` to `getUnboundDeclaration()`
2020-11-25 11:05:18 +01:00
Cornelius Riemenschneider
7f13d4c356
C++: Improve EscapesTree analysis in the presence of temporary objects.
2020-11-25 10:41:15 +01:00
Cornelius Riemenschneider
8d024c7ff1
C++: Add tests around references to pointers with temporary objects.
2020-11-25 10:40:33 +01:00
Cornelius Riemenschneider
e68352bcde
C++: Add testcase for false positive.
2020-11-25 10:40:33 +01:00
Rasmus Wriedt Larsen
cafe55f5c7
Merge pull request #4701 from yoff/python-fix-return-node-enclosing-callable
...
Python: Use default `getEnclosingCallable` for `RetrunNode`
2020-11-25 10:36:41 +01:00
Jonas Jensen
5f0141953d
Merge pull request #4644 from MathiasVP/unsafe-use-of-this-query
...
C++: Add 'unsafe use of this' query
2020-11-25 08:40:12 +01:00
Jonas Jensen
48460e3e45
Merge pull request #4716 from criemen/escapestree-code-cleanup
...
C++: Simplify and generalize EscapesTree::addressMayEscapeMutablyAt
2020-11-25 08:31:33 +01:00
Rasmus Lerchedahl Petersen
88643da01f
Python: Use default getEnclosingCallable
...
for `RetrunNode`
2020-11-25 08:19:07 +01:00
Rasmus Lerchedahl Petersen
36d9097d03
Python: Add test for inner return
2020-11-25 07:09:27 +01:00
Rasmus Lerchedahl Petersen
34896ae0d7
Python: Fix failing test
2020-11-25 07:09:27 +01:00
luchua-bc
a49160423b
Enhance the query and add more test cases
2020-11-25 04:33:26 +00:00
Robert Marsh
0cd6941a21
C++: Filter out lower bounds on overflowing exprs
...
Fixes performance issues where multiple lower bounds would be
computed for overflowing expressions
2020-11-24 12:57:11 -08:00
Robert Marsh
9b07782d19
Merge pull request #4634 from geoffw0/modelchanges2
...
C++: Make classes in models.implementations private
2020-11-24 15:18:10 -05:00
Erik Krogh Kristensen
94aa162f8d
prune state-pairs that are outside a backtracking repetition
2020-11-24 20:18:45 +01:00
Erik Krogh Kristensen
f3c3b82827
move condition inside parens
2020-11-24 20:16:40 +01:00
Erik Krogh Kristensen
d1706e8048
reuse InfiniteRepetitionQuantifier from SuperLiniearBacktracking
2020-11-24 20:16:36 +01:00
CodeQL CI
395403789e
Merge pull request #4585 from erik-krogh/moreReDoS
...
Approved by asgerf
2020-11-24 18:52:36 +00:00
Geoffrey White
71a8ac5183
C++: Autoformat.
2020-11-24 18:42:18 +00:00
porcupineyhairs
9c30b82116
Merge pull request #2 from aschackmull/java/ssrf-review
...
Java: Review fixes.
2020-11-24 23:14:50 +05:30
CodeQL CI
4be158b362
Merge pull request #4708 from erik-krogh/emptyName
...
Approved by asgerf
2020-11-24 17:34:55 +00:00
Rasmus Wriedt Larsen
d88e5bdb3a
Python: Model io.open as FileSystemAccess
2020-11-24 18:27:33 +01:00
Rasmus Wriedt Larsen
e39bb56078
Python: Model builtin open function better
2020-11-24 18:27:31 +01:00
Rasmus Wriedt Larsen
5af1fdd06f
Python: Expand tests of open
2020-11-24 18:27:30 +01:00
Rasmus Wriedt Larsen
caf73e4b9b
Python: Wrap all Stdlib modeling consistently
...
Some of these predicates had fallen outside the `private module Stdlib`
2020-11-24 18:27:29 +01:00
Geoffrey White
8184f76d1f
C++: Sync identical files.
2020-11-24 16:29:14 +00:00
Geoffrey White
d677305c90
C++: Create tests readme.
2020-11-24 16:08:02 +00:00
Mathias Vorreiter Pedersen
648acc3bfc
C++: Prevent IR re-evaluation by importing GVN.
2020-11-24 17:04:54 +01:00
Cornelius Riemenschneider
026abae323
C++: Simplify some more.
2020-11-24 17:00:47 +01:00
Rasmus Wriedt Larsen
aa4345ac76
Merge pull request #4710 from yoff/python-dataflow-variable-capture
...
Python: Dataflow, variable capture
2020-11-24 15:04:38 +01:00
yoff
215986bce5
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-11-24 14:12:23 +01:00
Rasmus Lerchedahl Petersen
05d156ba0f
Python: add comments
2020-11-24 14:11:14 +01:00
CodeQL CI
8c68463e76
Merge pull request #4711 from erik-krogh/locType
...
Approved by asgerf
2020-11-24 13:10:32 +00:00
Anders Schack-Mulligen
b192f6dfe0
Java: Remove some deprecated classes.
2020-11-24 14:04:01 +01:00
Anders Schack-Mulligen
3f04099c25
Update java/ql/src/experimental/CWE-918/RequestForgery.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2020-11-24 13:18:58 +01:00
Jonas Jensen
260a8d4afb
Merge pull request #4702 from MathiasVP/qualifier-as-parameter-for-callee
...
C++: Abstractions for treating qualifiers as parameters in IR
2020-11-24 12:58:27 +01:00
CodeQL CI
2277242196
Merge pull request #4692 from yoff/python-psycopg
...
Approved by RasmusWL
2020-11-24 10:59:04 +00:00
Rasmus Lerchedahl Petersen
80dcb8da4a
Python: annotate missing flow
2020-11-24 11:55:28 +01:00
Geoffrey White
bc23809e1b
Merge branch 'main' into modelchanges2
2020-11-24 10:49:14 +00:00
Cornelius Riemenschneider
7983b16e84
C++: Simplify and generalize EscapesTree::addressMayEscapeMutablyAt predicate.
2020-11-24 11:35:18 +01:00
Anders Schack-Mulligen
0450489022
Java: Review fixes.
2020-11-24 11:31:44 +01:00
Mathias Vorreiter Pedersen
9d21b226d2
Merge branch 'main' into qualifier-as-parameter-for-callee
2020-11-24 11:13:14 +01:00
Cornelius Riemenschneider
14a03e2f54
Merge pull request #4715 from MathiasVP/remove-failing-duplicate-tests
...
C++: Remove duplication-tests
2020-11-24 11:04:46 +01:00
Rasmus Lerchedahl Petersen
737f4dff09
Python: update test annotations
2020-11-24 10:57:57 +01:00
Rasmus Lerchedahl Petersen
da805f8242
Merge remote-tracking branch 'upstream/main' into python-dataflow-modernize-tests
2020-11-24 10:56:22 +01:00
Mathias Vorreiter Pedersen
08f8660b17
C++/C#: Add pragma[noinline] to hasIndex predicates.
2020-11-24 10:45:02 +01:00
Mathias Vorreiter Pedersen
8bd14c5af6
C++: Remove duplication-tests directory since we no longer detect duplication.
2020-11-24 10:10:31 +01:00
Rasmus Lerchedahl Petersen
a19304a4a0
Python: Factor out prettyPrinter and update tests
2020-11-24 02:17:38 +01:00
Erik Krogh Kristensen
f03429a4b8
change description for source root folder
2020-11-23 23:46:44 +01:00
CodeQL CI
9123f249ad
Merge pull request #4705 from erik-krogh/bigString
...
Approved by asgerf
2020-11-23 22:40:42 +00:00
Erik Krogh Kristensen
33dab1717e
treat nodes with type "Location" as a location source - but not if we can track it from an original node with type "Location"
2020-11-23 17:03:50 +01:00
Rasmus Lerchedahl Petersen
39c5e0d487
Python: update test expectations
2020-11-23 16:46:35 +01:00
Rasmus Lerchedahl Petersen
38bb06a207
Merge remote-tracking branch 'upstream/main' into python-dataflow-variable-capture
2020-11-23 16:40:20 +01:00
Tom Hvitved
129deb0a00
C#: Add change note
2020-11-23 16:09:33 +01:00
Tom Hvitved
cd77f14a75
C#: Rename getSourceDeclaration() to getUnboundDeclaration()
2020-11-23 16:09:33 +01:00
Geoffrey White
7015a9cf53
C++: Un-private a few classes that are now used by the current DefaultSafeExternalAPIFunction implementation.
2020-11-23 14:47:22 +00:00
Anders Schack-Mulligen
2cf10a7658
Merge pull request #4427 from aschackmull/java/fastjson
...
Java: Add support for FastJson in unsafe deserialization.
2020-11-23 14:40:14 +01:00
Erik Krogh Kristensen
f7f9beeefd
avoid reporting empty names in js/exposure-of-private-files
2020-11-23 14:24:42 +01:00
Erik Krogh Kristensen
02d5fbf46b
remove superfluous space
2020-11-23 14:22:16 +01:00
Rasmus Wriedt Larsen
9156163563
Merge pull request #4703 from github/hmakholm/pr/duplicate-code-2
...
Remove unit tests for duplicate-code detection, take II
2020-11-23 13:52:24 +01:00
Tom Hvitved
f0f5d44b33
C#: Replace BreakNormalCompletion with a nested completion
2020-11-23 11:38:24 +01:00
Tom Hvitved
17df059432
C#: Replace matchesCompletion() with getAMatchingSuccessorType()
2020-11-23 11:38:24 +01:00
Tom Hvitved
f3abaa406c
C#: Refactor CFG implementation
2020-11-23 11:38:24 +01:00
Rasmus Wriedt Larsen
f35ffa5632
Python: Add support for x in ["safe", "also_safe"] (and not in)
2020-11-23 10:42:24 +01:00
Rasmus Wriedt Larsen
431aab45f7
Python: Add support for x != "safe" BarrierGuard
2020-11-23 10:36:55 +01:00
Rasmus Wriedt Larsen
18041fd059
Python: Expand string-const-compare tests
...
Also moved file to reflect that. Added tests of
+ `!=`
+ `in`
+ `not in`
2020-11-23 10:36:49 +01:00
Erik Krogh Kristensen
234730419b
restrict computation of ConcatenationRoot::getConstantStringParts to results that are less than 1 million chars long
2020-11-23 10:29:47 +01:00
Tamás Vajk
7d38b2dd17
Merge pull request #4623 from tamasvajk/feature/csharp9-type-param-nullability
...
C#: Add type parameter ref/value type tests
2020-11-23 09:58:56 +01:00
Rasmus Lerchedahl Petersen
777100f25c
Python: rename file, package, and class
2020-11-23 09:17:40 +01:00
Tom Hvitved
c571e42cd5
C#: Move internal CFG logic into separate file
2020-11-21 19:49:17 +01:00
Mathias Vorreiter Pedersen
a7644db762
C++: Use the new names in IR dataflow. Turns out DataFlowCall had its own implementation of getArgument already (which didn't handle qualifiers). The predicate wasn't used anywhere, so I simply removed it, as a better predicate is now available on the base class of DataFlowCall.
2020-11-21 01:00:59 +01:00
Mathias Vorreiter Pedersen
61bbceb201
C++/C#: Sync identical files
2020-11-21 00:55:07 +01:00
Mathias Vorreiter Pedersen
f173dc71c0
C++: Use shorter names for new IR predicates. This should hopefully guide users to use these predicates by default.
2020-11-21 00:54:50 +01:00
Geoffrey White
cc8d4b4c75
Merge branch 'main' into modelchanges2
2020-11-20 20:33:52 +00:00
Geoffrey White
fddd353155
C++: Updated autoformat.
2020-11-20 20:15:45 +00:00
Henning Makholm
a2a4938f60
Remove unit tests for duplicate-code detection, take II
...
In #4689 I forgot to remove the `.expected` files too, but they are
now of course useless.
2020-11-20 21:07:42 +01:00
Asger F
adc7bbfa4d
Merge pull request #4694 from asgerf/js/flow-to-external-api
...
JS: Add UntrustedDataToExternalAPI query
2020-11-20 15:56:04 +00:00
Asger Feldthaus
f894cf2074
JS: Add support for react-hot-loader
2020-11-20 15:28:32 +00:00
Mathias Vorreiter Pedersen
6ead6c6d38
Merge branch 'main' into qualifier-as-parameter-for-callee
2020-11-20 16:17:10 +01:00
Tamas Vajk
0fa3cf7912
Simplify test predicates
2020-11-20 16:05:12 +01:00
Asger Feldthaus
16429c8ca4
JS: followed -> followed by
2020-11-20 14:44:25 +00:00
Mathias Vorreiter Pedersen
fd4f8c557c
Merge branch 'main' into unsafe-use-of-this-query
2020-11-20 14:54:51 +01:00
Jonas Jensen
14aa6427ca
Merge pull request #4696 from MathiasVP/get-result-memory-location-join-order-fix
...
C++: Fix bad join order in AliasedSSA::getResultMemoryLocation
2020-11-20 14:50:35 +01:00
Tamas Vajk
3e836ef671
C#: Add type parameter ref/value type tests
2020-11-20 13:08:38 +01:00
Tamás Vajk
77afd5a617
Merge pull request #4633 from tamasvajk/feature/csharp9-native-int
...
C#: Add test cases for native integers
2020-11-20 12:58:11 +01:00
Mathias Vorreiter Pedersen
c7efc91676
C++: Use the new predicates in IR dataflow.
2020-11-20 12:24:39 +01:00
Mathias Vorreiter Pedersen
f3b5d7b830
C++/C#: Sync identical files
2020-11-20 12:23:34 +01:00
Mathias Vorreiter Pedersen
416431a7c1
C++: Add convenience predicates for working with qualifiers as parameters.
2020-11-20 12:22:37 +01:00
Rasmus Wriedt Larsen
08bcba98e6
Python: Add BarrierGuard test with exception inside unsafe branch
2020-11-20 11:55:07 +01:00
Rasmus Wriedt Larsen
34f78d4211
Python: Add BarrierGuard test with return inside unsafe branch
2020-11-20 11:52:36 +01:00
Jonas Jensen
3342fac83e
Merge pull request #4688 from criemen/printast-performance
...
C++: Speed up PrintAST.
2020-11-20 11:45:42 +01:00
Asger Feldthaus
7536c49c6f
JS: Use getAParameter and not getReceiver instead of getASuccessor
2020-11-20 10:34:30 +00:00
Tamas Vajk
52680cd1dc
C#: Add test cases for native integers
2020-11-20 11:31:20 +01:00
Asger F
405f07720a
Apply suggestions from code review
...
Co-authored-by: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2020-11-20 10:21:19 +00:00
Asger Feldthaus
b34df9ff33
JS: Autoformat
2020-11-20 10:15:35 +00:00
Cornelius Riemenschneider
1afd32c033
C++: Add comment, rename class.
2020-11-20 10:49:12 +01:00
yoff
b478a51d4e
Apply suggestions from code review
...
Thanks for doing the work for me :-)
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-11-20 10:46:04 +01:00
Rasmus Wriedt Larsen
6c8937c5a9
Python: Add StringConstCompare to new data-flow queries
...
In the future, I could imagine we would have something like this, but for now,
I'm just keeping it simple.
```codeql
/**
* A collection of common guards that ensure the checked value cannot have arbitrary
* values.
*
* Currently only supports comparison with constant string value, but could also
* include checking whether all characters are alphanumeric, or whether a regex is
* matched against the value.
*
* Such guards will be useful for many taint-tracking queries, but not necessarily
* all, which is why you need to opt into these manually.
*/
class CommonNonArbitraryGuard extends BarrierGuard {
CommonNonArbitraryGuard() {
this instanceof StringConstCompare
}
override predicate checks(ControlFlowNode node, boolean branch) {
this.(StringConstCompare).checks(node, branch)
}
}
```
2020-11-20 10:44:50 +01:00
Rasmus Wriedt Larsen
12b36b2245
Python: Highlight that safe or also_safe doesn't clear taint :(
2020-11-20 10:43:46 +01:00
Rasmus Wriedt Larsen
1a52f17da3
Python: Add StringConstCompare BarrierGuard
2020-11-20 10:40:04 +01:00
Rasmus Wriedt Larsen
a82936c904
Python: Enable test for sanitizer-guard and logic expressions
...
`not` is not working properly, but otherwise pretty good
2020-11-20 10:06:25 +01:00
Cornelius Riemenschneider
eeece5937d
C++: One more speedup, address review.
2020-11-20 09:56:08 +01:00
Tamás Vajk
056b0c2627
Merge pull request #4626 from tamasvajk/feature/stats
...
C#: Add stats file from the jenkins job
2020-11-20 09:16:56 +01:00
Mathias Vorreiter Pedersen
490bba5c9f
C++: Fix bad join order in AliasedSSA::getResultMemoryLocation.
2020-11-19 17:40:41 +01:00
Rasmus Wriedt Larsen
b3d3d6e142
Python: Move logical test of sanitizers
...
Don't know why it would ever have been under default sanitizers :D
2020-11-19 16:46:07 +01:00
Rasmus Lerchedahl Petersen
7cbbf3bbf7
Python: slightly nicer test
2020-11-19 16:20:57 +01:00
Rasmus Wriedt Larsen
4c7c940273
Python: Add example of Code Injection FP
2020-11-19 15:05:51 +01:00
Rasmus Wriedt Larsen
7e407d43d2
Python: Change (single) test to match codeql database create
2020-11-19 14:56:18 +01:00
Rasmus Wriedt Larsen
8ffcff0824
Python: Add example of top-level module shadowing stdlib
...
Although this test is added under the `wrong` folder, the current results from
this CodeQL test is actually correct (compared with the Python
interpreter). However, they don't match what the extractor does when invoked
with `codeql database create`.
Since I deemed it "more than an easy fix" to change the extractor behavior for
`codeql database create` to match the real python behavior, and it turned out to
be quite a challenge to change the extractor behavior for all tests, I'm just
going to make THIS ONE test-case behave like the extractor will with `codeql
database create`...
This is a first commit, to show how the extractor works with qltest by default.
Inspired by the debugging in https://github.com/github/codeql/issues/4640
2020-11-19 14:56:17 +01:00
Asger Feldthaus
f737f34dcd
JS: Add UntrustedDataToExternalApi query
2020-11-19 13:42:25 +00:00
luchua-bc
a311462791
Move to query-test folder and update qldoc
2020-11-19 13:12:42 +00:00
Mathias Vorreiter Pedersen
2e6a3cd33b
Merge branch 'main' into unsafe-use-of-this-query
2020-11-19 13:03:29 +01:00
Jonas Jensen
cd20163f6e
Merge pull request #4676 from MathiasVP/untrusted-dataflow-to-external-api-query
...
C++: Untrusted data used in external APIs
2020-11-19 12:56:08 +01:00
Rasmus Lerchedahl Petersen
6cc8e5acf1
Python: support psycopg
2020-11-19 12:13:20 +01:00
Mathias Vorreiter Pedersen
072adaa279
C++: Require that no override of the called pure virtual function exists in any base class. This removes the false positive in the testcase. Based on the results on LGTM we have agreed to set the @precision to very-high.
2020-11-19 12:10:57 +01:00
Rasmus Lerchedahl Petersen
39f134c1c1
Python: reorganized and added to tests
2020-11-19 12:06:58 +01:00
Erik Krogh Kristensen
a3b21ad43b
Apply suggestions from code review
...
Co-authored-by: Asger F <asgerf@github.com >
2020-11-19 11:42:12 +01:00
Tom Hvitved
02ec325380
C#: Fix bad join-orders following stats update
2020-11-19 10:42:35 +01:00
Tamas Vajk
866c98bbd9
C#: Add stats file from the jenkins job
2020-11-19 10:42:34 +01:00
Rasmus Wriedt Larsen
2945eada9e
Merge pull request #4689 from github/hmakholm/pr/no-dup-code-tests
...
Remove unit tests for duplicate-code detection
2020-11-19 10:07:04 +01:00
Dave Bartolomeo
08efd7fbd9
Merge pull request #4558 from rdmarsh2/rdmarsh2/cpp/remove-initialize-nonlocal
...
Remove InitializeNonlocalInstruction
2020-11-18 20:23:08 -05:00
Porcupiney Hairs
ebc6c49555
include suggestions from review.
2020-11-19 03:37:00 +05:30
Erik Krogh Kristensen
cc1d797cef
adjust top comment to reflect what the query does, and add comment about which kind of accepting state is assumed.
2020-11-18 21:32:31 +01:00
Robert Marsh
5753a2d401
C++: autoformat
2020-11-18 11:02:58 -08:00
Robert Marsh
693626e460
C++: accept value numbering test changes
2020-11-18 11:00:31 -08:00
Cornelius Riemenschneider
4405547b04
C++: Fix tests.
2020-11-18 17:41:08 +01:00
Cornelius Riemenschneider
cfe86bf53b
C++: Remove default getAPrimaryQlClass().
2020-11-18 17:34:56 +01:00
Cornelius Riemenschneider
f70f32e3ed
C++: Fix tests for PrintAST.
2020-11-18 17:22:13 +01:00
Henning Makholm
a86679a377
Remove unit tests for duplicate-code detection
...
The old Semmle duplicate-code detection code has never been done when
extracting databases for the CodeQL CLI, except that `codeql test run`
will run it _just_ in order to support tests of the feature. With the
sunsetting of Odasa there's no need to even _test_ the feature anymore.
This commit removes those tests that fail when the duplicate-code
detector is turned off. Once it is merged and bumped, we can finally
remove it from `codeql`.
2020-11-18 16:37:29 +01:00
Cornelius Riemenschneider
429aa15b1b
C++: Speed up PrintAST.
2020-11-18 16:08:51 +01:00
Tamás Vajk
cb8c5e8cca
Merge pull request #4663 from tamasvajk/feature/patterns
...
C#: Refactor pattern extraction
2020-11-18 16:01:15 +01:00
Erik Krogh Kristensen
58c31f0eca
prune more regexps initially in the ReDoS query
2020-11-18 15:14:46 +01:00
Erik Krogh Kristensen
c4153a617e
remove duplicated test cases from ReDoS, and adjust variables names to match test output
2020-11-18 14:49:09 +01:00
Mathias Vorreiter Pedersen
4746320f3c
Merge pull request #4684 from criemen/cleanup-api
...
C++: Clean up Type.qll, getSpecifierString() API.
2020-11-18 13:07:51 +01:00
Mathias Vorreiter Pedersen
715f233360
C++: Add a new model class describing pure memory functions, and use this new model in DefaultSafeExternalAPIFunction.
2020-11-18 12:47:33 +01:00
Geoffrey White
decbb08340
Merge pull request #4402 from github/matt-gretton-dann/cpp20-constinit-results
...
Update expected results for `constint' support
2020-11-18 11:46:41 +00:00
Cornelius Riemenschneider
959b8f39d2
C++: Autoformat.
2020-11-18 12:13:46 +01:00
Erik Krogh Kristensen
8270bf5bb9
make the character search skip unencodable characters
2020-11-18 11:55:49 +01:00
James Fletcher
47fa2d31cc
Merge pull request #4685 from github/main-126-merge
...
Merge `rc/1.26` into `main`
2020-11-18 10:41:03 +00:00
yoff
04fc1e44f2
Merge pull request #4683 from RasmusWL/python-fix-bad-join-callStep-for-dist-upgrade
...
Python: Fix bad join order in TypeTracker::callStep
2020-11-18 11:12:38 +01:00
Rasmus Wriedt Larsen
ab856d6c01
Python: Show getCallableForArgument can have multiple results
2020-11-18 10:44:32 +01:00
Erik Krogh Kristensen
64828713d6
remove FPs in js/build-artifact-leak where the "leaked" properties are constrained to a safe subset
2020-11-18 10:35:02 +01:00
Erik Krogh Kristensen
06733eadea
remove two unused imports
2020-11-18 10:34:15 +01:00
james
8c9ea1632f
Merge branch 'rc/1.26' into main-126-merge
2020-11-18 09:33:21 +00:00
Cornelius Riemenschneider
b670522a9f
Clean up Type.qll, getSpecifierString() API.
2020-11-18 10:21:03 +01:00
Mathias Vorreiter Pedersen
09c5caa3bd
C++: Move ExternalAPI files into query directory to prevent out-of-tree use.
2020-11-18 10:18:03 +01:00
Rasmus Wriedt Larsen
abf2902a69
Python: Fix QLDoc
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2020-11-18 09:47:23 +01:00
Rasmus Wriedt Larsen
39590a39cb
Python: Rename helper predicate based on review
2020-11-18 09:26:53 +01:00
Erik Krogh Kristensen
55f2f86a26
limit the search of state-pairs to the ones that are reachable within the given length
2020-11-18 09:23:35 +01:00
Mathias Vorreiter Pedersen
f16591dffc
C++: Respond to qhelp review comments.
2020-11-18 09:18:14 +01:00
Rasmus Wriedt Larsen
14136154d6
Python: Fix bad join order in TypeTracker::callStep
...
From a local evaluation against flask DB, after
https://github.com/github/codeql/pull/4649 was merged we would get:
```
Tuple counts for TypeTracker::callStep#ff/2@a21b71:
9876 ~0% {3} r1 = SCAN DataFlowPrivate::DataFlowCall::getArg_dispred#fff AS I OUTPUT I.<2>, I.<0>, I.<1>
9876 ~2% {3} r2 = JOIN r1 WITH project#DataFlowPrivate::DataFlowCall::getArg_dispred#fff AS R ON FIRST 1 OUTPUT r1.<2>, R.<0>, r1.<1>
72388997 ~0% {4} r3 = JOIN r2 WITH DataFlowPublic::ParameterNode::isParameterOf_dispred#fff_201#join_rhs AS R ON FIRST 1 OUTPUT r2.<2>, R.<2>, r2.<1>, R.<1>
4952 ~0% {2} r4 = JOIN r3 WITH DataFlowPrivate::DataFlowCall::getCallable_dispred#ff AS R ON FIRST 2 OUTPUT r3.<2>, r3.<3>
return r4
```
2020-11-18 09:17:31 +01:00
Dave Bartolomeo
ab715ec302
Merge pull request #4680 from criemen/printast-performance
...
C++: Improve PrintAST performance.
2020-11-17 23:13:26 -05:00
luchua-bc
85434ca410
Format the source code and update qldoc
2020-11-17 21:20:53 +00:00
Cornelius Riemenschneider
a92f7a4563
C++: Include trailing whitespace in Type.getSpecifierString().
2020-11-17 18:50:34 +01:00
Cornelius Riemenschneider
5c3de06b6d
C++: Improve PrintAST performance.
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2020-11-17 17:47:16 +01:00
Aditya Sharad
b9b6a35564
Merge pull request #4629 from pwntester/improve_bean_validation_query
...
Java: add some improvements to the bean validation query
2020-11-17 08:35:49 -08:00
Erik Krogh Kristensen
c4d7533701
Merge branch 'main' into moreReDoS
2020-11-17 17:34:49 +01:00
Erik Krogh Kristensen
97acf1fd87
fix FP related to inverted character classes choosing a char that was not matched by the char class
2020-11-17 17:34:43 +01:00
Mathias Vorreiter Pedersen
52bbb326ca
QLDoc: Wrap lines and disambiguate explanation.
2020-11-17 16:23:27 +01:00
Mathias Vorreiter Pedersen
d93d3c8699
C++: Use the getSourceType predicate on RemoteFlowSources for better alert messages.
2020-11-17 16:23:27 +01:00
Mathias Vorreiter Pedersen
d1272d3a79
C++: Use strictcount instead of count.
2020-11-17 16:23:27 +01:00
Mathias Vorreiter Pedersen
4cb25d8e18
C++: Add isParameterDerefOrQualifierObject helper predicate to FunctionInput and FunctionOutput.
2020-11-17 16:23:27 +01:00
Mathias Vorreiter Pedersen
dea16d4d62
QLDoc/C++: Rename {IR}ExternalAPIsUsedWithUntrustedData to {IR}CountUntrustedDataToExternalAPI
2020-11-17 16:23:13 +01:00
Mathias Vorreiter Pedersen
eabc69b98e
C++: Autoformat
2020-11-17 16:09:25 +01:00
Matthew Gretton-Dann
62767e7e0d
Update expected results for `constinit' support
2020-11-17 14:01:00 +00:00
Anders Schack-Mulligen
f74fc0ff26
Dataflow: Fix bad join-orders.
2020-11-17 14:28:25 +01:00
Mathias Vorreiter Pedersen
5d2b85fcf5
Update cpp/ql/src/semmle/code/cpp/models/implementations/Getenv.qll
...
Co-authored-by: hubwriter <hubwriter@github.com >
2020-11-17 13:02:28 +01:00
Tom Hvitved
7f0ad2d232
Merge pull request #4646 from hvitved/csharp/cfg/post-order-exprs
...
C#: Represent all expressions in post-order in the CFG
2020-11-17 13:01:35 +01:00
Mathias Vorreiter Pedersen
c37093f4bc
C++: Add copies of qhelp files for IR.
2020-11-17 12:28:31 +01:00
Mathias Vorreiter Pedersen
3b8580efaf
C++: Add qhelp and example files (modeled after the Java examples).
2020-11-17 12:27:53 +01:00
Mathias Vorreiter Pedersen
c3c29b8dd0
C++: Add qldoc to new library files.
2020-11-17 12:27:53 +01:00
Mathias Vorreiter Pedersen
5c9b8f1cff
C++: Update sync-identical-files.
2020-11-17 12:27:53 +01:00
Mathias Vorreiter Pedersen
5ad18eb748
C++: Add ExternalAPI query files (for AST and IR).
2020-11-17 12:27:40 +01:00
Jonas Jensen
55a38803cb
Merge pull request #4673 from MathiasVP/ir-post-dominance
...
C++: IR post dominance
2020-11-17 09:35:51 +01:00
Tamás Vajk
f2259de5f1
Merge pull request #4666 from tamasvajk/feature/roslyn-3.8.0
...
C#: Upgrade Roslyn dependencies to 3.8.0
2020-11-17 08:59:55 +01:00
Rasmus Lerchedahl Petersen
71830abda0
Python: remaining c# tests, except lambdas
...
both via nonlocal and via dict
2020-11-17 08:28:11 +01:00
Mathias Vorreiter Pedersen
057bb14eee
C++: Add ExternalAPI library files (for AST and IR).
2020-11-16 22:59:54 +01:00
luchua-bc
0bd6255c41
Query for cleartext storage using Android SharedPreferences
2020-11-16 17:23:01 +00:00
Robert Marsh
a94826dc81
C++: common superclass for Remote/LocalFlowSource
2020-11-16 18:05:17 +01:00
Robert Marsh
31d3e94cec
C++: Grammar/style fixes from code review
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2020-11-16 18:03:44 +01:00
Robert Marsh
74e05c111e
C++: add local flow sources
2020-11-16 18:02:19 +01:00
Rasmus Lerchedahl Petersen
27b4c67b9f
Python: Start of tests for captured variables
2020-11-16 17:25:39 +01:00
Tamas Vajk
8bef5f417e
C#: Upgrade Roslyn dependencies to 3.8.0
2020-11-16 16:44:14 +01:00
Mathias Vorreiter Pedersen
4a7f9100e4
C++: Respond to review comments.
2020-11-16 15:30:42 +01:00
Mathias Vorreiter Pedersen
27aab4062a
C++/C#: Sync identical files.
2020-11-16 15:05:59 +01:00
Mathias Vorreiter Pedersen
088d5863fc
C++: Implement IR post-dominance predicates.
2020-11-16 15:04:40 +01:00
Mathias Vorreiter Pedersen
10a9f7ba13
Update cpp/change-notes/2020-11-12-unsafe-use-of-this.md
...
Co-authored-by: hubwriter <hubwriter@github.com >
2020-11-16 12:28:57 +01:00
Anders Schack-Mulligen
4be731d2ab
Java: Adjust reference to static method and add test.
2020-11-16 11:47:58 +01:00
Anders Schack-Mulligen
80ee92ae97
Java: Add support for FastJson in unsafe deserialization.
2020-11-16 11:47:58 +01:00
Mathias Vorreiter Pedersen
020af1c88c
C++: Add qhelp.
2020-11-16 11:21:18 +01:00
Geoffrey White
4b8f338139
C++: Autoformat.
2020-11-16 10:19:06 +00:00
CodeQL CI
09cfb24afa
Merge pull request #4648 from erik-krogh/regexpParse
...
Approved by asgerf
2020-11-16 08:20:40 +00:00
CodeQL CI
13edc3713d
Merge pull request #4638 from erik-krogh/jwt
...
Approved by asgerf
2020-11-16 08:19:58 +00:00
Anders Schack-Mulligen
3dbd48063c
Dataflow: Add Unit type for all languages.
2020-11-16 09:02:44 +01:00
Erik Krogh Kristensen
a49b99b18c
autoformat
2020-11-13 20:06:17 +01:00
Erik Krogh Kristensen
affb11b0e3
changes based on review
2020-11-13 19:46:37 +01:00
Erik Krogh Kristensen
2f4fcc2f5e
Apply suggestions from code review
...
Co-authored-by: Asger F <asgerf@github.com >
2020-11-13 18:03:07 +01:00
Mathias Vorreiter Pedersen
0a6a22562b
C++: Respond to more review comments.
...
- Remove post-dominance requirement. It was really just hiding good
results.
- Fix test annotations. Turns out Clang and GCC's 'undefined behavior'
warning didn't align with the C++ standard.
2020-11-13 15:44:33 +01:00
Geoffrey White
dfcb0ae7c2
C++: Autoformat.
2020-11-13 14:39:33 +00:00
Anders Schack-Mulligen
9e45f10c5d
Dataflow: Remove headUsesContent.
2020-11-13 15:12:39 +01:00
Anders Schack-Mulligen
e0a6a485df
Dataflow: Sync.
2020-11-13 15:12:16 +01:00
Anders Schack-Mulligen
d324cd1844
Dataflow: Some qldoc.
2020-11-13 15:09:30 +01:00
Anders Schack-Mulligen
293429f821
Dataflow: Make a bunch of the interface predicates private.
2020-11-13 15:09:30 +01:00
Anders Schack-Mulligen
d028e6b334
Dataflow: Change some headUsesContent to getHead.
2020-11-13 15:09:30 +01:00
Anders Schack-Mulligen
aa66b9bb48
Dataflow: Align more predicates.
2020-11-13 15:09:30 +01:00
Anders Schack-Mulligen
6e6e5d6414
Dataflow: Renamings.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
786edbf045
Dataflow: Align on parameterMayFlowThrough.
...
This actually provides a decent pruning improvement in stages 3 and 4.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
15bf1b1026
Dataflow: Rename some stage 1 predicates.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
af54afa24b
Dataflow: Add stage statistics.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
8b5e452728
Dataflow: Improve cons-cand relation.
...
Post-recursion we can filter the forward cons-candidates to only include
those that met a read step, and similarly restrict the reverse flow
cons-candidates to those that met a store step.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
e4fb41507b
Dataflow: Reshuffle some predicates.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
5a1c0e9ec4
Dataflow: Get rid of early filter.
...
This constructs a few more tuples in Stage3::fwdFlow0, which are then
filtered in Stage3::fwdFlow. This is cleaner and appears faster.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
3e18e02d2c
Dataflow: Refactor step predicate in fwdFlowRead.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
c5a2c261dc
Dataflow: Refactor forward store step relation.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
b6f1ab6429
Dataflow: Refactor step relation in revFlowStore.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
12fe38bcb6
Dataflow: Reorder, rename, and add columns to store-flow.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
aa28fdb83d
Dataflow: Align some qldoc.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
0a4c680e17
Dataflow: Align on localStep.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
4b5905c5e0
Dataflow: Risky! Remove fwdFlowLocalEntry.
...
This commit is a little bit risky, as it allows for some potentially bad
join-orders. The best order starts with the delta and proceeds with the
then functional `mid.getEnclosingCallable()` and `getLocalCallContext`.
In this order `localFlowEntry` becomes superfluous. The standard order
is however somewhat unwilling to choose this. If it picks
`getLocalCallContext` and `getEnclosingCallable` as the first join, the
result is really bad, but it appears that the existence of
`localFlowEntry` at least means that it'll do `localFlowEntry`,
`getEnclosingCallable`, `getLocalCallContext` in that order, which
appears to be acceptable, although it isn't optimal. Without the
`localFlowEntry` conjunct we end up with the worst case. We'll need to
watch this particular join-ordering until we get better join-ordering
directives.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
19a9285d00
Dataflow: Reshuffle a few conjuncts.
2020-11-13 15:09:29 +01:00
Anders Schack-Mulligen
7a95466241
Dataflow: Remove superfluous conjuncts.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
03ef9d00ec
Dataflow: Refactor call contexts.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
dc2b2cc13f
Dataflow: Some renamings.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
d037909c7b
Dataflow: Minor reorderings and renamings.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
00d726de3f
Dataflow: Refactor stage 4 read and stores.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
2afc572a34
Dataflow: Refactor stage 2 read and stores.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
b0e5925fea
Dataflow: Refactor stage 3 conscand predicates.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
261ef0fbff
Dataflow: Refactor forward stores and remove some useless conjuncts.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
628e0a795a
Dataflow: A few variable renamings.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
bfd8a3d104
Dataflow: Rename stage 2 cons-cand predicates.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
0a60a3abb3
Dataflow: Align on ApNil.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
60b51011b9
Dataflow: Minor refactor of Stage2::revFlow.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
c054295347
Dataflow: Rename option type branches.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
7eeae49e06
Dataflow: Remove AccessPathFront column.
...
This column is functionally determined from the access path, and was
merely included to help with some join-orders that no longer appear
problematic.
2020-11-13 15:09:28 +01:00
Anders Schack-Mulligen
1fe423550f
Dataflow: Stage comments and some formatting.
2020-11-13 15:09:27 +01:00
Anders Schack-Mulligen
586d52fac0
Dataflow: More renaming.
2020-11-13 15:09:27 +01:00
Anders Schack-Mulligen
3f25df902f
Dataflow: Rename some types and variables.
2020-11-13 15:09:27 +01:00
Anders Schack-Mulligen
f3f968ce6d
Dataflow: Rename predicates.
2020-11-13 15:09:27 +01:00
Anders Schack-Mulligen
aab5263c6a
Dataflow: Add modules.
2020-11-13 15:09:22 +01:00
Jonas Jensen
8bb9e8a4af
Merge pull request #4592 from geoffw0/varnotused
...
C++: Work around two false positive issues with the UnusedLocals.ql query
2020-11-13 14:53:58 +01:00
yoff
f7361cae31
Merge pull request #4667 from RasmusWL/python-add-code-snippets
...
Python: Add code snippets for VS Code
2020-11-13 13:48:37 +01:00
Porcupiney Hairs
402a320a55
include suggestions from review.
2020-11-13 18:07:42 +05:30
Porcupiney Hairs
4b25532b9f
include suggestions from review.
2020-11-13 17:55:56 +05:30
Rasmus Wriedt Larsen
9f1d8cd1bb
Python: Convert indentation to spaces for VS Code snippets
2020-11-13 13:05:23 +01:00
Rasmus Wriedt Larsen
5200af5244
Python: Add code snippets for VS Code
...
Notice that in this form, the filename doesn't matter, and you need to specify
`scope` to limit the snippet to only trigger for `ql`.
2020-11-13 10:57:17 +01:00
Mathias Vorreiter Pedersen
b249777bfb
C++: Respond to review comments.
2020-11-13 10:44:06 +01:00
Tom Hvitved
708fca4a2f
C#: Update ConstantCondition.ql
2020-11-13 10:23:09 +01:00
Erik Krogh Kristensen
7f68b07665
Merge branch 'main' into regexpParse
2020-11-13 09:33:16 +01:00
Rasmus Lerchedahl Petersen
dc91406ff0
Python: make .expected empty
...
still need to annotate missing results
2020-11-13 09:22:57 +01:00
Tamás Vajk
19fac60e6d
Merge pull request #4661 from tamasvajk/feature/fix-var-decl-type-mention
...
C#: Fix parent of 'TypeMention' for some variable declaration
2020-11-13 09:08:21 +01:00
Rasmus Lerchedahl Petersen
e468d49b19
Python: routing tests 3-7 and some annotations
2020-11-12 23:07:01 +01:00
Rasmus Lerchedahl Petersen
4fe2576b9a
Python: start modernizing routing tests
2020-11-12 22:43:34 +01:00
Erik Krogh Kristensen
7cf7a44fda
autoformat
2020-11-12 22:33:00 +01:00
Rasmus Lerchedahl Petersen
823ed447df
Python: Add new-style tests
...
should perhaps move `LocalFlowStepTest` and `MaximalFlowStep` into where
they are referenced (they did not seem too reusable after all).
Should also add argument tests in the same way.
2020-11-12 21:57:29 +01:00
Erik Krogh Kristensen
49be7e959f
Merge branch 'main' into jwt
2020-11-12 21:36:09 +01:00
Erik Krogh Kristensen
99d03bab24
only flag the secret key in JWT
2020-11-12 21:36:05 +01:00
Porcupiney Hairs
eb6d6113d9
minor nit.
2020-11-13 00:39:09 +05:30
Tom Hvitved
94deed39a2
C#: Represent all expressions in post-order in the CFG
2020-11-12 20:04:48 +01:00
Tom Hvitved
202f7f07ec
C#: Update modulus analysis tests
2020-11-12 20:04:48 +01:00
Porcupiney Hairs
f8de94e906
refactor SpringWebClient
2020-11-13 00:32:27 +05:30
Porcupiney Hairs
2525cfd786
include suggestions from review.
2020-11-13 00:28:06 +05:30
Geoffrey White
0804df42d1
C++: Autoformat.
2020-11-12 18:23:11 +00:00
Dave Bartolomeo
f43d9119c8
Merge pull request #4573 from MathiasVP/interleave-op-instr-field-flow
...
C++: instruction -> operand field flow
2020-11-12 10:14:19 -05:00
Mathias Vorreiter Pedersen
5e1f36e7ff
Merge branch 'unsafe-use-of-this-query' of github.com:MathiasVP/ql into unsafe-use-of-this-query
2020-11-12 15:51:19 +01:00
Mathias Vorreiter Pedersen
f417831a23
C++: Add two more tests to 'unsafe use of this'. First, test that post-dominance removes some results. Second, that a cast to the pure virtual function's defining class (skipping past a derived class that overrides the function) followed by a call to the function still results in an alert. This is also undefined behavior.
2020-11-12 15:51:04 +01:00
Mathias Vorreiter Pedersen
896dee5fb7
C++: Fix dataflow pruning by evaluating successor before flowsToSink/flowsFromSource.
2020-11-12 15:47:48 +01:00
Mathias Vorreiter Pedersen
f2317aed55
C++/C#: Make post-dominator related predicates member predicates of IRBlock.
2020-11-12 15:41:52 +01:00
Tamas Vajk
dee1690748
C#: Remove duplicated pattern extraction logic
2020-11-12 14:34:54 +01:00
Geoffrey White
498177ce02
C++: Autoformat.
2020-11-12 13:30:58 +00:00
Tamas Vajk
3f150bb09b
C#: Reorganize patterns
2020-11-12 13:47:38 +01:00
Tamas Vajk
8cbe8bc6b5
C#: Fix parent of 'TypeMention' for some variable declaration
2020-11-12 13:43:13 +01:00
CodeQL CI
6696d18f56
Merge pull request #4659 from asgerf/js/autoformat-date-functions
...
Approved by erik-krogh
2020-11-12 11:32:47 +00:00
Mathias Vorreiter Pedersen
00f067be84
Update cpp/change-notes/2020-11-12-unsafe-use-of-this.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2020-11-12 11:28:12 +01:00
James Fletcher
19b974832b
Merge pull request #4658 from github/main-126-merge
...
Merge rc/1.26 into main branch
2020-11-12 10:18:24 +00:00
Asger Feldthaus
4d3d982bde
JS: Autoformat date-functions file
2020-11-12 10:07:30 +00:00
james
9fc84f8061
Merge branch 'rc/1.26' into main-126-merge
2020-11-12 09:55:32 +00:00
Mathias Vorreiter Pedersen
50e90510ef
C++: Follow the new change-note protocol.
2020-11-12 10:27:11 +01:00
Mathias Vorreiter Pedersen
4c27c3757c
C++: Respond to more review comments.
2020-11-12 10:27:03 +01:00
Tamás Vajk
b5ef3bd5ec
Merge pull request #4516 from tamasvajk/feature/attributes
...
C#: Refactor attribute extraction
2020-11-12 09:57:46 +01:00
Erik Krogh Kristensen
044fbc0b49
optimize the regexp parser
2020-11-11 21:13:11 +01:00
Erik Krogh Kristensen
de6b21986c
bump extractor version string
2020-11-11 21:10:03 +01:00
Erik Krogh Kristensen
74d933d475
move change note
2020-11-11 21:09:08 +01:00
Erik Krogh Kristensen
67d581edec
Update javascript/2020-11-09-jwt.md
...
Co-authored-by: Asger F <asgerf@github.com >
2020-11-11 21:06:30 +01:00
Geoffrey White
2aa6ff6239
C++: Add comments about the temporary exclusions.
2020-11-11 17:33:16 +00:00
Mathias Vorreiter Pedersen
44e38ab6d2
Merge branch 'unsafe-use-of-this-query' of github.com:MathiasVP/ql into unsafe-use-of-this-query
2020-11-11 18:30:20 +01:00
Mathias Vorreiter Pedersen
e1ef41bd38
C++: Respond to review comments.
2020-11-11 18:29:51 +01:00
Mathias Vorreiter Pedersen
de0ca0aa74
Update cpp/ql/src/Likely Bugs/OO/UnsafeUseOfThis.cpp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2020-11-11 18:12:49 +01:00
luchua-bc
dcb7324643
Add the constraint that the caller method must throw an exception
2020-11-11 16:47:53 +00:00
Geoffrey White
5359e13421
C++: Remove abstraction of OperatorNew/DeleteAllocationFunction.
2020-11-11 15:35:34 +00:00
yoff
86fc9e62ef
Merge pull request #4650 from RasmusWL/python-set-literal-formatting
...
Python: Update set literal formatting
2020-11-11 15:35:12 +01:00
Alvaro Muñoz
30d8dce389
check that either there are no custom message interpolator configured, or there is at least one that is insecure
2020-11-11 12:53:54 +01:00
CodeQL CI
f9d62adcb2
Merge pull request #4567 from asgerf/js/date-functions
...
Approved by erik-krogh
2020-11-11 11:17:30 +00:00
Alvaro Muñoz
c3bc0d6c15
Apply formatting
2020-11-11 12:06:39 +01:00
Alvaro Muñoz
5b1858a514
Do not report the issue only if all message interpolators are secure
2020-11-11 11:50:15 +01:00
Rasmus Wriedt Larsen
611398586d
Merge pull request #4649 from yoff/python-dataflow-cfgparameters
...
Python: Make `ParameterNode` a `CfgNode`
2020-11-11 10:22:12 +01:00
Tamas Vajk
453c97a8c3
Fix expected files of failing tests
2020-11-11 09:57:52 +01:00
Tom Hvitved
e57134e8a4
C#: Address comments
2020-11-11 09:54:51 +01:00
Tom Hvitved
d6515e7963
C#: Changes to extraction of attributes in assemblies
...
- Only cache on `AttributeData` and not the parent entity.
- Move `CreateGeneratedExpressionFromArgument` to `Expression.cs`.
- Restructure the various `CreateGenerated` methods so child entities are
created inside them (and therefore no need to expose child index logic).
- Add locations to generated expressions.
- Avoid linear lookup in `CompilationUnit.cs`.
- Consolidate tests.
2020-11-11 09:54:51 +01:00
Tom Hvitved
b8d6070e00
C#: Remove redundant conjunct
2020-11-11 09:54:51 +01:00
Tom Hvitved
3048919fce
C#: Introduce AssertionFailure class
2020-11-11 09:54:51 +01:00
Tom Hvitved
91dd67798a
C#: Exclude assembly attribute expressions from CFG construction
2020-11-11 09:50:59 +01:00
Tamas Vajk
4b88b237b3
C#: Fix failing tests
2020-11-11 09:50:59 +01:00
Tamas Vajk
4d6ccb1ef4
C#: Add change note for attribute extraction refactoring
2020-11-11 09:46:18 +01:00
Tamas Vajk
ba730b6f02
Fix failing tests
2020-11-11 09:46:18 +01:00
Tamas Vajk
5f18840a9e
C#: Extract attributes of referenced assembly
2020-11-11 09:46:18 +01:00
Tamas Vajk
cdea3afced
C#: Change extraction of Attributes to have ID based on the location when location is from source
2020-11-11 09:46:18 +01:00
Tamas Vajk
c04d6f479c
C#: Change attribute extraction to use AttributeData and created generated expressions when missing
2020-11-11 09:46:18 +01:00
Tamas Vajk
883795e126
C#: Add attribute test for extraction from symbols without syntax nodes
2020-11-11 09:46:18 +01:00
Tamas Vajk
c14a63488c
C#: Add missing tests for attribute extraction
2020-11-11 09:46:18 +01:00
Rasmus Wriedt Larsen
9ed15732ed
Python: Update set literal formatting
...
Now that auto-formatting rules have been updated
2020-11-11 09:38:25 +01:00
Rasmus Lerchedahl Petersen
0710963fc3
Python: update test expectations
...
EssaNode -> ControlFlowNode
2020-11-10 23:58:55 +01:00
Erik Krogh Kristensen
e01d4b104e
update expected output
2020-11-10 23:42:38 +01:00
luchua-bc
018d5c46da
Simplify the query
2020-11-10 21:07:44 +00:00
Mathias Vorreiter Pedersen
8d4b948acf
Merge branch 'main' into interleave-op-instr-field-flow
2020-11-10 21:15:50 +01:00
Erik Krogh Kristensen
6b7f8dd505
fix parse errors related to char escapes and char ranges
2020-11-10 21:02:29 +01:00
Robert Marsh
14f1fa50f1
Merge branch 'main' into rdmarsh2/cpp/remove-initialize-nonlocal
...
Accept test changes from IR temporaries and block ordering
2020-11-10 11:14:26 -08:00
Geoffrey White
2c7a01952e
C++: Improve the changes to Iterator.
2020-11-10 17:11:47 +00:00
Jonas Jensen
fc764db8e1
Merge pull request #4643 from nickrolfe/getFileBySourceArchiveName
...
Replace getEncodedFile with shared getFileBySourceArchiveName predicate
2020-11-10 17:36:29 +01:00
Geoffrey White
c635166079
Merge remote-tracking branch 'upstream/main' into modelchanges2
2020-11-10 16:30:03 +00:00
Mathias Vorreiter Pedersen
a330cae2f9
C++: Update change-notes.
2020-11-10 17:24:45 +01:00
Mathias Vorreiter Pedersen
4bcf1f498b
C++: Add new query for unsafe use of this.
2020-11-10 17:23:55 +01:00
Pavel Avgustinov
60ea9cec6e
Update docs/ql-design-patterns.md
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswl@github.com >
2020-11-10 15:59:45 +00:00
Mathias Vorreiter Pedersen
884554692f
Merge pull request #4645 from geoffw0/oddsends2
...
C++: Odds and ends
2020-11-10 16:59:10 +01:00
Mathias Vorreiter Pedersen
618d9c33a1
Merge pull request #4642 from geoffw0/memberfn
...
C++: Improve MemberFunction.qll data flows
2020-11-10 16:54:42 +01:00
Jonas Jensen
da90717ef0
Merge pull request #4641 from aschackmull/autoformat-setliterals
...
C++/C#/Java/JavaScript/Python: Autoformat set literals.
2020-11-10 16:11:11 +01:00
Tom Hvitved
7e89e57f5d
Merge pull request #4606 from hvitved/csharp/dataflow/ef
...
C#: Precise data flow for EntityFramework(Core)
2020-11-10 15:54:20 +01:00
Rasmus Wriedt Larsen
14236709f6
Fix typo ql-design-patterns.md
...
Co-authored-by: Pavel Avgustinov <54942558+p0@users.noreply.github.com >
2020-11-10 15:39:45 +01:00
Nick Rolfe
ac4a1f1d9b
Update comment to be a QLDoc comment
2020-11-10 14:14:27 +00:00
Geoffrey White
be537a8021
C++: Move ThrowExpr, ReThrowExpr definitions to a more logical location.
2020-11-10 14:06:58 +00:00
Nick Rolfe
1e1eb7ee33
Replace getEncodedFile with shared getFileBySourceArchiveName predicate
...
While also making it work with paths for databases created on Windows.
2020-11-10 13:55:27 +00:00
Geoffrey White
2beb7824ec
C++: Backticks.
2020-11-10 13:35:05 +00:00
Geoffrey White
599034668f
C++: Fix typo.
2020-11-10 13:32:31 +00:00
Geoffrey White
f109e8ccbc
C++: Remove duplicate import.
2020-11-10 13:31:47 +00:00
Geoffrey White
c4fe8df04c
C++: Support data flow from parameter deref to return value.
2020-11-10 13:17:34 +00:00
Geoffrey White
4563e32e92
C++: Remove data flows we shouldn't need in MemberFunction.
2020-11-10 13:17:24 +00:00
Anders Schack-Mulligen
89ef6ea4eb
C++/C#/Java/JavaScript/Python: Autoformat set literals.
2020-11-10 13:32:27 +01:00
Alvaro Muñoz
02cf49a773
apply codeql formatting
2020-11-10 11:46:42 +01:00
Rasmus Lerchedahl Petersen
109d55eb25
Python: Make ParameterNode a CfgNode
...
Add a step from that `CfgNode` to the corresponding `EssaNode`.
The intended effect is seen in `ImpliesDataflow.expected`.
The efeect seen in other `.expected`-files is that parameter nodes
change type, that the extra steps are seen, and that flow from
`EssaVar`s is mirrored in flow from `CfgNode`s.
There is one surprise, which is the `.0` node in
`coverage/localFlow.expected`.
2020-11-10 11:35:50 +01:00
Alvaro Muñoz
24a47fbb0f
additional qldoc commentes
2020-11-10 10:48:47 +01:00
Alvaro Muñoz
3545edb92c
address code review suggestions
2020-11-10 10:45:14 +01:00
Tom Hvitved
697b0ba4c1
C#: Address review comments
2020-11-10 10:42:05 +01:00
Erik Krogh Kristensen
ae7c7607f1
fix typos in documentation strings
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2020-11-10 10:41:39 +01:00
Erik Krogh Kristensen
b5b4d6d62a
add change note
2020-11-10 10:41:39 +01:00
Erik Krogh Kristensen
5ecae55e77
add keys used by jsonwebtoken as CredentialsExpr
2020-11-10 10:41:39 +01:00
Erik Krogh Kristensen
e75259d3a6
model the verify function in jsonwebtoken
2020-11-10 10:41:39 +01:00
Erik Krogh Kristensen
6732493377
add model for jwt-decode
2020-11-10 10:41:36 +01:00
yoff
26286e534e
Merge pull request #4174 from yoff/SharedDataflow_PointsToImpliesDataflow
...
Python: Dataflow, Test that `pointsTo` implies data flow
merging now, will fix `self` in a later PR
2020-11-10 10:25:29 +01:00
Robert Marsh
c00587d2cb
C++/C#: Conflated memory as IR dump annotation
...
Removes the IR consistency checks for conflated memory and marks
instructions that have a conflated result with a percent sign (%)
instead. This avoids reimplementing part of the alias analysis logic
in the consistency check.
2020-11-09 14:55:47 -08:00
Porcupiney Hairs
38de9b6433
add request forgery query
2020-11-10 01:19:35 +05:30
CodeQL CI
1e048d8045
Merge pull request #4609 from asgerf/js/destructuring-export
...
Approved by erik-krogh
2020-11-09 15:47:00 +00:00
luchua-bc
bc899b6337
Move common code to a library and add more test cases
2020-11-09 14:14:54 +00:00
luchua-bc
b10552aa2e
Specify exported Android components for local Android DoS
2020-11-09 14:10:01 +00:00
luchua-bc
76a0db84ee
Query for detecting Local Android DoS caused by NFE
2020-11-09 14:10:00 +00:00
Anders Schack-Mulligen
31ec79819e
Merge pull request #4631 from luchua-bc/java-nfe-library
...
Java: Factor NumberFormatException out into a library file
2020-11-09 13:50:31 +01:00
yoff
3215f50b73
Merge pull request #4632 from RasmusWL/python-move-configurations-out-of-queries
...
Python: move configurations out of queries
2020-11-09 13:10:33 +01:00
luchua-bc
a83f9ced96
Change the query to only catch the common exception rethrown case
2020-11-09 12:07:43 +00:00
luchua-bc
d765c7bbb2
Update qldoc
2020-11-09 11:23:48 +00:00
Asger Feldthaus
32c5bc4836
JS: Update test case output (new flow is correct)
2020-11-09 11:19:47 +00:00
Mathias Vorreiter Pedersen
25ba6ca160
Merge pull request #4637 from jbj/temp-objects-perf-fixup
...
C++: pragma[noinline] parameter index predicates
2020-11-09 10:12:50 +01:00
Mathias Vorreiter Pedersen
3c2fb5a93f
Merge branch 'main' into interleave-op-instr-field-flow
2020-11-09 09:58:19 +01:00
Rasmus Wriedt Larsen
fbe51c51bb
Python: Add missing QLDoc
2020-11-09 09:05:08 +01:00
Jonas Jensen
b8b1f0c617
C++: pragma[noinline] parameter index predicates
...
A performance regression in `definitionByReferenceNodeFromArgument#ff`
was ultimately caused by a join on parameter indexes in
`DefinitionByReferenceNode.getArgument`. Joining on numbers in QL is
always fragile, and somehow the changes in #4432 had caused the join
order here to break.
Instead of tweaking the join order in the slow predicate itself, I added
`pragma[noinline]` to one of the predicates involved in the join on
parameter indexes. This should prevent us from getting similar
performance problems in the future when we write code that joins on
parameter numbers. Joining on indexes is always risky, but it's even
more risky when one of the predicates in the join is inlined by the
compiler and expands to further joins.
I tested performance by running `CgiXss.ql` on a ChakraCore snapshot.
Tuple counts before (I interrupted execution after five minutes or so):
(626s) Tuple counts for DataFlowUtil::definitionByReferenceNodeFromArgument#ff:
58162 ~0% {3} r1 = SCAN DataFlowUtil::DefinitionByReferenceNode#class#ff AS I OUTPUT I.<1>, -1, I.<0>
26934 ~0% {2} r2 = JOIN r1 WITH Instruction::IndexedInstruction#ff AS R ON FIRST 2 OUTPUT r1.<0>, r1.<2>
26934 ~1% {2} r3 = JOIN r2 WITH Instruction::SideEffectInstruction::getPrimaryInstruction_dispred#3#ff AS R ON FIRST 1 OUTPUT R.<1>, r2.<1>
26850 ~1% {2} r4 = JOIN r3 WITH Instruction::CallInstruction::getThisArgumentOperand_dispred#ff AS R ON FIRST 1 OUTPUT R.<1>, r3.<1>
26850 ~0% {2} r5 = JOIN r4 WITH Operand::Operand::getDef_dispred#3#ff AS R ON FIRST 1 OUTPUT R.<1>, r4.<1>
26850 ~1% {2} r6 = JOIN r5 WITH Instruction::Instruction::getUnconvertedResultExpression_dispred#ff AS R ON FIRST 1 OUTPUT R.<1>, r5.<1>
58162 ~0% {2} r7 = SCAN DataFlowUtil::DefinitionByReferenceNode#class#ff AS I OUTPUT I.<1>, I.<0>
58162 ~4% {3} r8 = JOIN r7 WITH Instruction::IndexedInstruction#ff AS R ON FIRST 1 OUTPUT R.<1>, r7.<1>, r7.<0>
4026581120 ~0% {4} r9 = JOIN r8 WITH Instruction::CallInstruction::getPositionalArgumentOperand_dispred#fff_102#join_rhs AS R ON FIRST 1 OUTPUT r8.<2>, R.<1>, r8.<1>, R.<2>
31154 ~4% {2} r10 = JOIN r9 WITH Instruction::SideEffectInstruction::getPrimaryInstruction_dispred#3#ff AS R ON FIRST 2 OUTPUT r9.<3>, r9.<2>
31154 ~8% {2} r11 = JOIN r10 WITH Operand::Operand::getDef_dispred#3#ff AS R ON FIRST 1 OUTPUT R.<1>, r10.<1>
31154 ~0% {2} r12 = JOIN r11 WITH Instruction::Instruction::getUnconvertedResultExpression_dispred#ff AS R ON FIRST 1 OUTPUT R.<1>, r11.<1>
58004 ~0% {2} r13 = r6 \/ r12
return r13
Tuple counts after:
(0s) Tuple counts for DataFlowUtil::definitionByReferenceNodeFromArgument#ff:
385785 ~6% {2} r1 = SCAN DataFlowUtil::DefinitionByReferenceNode#class#ff AS I OUTPUT I.<1>, I.<0>
385785 ~0% {3} r2 = JOIN r1 WITH Instruction::IndexedInstruction#ff AS R ON FIRST 1 OUTPUT r1.<0>, r1.<1>, R.<1>
385785 ~1% {3} r3 = JOIN r2 WITH Instruction::SideEffectInstruction::getPrimaryInstruction_dispred#3#ff AS R ON FIRST 1 OUTPUT R.<1>, r2.<2>, r2.<1>
198736 ~4% {2} r4 = JOIN r3 WITH Instruction::CallInstruction::getPositionalArgument#fff AS R ON FIRST 2 OUTPUT R.<2>, r3.<2>
198736 ~0% {2} r5 = JOIN r4 WITH Instruction::Instruction::getUnconvertedResultExpression_dispred#ff AS R ON FIRST 1 OUTPUT R.<1>, r4.<1>
385785 ~1% {3} r6 = SCAN DataFlowUtil::DefinitionByReferenceNode#class#ff AS I OUTPUT I.<1>, -1, I.<0>
186891 ~1% {2} r7 = JOIN r6 WITH Instruction::IndexedInstruction#ff AS R ON FIRST 2 OUTPUT r6.<0>, r6.<2>
186891 ~2% {2} r8 = JOIN r7 WITH Instruction::SideEffectInstruction::getPrimaryInstruction_dispred#3#ff AS R ON FIRST 1 OUTPUT R.<1>, r7.<1>
183201 ~3% {2} r9 = JOIN r8 WITH Instruction::CallInstruction::getThisArgumentOperand_dispred#ff AS R ON FIRST 1 OUTPUT R.<1>, r8.<1>
183201 ~0% {2} r10 = JOIN r9 WITH Operand::Operand::getDef_dispred#3#ff AS R ON FIRST 1 OUTPUT R.<1>, r9.<1>
175449 ~8% {2} r11 = JOIN r10 WITH Instruction::Instruction::getUnconvertedResultExpression_dispred#ff AS R ON FIRST 1 OUTPUT R.<1>, r10.<1>
374185 ~3% {2} r12 = r5 \/ r11
return r12
2020-11-09 09:01:22 +01:00
Rasmus Wriedt Larsen
ed0e4f8425
Python: reasoning about => detecting
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2020-11-09 09:01:04 +01:00
Erik Krogh Kristensen
3ef5d89e39
update expected output
2020-11-08 23:27:38 +01:00
Erik Krogh Kristensen
17a687b344
testing many possible intersections, instead of a single intersection
2020-11-08 23:24:36 +01:00
Erik Krogh Kristensen
34fd0d89f5
finding the minimum that is not an FP - instead of finding the minimum and then checking if it was an FP. And detecting more FPs by finding when a witness pass through the accept state
2020-11-08 23:24:27 +01:00
Erik Krogh Kristensen
ac514b1739
remove false positives where the analysis would wrongly conclude that the accept state could not be reached
2020-11-08 23:24:03 +01:00
Erik Krogh Kristensen
5f199e8b1a
improve performance by removing bindingset[char]
2020-11-08 23:24:03 +01:00
Erik Krogh Kristensen
d038e9c658
small performance improvements
2020-11-08 23:24:03 +01:00
Erik Krogh Kristensen
a5e75f53ff
add support for escape char classes inside char classes
2020-11-08 23:22:49 +01:00
Erik Krogh Kristensen
0063cb140c
add support for \W, \S, \D
2020-11-08 23:16:56 +01:00
Erik Krogh Kristensen
2dd8b6ffef
support \f and \v in the \s class
2020-11-08 23:16:56 +01:00
Erik Krogh Kristensen
68fe03060d
support \d \s and \w in ReDoS.ql
2020-11-08 23:16:56 +01:00
Erik Krogh Kristensen
fa54ad1a5e
refactor character class implementation in ReDoS.ql - preparing support for RegExpCharacterClassEscape
2020-11-08 23:16:55 +01:00
Erik Krogh Kristensen
a09ffd5cda
expand getAOverlapBetweenCharacterClasses to support overlap between more char classes
2020-11-08 23:16:37 +01:00
Erik Krogh Kristensen
4ede04f4d1
improve performance by pruning based on shared root
2020-11-08 23:16:37 +01:00
Erik Krogh Kristensen
82252c0f1c
detect redos between charclass and inverted charclass
2020-11-08 23:16:34 +01:00
Taus
a9149b7e47
Python: Update python/ql/src/semmle/python/dataflow/new/internal/DataFlowPrivate.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2020-11-06 17:15:58 +01:00
Taus Brock-Nannestad
5a9cc0861c
Merge branch 'main' into python-add-source-nodes
2020-11-06 17:12:41 +01:00
Geoffrey White
62a8427d37
C++: Change note.
2020-11-06 15:55:31 +00:00
Geoffrey White
74a4f5887b
C++: Remove implementation import from printf.qll.
2020-11-06 15:44:11 +00:00
Geoffrey White
e065466180
C++: Give Snprintf a proper interface.
2020-11-06 15:38:57 +00:00
luchua-bc
d568eb635f
Update qldoc
2020-11-06 15:33:26 +00:00
Geoffrey White
0790fb6324
Update cpp/change-notes/2020-11-02-unused-local-variable.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2020-11-06 14:42:48 +00:00
yoff
45317bcec9
Update python/ql/test/library-tests/PointsTo/new/code/w_function_values.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-11-06 15:03:20 +01:00
Rasmus Wriedt Larsen
9ebe59d393
Python: Move UnsafeDeserialization configuration to own file
2020-11-06 14:27:37 +01:00
luchua-bc
450ff26694
Convert the query to a library
2020-11-06 13:25:00 +00:00
Rasmus Wriedt Larsen
d38c48d2c8
Python: Move ReflectedXSS configuration to own file
2020-11-06 14:24:31 +01:00
Rasmus Wriedt Larsen
1897a0d59a
Python: Move PathInjection configuration to own file
...
This one required a bit more thought, but ended up pretty nicely. Had to write
some QLDoc, but I think it turned out OK.
2020-11-06 14:21:23 +01:00
Rasmus Wriedt Larsen
0c6bd8401a
Python: Move SqlInjection configuration to own file
2020-11-06 14:09:46 +01:00
Rasmus Wriedt Larsen
6299b73a46
Python: Move CommandInjection configuration to own file
2020-11-06 14:07:06 +01:00
Rasmus Wriedt Larsen
7c04c59456
Python: Move CodeInjection configuration to own file
...
This makes it easy to extend the sources/sinks of the configuration and re-run
the query from the query console on LGTM.com.
File location in `semmle.<lang>.security.dataflow.<QueryName>.qll` is matching
what we currently do in other languages (JS and C# sampled).
I did not follow the pattern in other languages for wrapping all the code in a
`module CodeInjection`, since I didn't understand the value in doing so -- I
would like confirmation from the other teams if we _should_ actually do that,
before merging.
2020-11-06 13:58:06 +01:00
Rasmus Lerchedahl Petersen
fe186bf854
Python: Add test
2020-11-06 13:30:11 +01:00
Alvaro Muñoz
9db340c9ca
add some improvements to the bean validation query
2020-11-06 13:08:45 +01:00
Asger Feldthaus
acb30e73bc
JS: More precise handling of default import fallback
2020-11-06 12:04:41 +00:00
Rasmus Lerchedahl Petersen
64b9e9150e
Python: only show results in extracted files
2020-11-06 12:01:16 +01:00
Erik Krogh Kristensen
16473fc2a4
matching a inverted char class with a char
2020-11-06 10:18:57 +01:00
Erik Krogh Kristensen
804aaf36f0
support inverted char class and dot
2020-11-06 10:18:57 +01:00
Erik Krogh Kristensen
64d680e2d3
support that an inverted char class can intersect with itself
2020-11-06 10:18:57 +01:00
Erik Krogh Kristensen
321cf09bd8
add redos support for the simplest possible inverted char class
2020-11-06 10:18:57 +01:00
Erik Krogh Kristensen
d04f3df1cd
remove rendundant check
2020-11-06 10:18:57 +01:00
Asger Feldthaus
1e45bc75c4
JS: Add change note in new format
2020-11-06 09:14:03 +00:00
Asger Feldthaus
24714c41be
JS: Update test output after rebase
2020-11-06 09:14:03 +00:00
Asger Feldthaus
9e25bbc4ed
JS: Add support for moment-timezone as well
2020-11-06 09:13:52 +00:00
Asger Feldthaus
7bf21d80b2
JS: Shift line numbers in test file
2020-11-06 09:13:52 +00:00
Asger Feldthaus
9418c6c8fe
JS: Add support for dateformat package
2020-11-06 09:13:52 +00:00
CodeQL CI
9f2eb84f2b
Merge pull request #4624 from erik-krogh/concatFix
...
Approved by asgerf
2020-11-06 09:11:41 +00:00
Asger Feldthaus
39c8226fba
JS: Autoformat
2020-11-06 09:06:20 +00:00
Asger Feldthaus
790526b529
JS: Some fixes and address review comments
2020-11-06 09:06:20 +00:00
Asger Feldthaus
8a3fba05e9
JS: Add steps through date-formatting functions
2020-11-06 09:06:18 +00:00
Anders Schack-Mulligen
cb77e460ae
Merge pull request #4600 from porcupineyhairs/urirefactor
...
Java : Refactor all instances of `java.net.URI` into TypeUri
2020-11-06 09:35:09 +01:00
Asger Feldthaus
d07e69e529
JS: Improve handling of destructuring export declaration
2020-11-05 23:51:44 +00:00
CodeQL CI
a908e5938e
Merge pull request #4574 from erik-krogh/jsdom
...
Approved by asgerf
2020-11-05 22:13:39 +00:00
Erik Krogh Kristensen
9137759d7c
calculate the size of the concatenation before doing the actual concatenation in Expr.qll
2020-11-05 22:55:52 +01:00
Tom Hvitved
a3894be1c5
Merge pull request #4607 from hvitved/csharp/msbuild-mono-no-shared-compilation
...
C#: Disable shared compilation when building with Mono+MSBuild
2020-11-05 19:56:25 +01:00
Geoffrey White
c9f846e0d2
C++: Give Iterator a proper interface.
2020-11-05 16:43:50 +00:00
Geoffrey White
b5326b3937
C++: Give OperatorNewAllocationFunction, OperatorDeleteAllocationFunction proper interfaces.
2020-11-05 16:43:49 +00:00
Geoffrey White
7f54379a0c
C++: Make more function models private (except a few that are used outside the library).
2020-11-05 16:43:42 +00:00
Taus Brock-Nannestad
7c58b28e36
Python: Write DataFlow::update more succinctly
...
This has no impact on performance, but it cleans up the code a bit,
and (hopefully) makes it more readable.
2020-11-05 16:47:41 +01:00
Taus Brock-Nannestad
bae4acabb1
Python: Fix bad join in StrConst::isUnicode
...
Also fixes a bug ("`B`" was not recognised as a bytestring prefix).
The basic idea behind this fix is that the set of possible prefixes is
fairly small, so it's easier just to precompute them, and then join
them with the entire prefix of the string in question (rather than
look at each string in isolation, get its prefix, and _then_ check
whether it looks like it's a unicode string prefix, which essentially
is what the code did before).
2020-11-05 16:45:27 +01:00
Taus Brock-Nannestad
1251bc57f5
Python: Fix bad join in TObject::literal_instantiation
...
Here, `context.appliesTo(n)` was being distributed across all of the
disjuncts, which caused poor performance.
The new helper predicate, `literal_node_class` should be fairly small,
since it only applies to a subset of `ControlFlowNode`s, and only
assigns a limited set of `ClassObjectInternal`s to these nodes.
2020-11-05 16:40:29 +01:00
Taus Brock-Nannestad
35a63e2411
Python: Fix bad join in regex::used_as_regex
...
Since the number of relevant attributes in the `re` module is fairly
small, it made sense to factor this out in a separate predicate, and
the join order also became more sensible.
2020-11-05 16:33:59 +01:00
Taus Brock-Nannestad
035e747ad5
Python: Fix slow use of regexCapture in Builtin::strValue
...
This is only _really_ expensive when there are a _lot_ of strings in
the database, but for this case, where we're always extracting the
same substring of the string, it's easier -- and faster -- to just
make a substring operation directly.
2020-11-05 16:33:33 +01:00
Taus Brock-Nannestad
83ba8c9bf5
Python: Add LocalSourceNode and flowsTo
...
This fixes the major performance problem with type tracking on
some (pathological) databases.
The interface could probably be improved a bit. In particular, I'm
thinking that we might want to have `DataFlow::exprNode` return a
`LocalSourceNode` so that a cast isn't necessary in order to use
`flowsTo`.
I have added two `cached` annotations. The one on `flowsTo` is
crucial, as performance regresses without it. The one on
`simpleLocalFlowStep` may not be needed, but Java has a similar
annotation, and to me it makes sense to have this relation cached.
2020-11-05 16:26:03 +01:00
Erik Krogh Kristensen
e124ba66b4
moving jsdom sink to js/xss
2020-11-05 16:10:33 +01:00
Tom Hvitved
10ab3304c1
Merge pull request #4575 from hvitved/csharp/cfg/post-dominance
...
C#: Restrict post-dominance to normal execution
2020-11-05 15:31:13 +01:00
Anders Schack-Mulligen
45d117b68e
Merge pull request #4603 from pwntester/new_deser_sink
...
New UnsafeDeserialization sink and improvements to SnakeYaml sink
2020-11-05 13:09:15 +01:00
Rasmus Lerchedahl Petersen
6cecd3ba83
Python: Move and rename query
2020-11-05 11:49:39 +01:00
Alvaro Muñoz
f103955f38
change qldoc formating according to LSP suggestion
2020-11-05 11:48:26 +01:00
CodeQL CI
89a808cafe
Merge pull request #4552 from erik-krogh/tsImport
...
Approved by asgerf
2020-11-05 09:23:58 +00:00
CodeQL CI
b55f18bffd
Merge pull request #4549 from erik-krogh/pruneReturn
...
Approved by asgerf
2020-11-05 09:13:21 +00:00
CodeQL CI
c85f817cee
Merge pull request #4579 from erik-krogh/redos
...
Approved by asgerf
2020-11-05 08:38:44 +00:00
Robert Marsh
2f204869e7
Merge pull request #4604 from criemen/ir-block-sort-order
...
C++, C# IR: Stabilize sort order for basic blocks.
2020-11-04 18:22:23 -05:00
Erik Krogh Kristensen
342b6a4f2d
Update javascript/ql/src/semmle/javascript/security/performance/SuperlinearBackTracking.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2020-11-04 22:37:56 +01:00
Tom Hvitved
1ba9e29a40
C#: Precise data flow for EntityFramework(Core)
2020-11-04 19:48:03 +01:00
Alvaro Muñoz
302062b670
Merge branch 'new_deser_sink' of https://github.com/pwntester/ql into new_deser_sink
2020-11-04 18:58:57 +01:00
Alvaro Muñoz
6fef63306e
add qldoc
2020-11-04 18:58:41 +01:00
Erik Krogh Kristensen
e16fa0668a
update expected output
2020-11-04 18:24:31 +01:00
Asger Feldthaus
5eb3067f58
JS: Add test case
2020-11-04 16:50:23 +00:00
Geoffrey White
48628fa195
Merge pull request #4589 from criemen/model-vector-emplace
...
C++: Model std::vector emplace and emplace_back()
2020-11-04 16:09:31 +00:00
Tom Hvitved
b5063bbcb5
Merge pull request #4495 from hvitved/csharp/dataflow/summaries
...
C#: Shared interface/implementation for flow summaries
2020-11-04 17:02:19 +01:00
Cornelius Riemenschneider
78d885ee7d
C++: Accept test output.
2020-11-04 16:45:07 +01:00
Cornelius Riemenschneider
44d6584fa2
C++, C#: Auto-format.
2020-11-04 16:26:56 +01:00
Cornelius Riemenschneider
a13947424a
C++, C# IR: Stabilize sort order for basic blocks.
2020-11-04 16:26:56 +01:00
Cornelius Riemenschneider
e7e5754270
C++: Add taint model for std::vector::emplace/_back.
2020-11-04 16:20:01 +01:00
Erik Krogh Kristensen
03c46c9be0
autoformat
2020-11-04 16:18:24 +01:00
yoff
79fcf598f3
Merge pull request #4608 from RasmusWL/patch-1
...
Python: Remove unnecessary cached annotation from adjacentRefUse
2020-11-04 16:08:30 +01:00
Cornelius Riemenschneider
62a02cde73
C++: Add test to show missing taint steps for std::vector::emplace/_back
2020-11-04 16:07:15 +01:00
Cornelius Riemenschneider
081ab1e2bb
C++: Add std::vector::emplace/_back to our STL model.
2020-11-04 16:07:08 +01:00
Rasmus Lerchedahl Petersen
38b2bb2828
Python: Add testfile with regressions
2020-11-04 15:55:59 +01:00
Ian Lynagh
6ff939db5c
Merge pull request #4432 from dbartol/dbartol/temporaries/work
...
C++: Represent temporary object initialization in AST and IR
2020-11-04 14:38:45 +00:00
Rasmus Lerchedahl Petersen
6df3b8d524
Python: Update query and expectation
2020-11-04 15:17:38 +01:00
Rasmus Wriedt Larsen
31247739d7
Python: Remove unnecessary cached annotation from adjacentRefUse
...
As discussed in https://github.com/github/codeql/pull/4544#pullrequestreview-516575676
2020-11-04 15:16:08 +01:00
Rasmus Lerchedahl Petersen
9baa7b73da
Merge branch 'main' of github.com:github/codeql into SharedDataflow_PointsToImpliesDataflow
2020-11-04 15:05:59 +01:00
yoff
62cb4ec974
Merge pull request #4605 from RasmusWL/python-fix-django-response-modeling
...
Python: fix django response modeling
2020-11-04 15:00:52 +01:00
Tom Hvitved
131a05563a
C#: Disable shared compilation when building with Mono+MSBuild
2020-11-04 14:16:25 +01:00
Porcupiney Hairs
0a028dcb47
Java : Refactor all instances of java.net.URI into TypeUri
2020-11-04 18:23:26 +05:30
Rasmus Wriedt Larsen
5cf8285717
Python: Fix default mimetype for django FileResponse
2020-11-04 12:28:51 +01:00
Rasmus Wriedt Larsen
826aedeb85
Python: Remove resolved TODO
2020-11-04 12:17:31 +01:00
Rasmus Wriedt Larsen
353505ec6c
Python: Handle content of Django redirects correctly
2020-11-04 12:10:58 +01:00
Taus
180373c41d
Merge pull request #4597 from yoff/python-fix-ql-doc
...
Python: Fix ql doc
2020-11-04 11:37:32 +01:00
Rasmus Wriedt Larsen
92dc7dc2f3
Python: Use mimetype instead of content-type in django modeling
...
This enables the XSS query to actually find results from django responses.
2020-11-04 11:34:20 +01:00
Alvaro Muñoz
aa7b87aa33
Update java/change-notes/2020-11-04-commonslang-unsafe-deserialization-sinks.md
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2020-11-04 10:58:27 +01:00
Alvaro Muñoz
b284141a16
Merge branch 'new_deser_sink' of https://github.com/pwntester/ql into new_deser_sink
2020-11-04 10:51:07 +01:00
Alvaro Muñoz
436563d914
ChangeNote for new unsafe deserialization sinks
2020-11-04 10:50:50 +01:00
Anders Schack-Mulligen
22b4df0f3c
Merge pull request #4512 from luchua-bc/sensitive-broadcast
...
Java: Sensitive broadcast
2020-11-04 10:47:48 +01:00
Alvaro Muñoz
6f78b725e6
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2020-11-04 10:43:37 +01:00
Anders Schack-Mulligen
26495225e0
Update java/ql/src/experimental/Security/CWE/CWE-927/SensitiveBroadcast.qhelp
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2020-11-04 10:05:55 +01:00
luchua-bc
3f0cdb6a1a
Update qldoc and comments
2020-11-03 19:40:28 +00:00
Tom Hvitved
c5abf29dfc
C#: Update flow-summary test
2020-11-03 20:28:42 +01:00
Dave Bartolomeo
4cc9110dbd
Fix test expectation
2020-11-03 13:39:33 -05:00
Dave Bartolomeo
f0b9794907
Merge remote-tracking branch 'upstream/main' into work
2020-11-03 11:33:44 -05:00
luchua-bc
fa54c23a83
Handle the edge case that an exception is rethrown in a catch clause
2020-11-03 16:31:12 +00:00
Anders Schack-Mulligen
92494441a7
Merge pull request #4554 from aschackmull/dataflow/reverse-partial
...
Dataflow: Add support reverse partial flow exploration.
2020-11-03 15:34:30 +01:00
Tom Hvitved
438b8dd273
C#: Fix typos
2020-11-03 14:57:07 +01:00
Erik Krogh Kristensen
b02004430c
prune results that end with newline, where the input cannot contain newlines
2020-11-03 14:48:39 +01:00
Erik Krogh Kristensen
120faf9d1a
add a code injection sink for JSDOM when "runScripts" is set to "dangerously"
2020-11-03 14:29:00 +01:00
Tom Hvitved
f4d1d73bcd
C#: Shared interface/implementation for flow summaries
2020-11-03 13:47:28 +01:00
luchua-bc
f8fd2ea821
Add qldoc and autoformat query
2020-11-03 12:23:40 +00:00
Rasmus Lerchedahl Petersen
1023b239e4
Python: Simplify doc
2020-11-03 12:10:00 +01:00
yoff
d6a33a1253
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-11-03 12:04:43 +01:00
Rasmus Lerchedahl Petersen
b71ea40dbd
Python: QL doc for Werkzeug
2020-11-03 11:44:48 +01:00
Rasmus Lerchedahl Petersen
1773cc3a38
Python: QL doc for MySQLdb
2020-11-03 11:39:28 +01:00
Rasmus Lerchedahl Petersen
01783acca6
Python: QL doc for RemoteFlowSources
2020-11-03 11:37:34 +01:00
Rasmus Lerchedahl Petersen
f44cbf4b6c
Python: QL doc for TypeTracker
2020-11-03 11:32:57 +01:00
Rasmus Lerchedahl Petersen
50eb51b6fe
Python: QL doc for StepSummary
2020-11-03 11:30:52 +01:00
Rasmus Lerchedahl Petersen
6103dbcfff
Python: QL doc for Node
2020-11-03 11:13:58 +01:00
Rasmus Lerchedahl Petersen
2bb1917733
Python: QlDoc for content
2020-11-03 11:10:33 +01:00
Rasmus Wriedt Larsen
c04e96453d
Update ::Range part of CodeQL design patterns
...
Co-authored-by: Pavel Avgustinov <54942558+p0@users.noreply.github.com >
2020-11-03 11:07:11 +01:00
Anders Schack-Mulligen
2971784f9c
Dataflow: Add missing qldoc and sync.
2020-11-03 09:21:48 +01:00
Anders Schack-Mulligen
7eb64aa998
Dataflow: Code review fixes.
2020-11-03 09:16:20 +01:00
Anders Schack-Mulligen
1ae76a80aa
Dataflow: Fix qldoc.
2020-11-03 09:16:20 +01:00
Anders Schack-Mulligen
d5be4d7b92
Dataflow: Add support reverse partial flow exploration.
2020-11-03 09:16:19 +01:00
Dave Bartolomeo
0d1fbd1bdc
Fix annotations
2020-11-02 18:03:40 -05:00
Dave Bartolomeo
e9d1f0dacf
Merge remote-tracking branch 'upstream/main' into work
2020-11-02 17:31:15 -05:00
Robert Marsh
0e4d69709f
C++/C#: autoformat
2020-11-02 14:00:53 -08:00
Robert Marsh
f917cf826f
C++: accept test output
2020-11-02 13:59:23 -08:00
Erik Krogh Kristensen
e6e4a485c8
add JSDOM.fromUrl() as a request forgery sink
2020-11-02 17:05:56 +01:00
Geoffrey White
6629696e8a
C++: Change note.
2020-11-02 15:46:38 +00:00
Geoffrey White
e9bde9b711
C++: Work around issue with ConditionalDeclExpr.
2020-11-02 15:46:38 +00:00
Geoffrey White
79bda0055c
C++: Work around issue with 'Unknown literal'.
2020-11-02 15:46:36 +00:00
luchua-bc
6a8ce37428
Add query for initCause and addSuppressed
2020-11-02 11:59:14 +00:00
Geoffrey White
35f4646ee0
C++: Add test cases for UnusedLocals.
2020-11-02 10:40:42 +00:00
luchua-bc
78d7fe2fbb
Detect rethrowing unprocessed exceptions in catch clause
2020-11-01 02:13:50 +00:00
luchua-bc
c89ebeeb5e
Text changes
2020-11-01 00:39:00 +00:00
Dave Bartolomeo
69dee154f3
Fix PR feedback
2020-10-31 09:03:51 -04:00
luchua-bc
756db4c03a
Simplify the query and add more test cases
2020-10-31 01:33:24 +00:00
luchua-bc
67af9b0f3e
Add comments and update JavaDocs of GenericServlet using the source JAR
2020-10-30 17:05:53 +00:00
Dave Bartolomeo
be180aac25
Fixup after merge
2020-10-30 12:52:58 -04:00
luchua-bc
93d1393ded
Add error-page check
2020-10-30 16:45:56 +00:00
Dave Bartolomeo
ec398b2a67
Merge remote-tracking branch 'upstream/main' into work
2020-10-30 12:36:33 -04:00
Dave Bartolomeo
42373417e2
Merge from main
2020-10-30 12:02:56 -04:00
Mathias Vorreiter Pedersen
177f94368e
C++: Respond to review comments and accept test changes.
2020-10-30 15:59:39 +01:00
Erik Krogh Kristensen
39028f62a3
add test for outDir
2020-10-30 10:37:10 +01:00
Erik Krogh Kristensen
ebc4856456
detect more expensive regexps in js/polynomial-redos
2020-10-30 09:52:13 +01:00
Tom Hvitved
6723e5b31c
C#: Restrict post-dominance to normal execution
2020-10-30 09:14:12 +01:00
Tom Hvitved
ade8ff9593
C#: Add more CFG tests
2020-10-30 09:14:12 +01:00
Robert Marsh
7e8770d731
C#: Remove reference to InitializeNonLocal in IR
2020-10-29 16:08:23 -07:00
Robert Marsh
5dfe04a7a7
C++: Respond to PR comments
2020-10-29 16:00:08 -07:00
luchua-bc
5a6339c1af
Remove userid from the regex
2020-10-29 15:46:05 +00:00
luchua-bc
90d11812be
Update the regex to be the original one
2020-10-29 13:04:15 +00:00
Mathias Vorreiter Pedersen
f3f9a044e0
C++: Accept more tests.
2020-10-29 13:55:45 +01:00
Mathias Vorreiter Pedersen
835d3fc2b7
C++: Accept tests
2020-10-29 09:27:03 +01:00
Mathias Vorreiter Pedersen
43a231f0a5
C++: Store steps now go from operands to instructions, and read steps now go from instructions and operands. There are a couple of read steps that still target instructions because I couldn't decide on an operand to target.
2020-10-29 09:26:51 +01:00
Dave Bartolomeo
c49e33f9cd
Fixup after merge
2020-10-28 16:59:13 -04:00
luchua-bc
908d659906
Minor updates
2020-10-28 20:23:22 +00:00
Dave Bartolomeo
7a2c59c194
Merge from main
2020-10-28 15:35:46 -04:00
Dave Bartolomeo
5a6cd4aca9
Fix test expectations for new nodes and edges in path queries
2020-10-28 14:47:42 -04:00
Alvaro Muñoz
a57308a519
Fix SnakeYaml query to account for Yaml subclasses and compose methods
2020-10-28 14:52:14 +01:00
Alvaro Muñoz
c28856d3dc
remove wicket taintstep from TaintTrackingUtil
2020-10-28 14:51:44 +01:00
luchua-bc
99c79f4aa3
Enhance the dataflow sink and update test cases
2020-10-28 03:07:01 +00:00
Robert Marsh
7d7b0eaa7b
C++: accept test changes
...
The conflation-related changes result from aliased accesses for which a
precise Phi node is generated.
2020-10-27 09:33:28 -07:00
Alvaro Muñoz
a4a91eb1d2
new deserialization sink
2020-10-27 14:24:17 +01:00
Erik Krogh Kristensen
33465dbe6b
refactor parameterPropRead and reachesReturn to get a slight performance improvement
2020-10-26 16:49:49 +01:00
luchua-bc
07830aae05
Fix typo
2020-10-25 22:34:15 +00:00
Erik Krogh Kristensen
0b41a59dbf
add support for imports into "outDir" from tsconfig.json
2020-10-25 22:51:21 +01:00
luchua-bc
d9c140dc6c
Enhance the query to use sanitizer and null/empty array flow
2020-10-25 15:33:09 +00:00
Dave Bartolomeo
3fce971f2d
Fix taint propagation to qualifier objects and update test expectations
2020-10-23 17:48:37 -04:00
Dave Bartolomeo
86668058dc
Avoid ODR violation in test code
2020-10-23 17:45:01 -04:00
Dave Bartolomeo
4d2f658ece
Don't treat allocator argument as a string input
2020-10-23 17:44:07 -04:00
Dave Bartolomeo
1e96404ee0
Revert bad changes to basic_string
2020-10-23 13:46:27 -04:00
Dave Bartolomeo
35abcae5d3
Fix formatting
2020-10-23 13:43:29 -04:00
Dave Bartolomeo
bace0dca6d
Handle more cases that require synthesizing temporary objects
...
- Parens around qualifier expressions
- Inheritance conversions involving class prvalues
2020-10-23 12:04:09 -04:00
toufik-airane
7d2741a287
Add newline
2020-10-23 17:42:55 +02:00
toufik-airane
3ccdc2c518
Update ElectronShellOpenExternalSink location
...
Move the class ElectronShellOpenExternalSink to
ClientSideUrlRedirect.qll. It's been to be a more appropriate location.
2020-10-23 17:39:03 +02:00
toufik-airane
e87790b828
Add ElectronShellOpenExternalSink class
...
Add ElectronShellOpenExternalSink class to detect untrusted input
interpreted by `openExternal` function call in `electron` module.
Based on the #14 Electron Security checklist:
https://www.electronjs.org/docs/tutorial/security#14-do-not-use-openexternal-with-untrusted-content
2020-10-23 15:41:03 +02:00
Dave Bartolomeo
99072483b8
Fix PR feedback
2020-10-22 12:55:40 -04:00
Dave Bartolomeo
b62bda6c3a
Fix regression due to primary instructions for side effects not being computed correctly in the presence of synthetic temporary objects.
2020-10-22 12:55:30 -04:00
Dave Bartolomeo
f7eeadadd9
Accept more diffs
2020-10-21 18:37:49 -04:00
Dave Bartolomeo
1de1ab65b7
Merge remote-tracking branch 'upstream/main' into work
2020-10-21 18:22:55 -04:00
Dave Bartolomeo
5259f86e32
Accept diff (needs further investigation, though)
2020-10-21 18:06:34 -04:00
Robert Marsh
1a365d2098
C++: remove InitializeNonLocalInstruction from IR
...
Instead, have AliasedDefinition initialize read-only nonlocal memory
2020-10-21 12:12:38 -07:00
Dave Bartolomeo
ee18db7b36
Fix IR for member accesses on prvalues
...
This fixes the IR generation for member accesses where the qualifier is a prvalue that is _not_ the load of a `TemporaryObjectExpr`. We synthesize a temporary variable during IR generation instead. It fits into the IR construction code at the same spot as `TranslatedLoad`, since it's basically the opposite of `TranslatedLoad` (prvalue->glvalue instead of vice versa). Note that array prvalues require special treatment.
This fixes some consistency errors in the `syntax-zoo`. It introduces three new ones in `dataflow-ir-consistency.expected`, but those are along the same lines as tons of existing failures.
2020-10-21 13:32:15 -04:00
luchua-bc
478771ccc5
Fix issues with method signature check
2020-10-21 02:49:53 +00:00
Dave Bartolomeo
98e0ae4865
Add tests for member accesses on temporary objects
2020-10-20 17:35:12 -04:00
Dave Bartolomeo
08af0803ff
Add examples to QLDoc comment
2020-10-20 17:34:46 -04:00
Dave Bartolomeo
c739f98f7d
Merge remote-tracking branch 'upstream/main' into work
2020-10-20 13:42:42 -04:00
Dave Bartolomeo
8c8daa38ec
Update stats
2020-10-20 13:41:52 -04:00
Dave Bartolomeo
4ba281731c
Fix IR generation for member access with a prvalue on the RHS
...
For historical reasons, the extractor marks the temporary object expression used as the qualifier of a member access as a prvalue(load), even though the current C++ standard says that the temporary object materialization results in a glvalue. Added some special handling to ignore the load for both field accesses and member function calls.
This fixes all of the consistency failures in our regular tests, and all of the related failures in `syntax-zoo` other than the ones that deal with pointers-to-member, which aren't really supported yet anyway.
2020-10-20 12:53:47 -04:00
Dave Bartolomeo
735c657326
IR consistency checks for FieldAddress and this arguments that are not actually addresses.
...
Exposes failures in existing tests. Also added a small test case for `FieldAddress` on a prvalue.
2020-10-20 10:32:28 -04:00
Dave Bartolomeo
7de6415d00
Accept test diffs after merge
2020-10-20 07:40:44 -04:00
Dave Bartolomeo
ade6d10e58
Merge remote-tracking branch 'upstream/main' into work
2020-10-20 07:24:42 -04:00
Dave Bartolomeo
2eaa4a4ecf
Merge remote-tracking branch 'upstream/main' into work
2020-10-19 15:19:03 -04:00
Dave Bartolomeo
d0b93df4ec
Merge from main
2020-10-19 15:17:19 -04:00
Dave Bartolomeo
2ba1ef9961
Merge remote-tracking branch 'upstream/main' into work
2020-10-19 13:28:59 -04:00
luchua-bc
2c2aab6ffc
Sensitive broadcast
2020-10-19 16:16:13 +00:00
Dave Bartolomeo
ece20cdb5e
Merge branch 'main' into dbartol/temporaries/work
2020-10-18 13:11:06 -04:00
Dave Bartolomeo
b73cb3a4ce
Accept C# IR diffs
2020-10-18 11:11:05 -04:00
Dave Bartolomeo
2f34c78552
Fix formatting
2020-10-18 11:08:42 -04:00
Dave Bartolomeo
0b2acff837
Add upgrade script
2020-10-18 08:42:24 -04:00
Dave Bartolomeo
939bfae6e0
Fix formatting
2020-10-18 08:32:08 -04:00
Dave Bartolomeo
5f6ae32f1c
Accept test output after merge
2020-10-17 18:16:21 -04:00
Dave Bartolomeo
129e250569
Update test expectations
2020-10-17 17:01:24 -04:00
Dave Bartolomeo
eb9cea48b8
Fix modeling of std::set::emplace
2020-10-17 17:00:29 -04:00
Dave Bartolomeo
40cd96eb1d
Merge from main
2020-10-17 15:14:26 -04:00
Dave Bartolomeo
4e0afb0dc3
Print targets of Load and Store instructions in IR dump
2020-10-17 15:01:45 -04:00
Dave Bartolomeo
e4fdf699ad
Accept improved test results
2020-10-17 14:33:10 -04:00
Dave Bartolomeo
4814dcf145
Print partial flow info in PrintIRLocalFlow.qll
2020-10-17 14:32:31 -04:00
Dave Bartolomeo
1dae8f62c1
Model copy-ish constructors for std::pair
2020-10-17 11:33:20 -04:00
Dave Bartolomeo
1b53c4684d
Fix test expectations due to pair/make_pair fixes
2020-10-17 09:46:18 -04:00
Dave Bartolomeo
686f5aa8ed
Handle parameter indirections in make_shared and make_unique
2020-10-17 08:53:55 -04:00
Dave Bartolomeo
7da4eef90d
Fix subtle typing issue with std::makr_pair
2020-10-17 08:53:20 -04:00
Dave Bartolomeo
675256acab
Accept test diffs from set.cpp (50 new good results!)
2020-10-16 17:14:41 -04:00
Dave Bartolomeo
af799a79da
Accept good test diffs
2020-10-16 17:07:46 -04:00
Dave Bartolomeo
cf19fcf4c0
C++: Improve dataflow model for copy/move constructors
2020-10-16 16:55:59 -04:00
Dave Bartolomeo
9afddf0dad
Insert a load of the temporary object for arguments passed by value
2020-10-16 12:56:46 -04:00
Dave Bartolomeo
6a9ecf7ba2
Dump static call target for Call instructions
2020-10-16 12:55:30 -04:00
Dave Bartolomeo
14ac9859c1
Remove more ODR violations from test code.
...
PrintAST now works on `library-tests/dataflow/taint-tests`.
2020-10-16 10:26:42 -04:00
Dave Bartolomeo
3767a52e9a
Fix ODR violations in test code
2020-10-15 17:54:48 -04:00
Dave Bartolomeo
ceea5b3ec6
Fix test code that returns reference to local
2020-10-15 13:37:20 -04:00
Dave Bartolomeo
794a6729bc
C++: Add ability to dump local dataflow info in IR dumps
...
This change adds a new module, `PrintIRLocalFlow.qll`, which can be imported into any query that uses both `PrintIR.qll` and the IR dataflow library. The IR dump printed by `PrintIR.qll` will be annotated with information about how each operand and instruction participates in dataflow.
For each operand and instruction, the following propeties are displayed:
- `flow`: Which local operands/instructions have flow to this node, and which local operands/instruction this node has flow to.
- `source`: `true` if this node is a source
- `sink`: `true` if this node is a sink
- `barrier`: Lists which kinds of barrier this node is. Can be zero or more of `full`, `in`, `out`, and `guard`. If the node is a guard barrier, the IR of the guarding instruction is also printed.
We already had a way to print additional properties for instructions and blocks, but not for operands. I added support for operand properties to `IRPropertyProvider`. These are now printed in a curly-brace-enclosed list immediately after the corresponding operand.
When printing flow, instructions are identified by their result ID (e.g., `m128`). Operands are identified by both the result ID of their instruction and their kind (e.g., `r145.left`). For flow from an operand to its use instruction, it just prints `result` at the operand, and prints only the operand kind on the instruction.
Example output:
```
# 344| m344_34(vector<int, allocator<int>>) = Chi : total:m344_20{flow:def->@, @->result}, partial:m344_33{flow:def->@, @->result}
# 344| flow = total->@, partial->@, +m344_33->@, @->+r347_3, @->v347_7.side_effect, @->m347_9.total, @->m344_20.1
```
The `+` annotations indicate when the flow came from `isAdditionalFlowStep()`, rather than built-in local flow.
2020-10-14 18:02:45 -04:00
Dave Bartolomeo
fba4313457
Merge remote-tracking branch 'upstream/main' into work
2020-10-13 13:07:28 -04:00
Dave Bartolomeo
93f5ae4763
Clean up test formatting and accept new lines in results
2020-10-13 12:57:52 -04:00
Dave Bartolomeo
dfe69d8ada
Update taint test to propagate through string constructor
2020-10-13 12:06:34 -04:00
Dave Bartolomeo
e4bfb75f90
C++: Fix pointer flow through temporary objects
2020-10-08 12:24:59 -04:00
Dave Bartolomeo
1e455f08a3
Fix test expectations
2020-10-07 13:14:54 -04:00
Dave Bartolomeo
bf8340f102
Fix test expectations in syntax-zoo
2020-10-07 10:26:02 -04:00
Dave Bartolomeo
22638fdfc7
Merge remote-tracking branch 'upstream/main' into work
2020-10-06 18:33:14 -04:00
Dave Bartolomeo
80b832eb49
Fix test expectations
2020-10-06 18:27:33 -04:00
Dave Bartolomeo
badb11750a
AST and IR support for TemporaryObjectExpr
2020-10-05 17:53:35 -04:00
Rasmus Wriedt Larsen
f501003879
Design Patterns: Recommend this = range for ::Range pattern
2020-09-30 14:28:08 +02:00
Rasmus Wriedt Larsen
e859a804c4
Update docs on CodeQL design patterns
2020-09-29 09:05:18 +02:00
Rasmus Wriedt Larsen
a62c3345d1
Add docs on CodeQL Design Patterns
2020-09-28 16:38:48 +02:00
Rasmus Lerchedahl Petersen
8b13a429b7
Python: Address review comments
2020-09-01 14:00:41 +02:00
Rasmus Lerchedahl Petersen
6d23d7fa0e
Python: Test that pointsTo implies data flow
...
Running the test on a larger database gives some interesting results.
2020-09-01 11:56:22 +02:00
luchua-bc
a61f814b4b
Change to ServletResponse type and fix formatting error
2020-07-02 12:49:25 +00:00
luchua-bc
1d0232b464
Add more servlet methods and fix formatting errors
2020-07-02 03:07:19 +00:00
luchua-bc
d978f28822
Simplify the query for subtype check
2020-06-30 11:15:18 +00:00
luchua-bc
382e5a5a7a
Revert "Add remote source of Android intent extra"
...
This reverts commit 65e76ab18f .
2020-06-30 00:55:05 +00:00
luchua-bc
3e8e9f9969
Revert "Add method access qualifier as source"
...
This reverts commit 87668bf075 .
2020-06-30 00:54:27 +00:00
luchua-bc
065b90ab6b
Revert "text changes"
...
This reverts commit 0f8dd7c328 .
2020-06-30 00:53:03 +00:00
luchua-bc
ede9cec4a9
Uncaught Servlet Exception
2020-06-29 20:07:53 +00:00
luchua-bc
0f8dd7c328
text changes
2020-06-27 22:56:00 +00:00
Bt2018
87668bf075
Add method access qualifier as source
2020-06-27 18:00:52 -04:00
luchua-bc
65e76ab18f
Add remote source of Android intent extra
2020-06-25 20:20:18 +00:00