Andrew Eisenberg
7ccb803dd1
Merge pull request #6375 from github/aeisenberg/pack/python
...
Packaging: Refactor Python into separate library and query packs
2021-08-16 10:59:19 -07:00
Andrew Eisenberg
016eed8e5c
Packaging: Fix more suite references
2021-08-12 16:14:04 -07:00
Andrew Eisenberg
c75f65c493
Packaging: Fix identical-files.json
2021-08-11 19:21:04 -07:00
Andrew Eisenberg
210128e2ae
Packaging: Update csharp libraries from main
2021-08-11 16:33:32 -07:00
Andrew Eisenberg
1e36706f4c
Packaging: Fix libraryPathDependencies for legacy-support packs
...
Adds both *-all and *-queries to all.
2021-08-11 13:24:21 -07:00
Andrew Eisenberg
056f9b9471
Packaging: Update references to moved files
2021-08-11 13:23:50 -07:00
Andrew Eisenberg
8cc2201335
Packaging: Update identical files check
2021-08-11 13:23:50 -07:00
Andrew Eisenberg
3f5f73d730
Packaging: Refactor Python into separate library and query packs
2021-08-11 13:23:50 -07:00
Dave Bartolomeo
411a451798
Packaging: Move one more file into library pack
2021-07-28 11:30:11 -04:00
Dave Bartolomeo
b6f0a5dea9
Packaging: Refactor JavaScript into separate query and library packs
2021-07-28 09:46:24 -04:00
Dave Bartolomeo
7079cecdb0
Packaging: Refactor Java packs into separate query and library packs
2021-07-28 00:32:30 -04:00
Dave Bartolomeo
0a24667567
Packaging: Bump pack versions
2021-07-28 00:20:50 -04:00
Dave Bartolomeo
b12771069a
Packaging: Mark C# library as a library
2021-07-27 16:22:21 -04:00
Dave Bartolomeo
38f892b120
Packaging: Refactor C# into separate library and query packs
2021-07-27 15:51:33 -04:00
Dave Bartolomeo
3e7bb7c296
Packaging C++: Refactor codeql-cpp into separate library and query packs
...
This commit does the following:
- creates a new cpp/ql/lib folder and moves the majority of `.qll` files
from C++ into it.
- updates references to these files from the relevant `.ql` files.
- updates and adds `qlpack.yml` files to create publishable qlpacks
for cpp.
- updates the ``misc/suite-helpers/qlpack.yml` file to make it
publishable
- adds qlpack.lock.yml files for each published pack.
2021-07-27 15:03:53 -04:00
Geoffrey White
7fdac2a792
Merge pull request #6347 from MathiasVP/import-gvn-to-prevent-ir-reevaluation
...
C++: Import 'GVN' in 'Overflow.qll' to prevent IR reevaluation.
2021-07-22 13:37:03 +01:00
Taus
b8a40bb7f1
Merge pull request #6348 from tausbn/python-hotfix-disable-redos-queries
...
Python: Hotfix: Disable ReDoS queries
2021-07-22 13:32:14 +02:00
Taus
bfe42ae146
Python: Update change note
2021-07-22 11:10:08 +00:00
Taus
e9a4114c04
Python: Hotfix: Disable ReDoS queries
2021-07-22 10:58:49 +00:00
Mathias Vorreiter Pedersen
39144ee02b
C++: Import 'GVN' in 'Overflow.qll' to prevent IR reevaluation.
2021-07-22 11:35:16 +02:00
Pavel Avgustinov
2d9600de4a
Merge pull request #6340 from MathiasVP/revert-path-sensitive-stackvariablereachability
...
C++: Revert #6004
2021-07-21 09:17:56 +01:00
Mathias Vorreiter Pedersen
a006a7fb24
Revert "Merge pull request #6004 from MathiasVP/path-sensitive-stack-variable-reachability-analysis"
...
This reverts commit e3e7b00986 , reversing
changes made to 8ccdd4fb9f .
2021-07-20 18:06:49 +02:00
Arthur Baars
43c68eae94
Merge pull request #6324 from github/aibaars/include-diagnostic-summary
...
Code Scanning selectors: Include diagnostic and summary metric queries
2021-07-19 17:16:48 +02:00
Arthur Baars
d960ef2dac
Code Scanning selectors: Include diagnostic and summary metric queries
2021-07-19 17:05:43 +02:00
Anders Schack-Mulligen
0b89f96055
Merge pull request #6318 from Marcono1234/patch-1
...
Java: Fix documentation mistake for `ProtoPom`
2021-07-19 11:25:06 +02:00
Anders Schack-Mulligen
d1f21a854a
Merge pull request #6042 from joefarebrother/spring-http
...
[Java] Model spring `http` package
2021-07-19 11:24:41 +02:00
Taus
12f7921c92
Merge pull request #6304 from RasmusWL/more-snippets
...
Python: Add more snippets
2021-07-19 11:23:24 +02:00
Anders Schack-Mulligen
c32a75a1b3
Merge pull request #6183 from smowton/smowton/feature/javax-json-models
...
Add models of the jakarta/javax.json package
2021-07-19 11:19:21 +02:00
Anders Schack-Mulligen
6de31f8b59
Merge pull request #6317 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-19 10:45:22 +02:00
Rasmus Wriedt Larsen
c9087b2e1b
Python: Minor fixup to snippet
...
Spotted by @tausbn 🎉
2021-07-19 10:19:23 +02:00
github-actions[bot]
9b7616bea4
Add changed framework coverage reports
2021-07-19 00:07:04 +00:00
Marcono1234
87d6b9ca5a
Java: Fix documentation mistake for ProtoPom
2021-07-18 02:49:43 +02:00
Tom Hvitved
1c68d3f4cd
Merge pull request #6309 from hvitved/csharp/dead-store-of-local-perf
...
C#: Improve performance of `DeadStoreOfLocal.ql`
2021-07-17 10:56:35 +02:00
Tom Hvitved
25706e0812
Merge pull request #6303 from hvitved/csharp/get-qual-name-nomagic
...
C#: Two `pragma` performance fixes
2021-07-17 07:53:35 +02:00
Robert Marsh
e0ff1d949b
Merge pull request #6315 from MathiasVP/fix-off-by-one-in-rem-expr-range-analysis
...
C++: Fix off–by-one in range analysis for `RemExpr`.
2021-07-16 15:22:03 -07:00
Mathias Vorreiter Pedersen
39d9395bc3
C++: Fix off-by-one in range analysis for 'RemExpr'.
2021-07-16 16:35:19 +02:00
Mathias Vorreiter Pedersen
81aa115838
C++: Fix range analysis bug for 'RemExpr'.
2021-07-16 16:28:08 +02:00
Mathias Vorreiter Pedersen
dc2eea59a3
C++: Add buggy testcase with 'RemExpr'.
2021-07-16 16:27:09 +02:00
Anders Schack-Mulligen
68b3c28202
Merge pull request #6310 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-16 14:10:33 +02:00
CodeQL CI
9aafe8242e
Merge pull request #6271 from erik-krogh/logs
...
Approved by asgerf
2021-07-16 03:49:22 -07:00
Anders Schack-Mulligen
ef9d09692d
Merge pull request #5796 from smowton/smowton/feature/apache-mutable-flow
...
Java: Add synthetic fields; model Commons Lang's MutableObject type
2021-07-16 12:08:26 +02:00
Erik Krogh Kristensen
36de24aecb
use API nodes instead of type-tracking in the pino model
2021-07-16 11:32:32 +02:00
Erik Krogh Kristensen
178d3de824
Merge branch 'main' into logs
2021-07-16 11:21:25 +02:00
CodeQL CI
a02a82caac
Merge pull request #6284 from erik-krogh/qs
...
Approved by asgerf
2021-07-16 02:11:59 -07:00
CodeQL CI
c1d0e52492
Merge pull request #6286 from erik-krogh/mkdirp
...
Approved by asgerf
2021-07-16 02:11:07 -07:00
CodeQL CI
6c2c51a767
Merge pull request #6287 from erik-krogh/react-tooltip
...
Approved by asgerf
2021-07-16 02:10:36 -07:00
CodeQL CI
d4fa1f7d96
Merge pull request #6295 from erik-krogh/sort-keys
...
Approved by asgerf
2021-07-16 02:09:47 -07:00
CodeQL CI
520337577b
Merge pull request #6298 from erik-krogh/ansi-to-html
...
Approved by asgerf
2021-07-16 02:09:03 -07:00
CodeQL CI
f4f8ce0d36
Merge pull request #6294 from erik-krogh/arrify
...
Approved by asgerf
2021-07-16 02:08:19 -07:00
CodeQL CI
8ef57366c4
Merge pull request #6278 from erik-krogh/toUnicodeInAngular
...
Approved by asgerf
2021-07-16 02:07:18 -07:00
Chris Smowton
9cde13bf82
Note spurious results that stem from weak updates to synthetic fields.
2021-07-16 09:44:36 +01:00
Tom Hvitved
45ee21622d
C#: Cache NamedElement::getQualifiedName()
2021-07-16 10:25:07 +02:00
CodeQL CI
b14139f3a0
Merge pull request #6261 from max-schaefer/js/module-constructor
...
Approved by asgerf
2021-07-16 00:28:30 -07:00
Tom Hvitved
8321d5f312
Merge pull request #6293 from hvitved/csharp/ssa/remove-redundant-conjunct
...
C#: Remove redundant conjunct in `ssaDefReachesReadWithinBlock`
2021-07-16 06:15:34 +02:00
github-actions[bot]
e61702c281
Add changed framework coverage reports
2021-07-16 00:07:10 +00:00
Robert Marsh
59855de0ac
Merge pull request #6301 from github/aibaars/drop-opaque-id
...
CPP: drop opaque-id properties
2021-07-15 16:36:11 -07:00
Tom Hvitved
c53502a84a
C#: Improve performance of DeadStoreOfLocal.ql
2021-07-15 22:26:07 +02:00
Rasmus Wriedt Larsen
5e193ee8da
Python: Add more snippets
2021-07-15 18:56:49 +02:00
Geoffrey White
c4322fdcd2
Merge pull request #6231 from ihsinme/ihsinme-patch-277
...
Add query for CWE-758: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
2021-07-15 15:52:48 +01:00
Joe Farebrother
f7de2e64c5
Fix failing test caused by an imprecission in the stubber
2021-07-15 15:15:37 +01:00
CodeQL CI
d282f6a356
Merge pull request #6218 from tausbn/python-add-typetrackingnode
...
Approved by RasmusWL
2021-07-15 07:04:50 -07:00
Taus
dd03d8102b
Merge pull request #6300 from RasmusWL/redos-tests
...
Python: Fix `py/polynomial-redos`
2021-07-15 15:59:01 +02:00
Chris Smowton
1bbac748fe
Add change note
2021-07-15 14:58:25 +01:00
Chris Smowton
7b984cc2b0
Add models for Apache Commons Lang's Mutable container
2021-07-15 14:58:25 +01:00
Erik Krogh Kristensen
2b6790e914
update expected output
2021-07-15 15:54:51 +02:00
Erik Krogh Kristensen
28b98c1bfa
update expected output
2021-07-15 15:51:01 +02:00
Tom Hvitved
4180528d02
C#: Do not inline getLeafTypeAt
2021-07-15 15:41:16 +02:00
Tom Hvitved
7e4d761aa3
C#: Add nomagic to NamedElement::getQualifiedName()
2021-07-15 15:40:26 +02:00
Chris Smowton
712b0d866e
Merge pull request #6297 from aschackmull/java/query-metadata4
...
Java: More missing metadata.
2021-07-15 14:32:47 +01:00
Arthur Baars
a47002c6d8
Merge pull request #6302 from github/aibaars/drop-spaces
...
C# remove spurious spaces in <code> tag
2021-07-15 14:57:21 +02:00
Arthur Baars
e387d602b2
C# remove spurious spaces in <code> tag
2021-07-15 14:38:01 +02:00
Rasmus Wriedt Larsen
900cbc9a2f
Merge pull request #6265 from tausbn/python-performance-fixes
...
Python: Fix a few performance issues.
2021-07-15 14:19:37 +02:00
Rasmus Wriedt Larsen
a5834c4d78
Python: Fix py/polynomial-redos
2021-07-15 14:16:19 +02:00
Rasmus Wriedt Larsen
76caf43b54
Python: Add tests for py/polynomial-redos
2021-07-15 14:15:44 +02:00
Rasmus Wriedt Larsen
1be0dc0876
Python: Move test for ReDoS
2021-07-15 14:15:24 +02:00
Arthur Baars
d059ec0c93
CPP: drop opaque-id properties
...
The undocumented @opaque-id property takes precendence over the normal @id
property and causes the SARIF output produced by CodeQL to use that ID for
rules.
2021-07-15 14:12:01 +02:00
Erik Krogh Kristensen
ae2fc7171b
add a taint step through the ansi-to-html library
2021-07-15 14:04:16 +02:00
Anders Schack-Mulligen
5b7c2d133f
Merge pull request #6291 from aschackmull/java/csv-synthfield
...
Java: Add support for synthetic fields in csv rows.
2021-07-15 13:43:56 +02:00
Anders Schack-Mulligen
9b2b593cb4
Java: More missing metadata.
2021-07-15 13:41:12 +02:00
Geoffrey White
e3e7b00986
Merge pull request #6004 from MathiasVP/path-sensitive-stack-variable-reachability-analysis
...
C++: Add path-sensitivity to `StackVariableReachability`
2021-07-15 12:34:33 +01:00
Erik Krogh Kristensen
aaa8969537
add sort-keys as a clone call
2021-07-15 13:16:17 +02:00
Erik Krogh Kristensen
d2c74480b9
add taint step through flatten libraries
2021-07-15 12:36:07 +02:00
Erik Krogh Kristensen
77f4d56cd9
add taint step through array-union, array-uniq, and uniq
2021-07-15 12:32:29 +02:00
Anders Schack-Mulligen
8ccdd4fb9f
Merge pull request #6211 from aschackmull/dataflow/refactor-call-context-check
...
Dataflow: Refactor call context check
2021-07-15 12:27:23 +02:00
Tom Hvitved
caf88a2d31
C#: Remove redundant conjunct in ssaDefReachesReadWithinBlock
2021-07-15 12:25:33 +02:00
Anders Schack-Mulligen
7339bd89ba
Java: Add support for synthetic fields in csv rows.
2021-07-15 12:19:34 +02:00
Joe Farebrother
0e8dd9f335
Use generated stubs
2021-07-15 11:03:51 +01:00
Joe Farebrother
e7e432d7fd
Fix incorrect row
2021-07-15 10:39:05 +01:00
Joe Farebrother
f3ab295f0f
Fix up tests
2021-07-15 10:34:21 +01:00
Joe Farebrother
bbc4d4855c
Move tests
2021-07-15 10:34:18 +01:00
Joe Farebrother
51045a83c2
Add change note
2021-07-15 10:33:33 +01:00
Joe Farebrother
df74a142dd
Update for collection flow and add more tests
2021-07-15 10:33:33 +01:00
Joe Farebrother
8f89d748fe
Add spring tests
2021-07-15 10:33:33 +01:00
Joe Farebrother
4be7e94dcc
Add more spring stubs
2021-07-15 10:33:30 +01:00
Joe Farebrother
c1555b36a1
Add additional HTTP flow steps
2021-07-15 10:32:13 +01:00
Joe Farebrother
9b6213dbf0
Convert existing spring http steps to csv
2021-07-15 10:32:10 +01:00
Erik Krogh Kristensen
5ff7d208b7
add taint step through arrify
2021-07-15 11:24:50 +02:00
Erik Krogh Kristensen
e64f29fe8f
add support for Array.prototype.find and polyfills
2021-07-15 11:16:06 +02:00
Erik Krogh Kristensen
f6f63e2811
add model for the array-from polyfill
2021-07-15 10:51:55 +02:00
Anders Schack-Mulligen
d34e748c83
Merge pull request #6290 from aschackmull/java/query-metadata3
...
Java: Add metadata.
2021-07-15 09:59:45 +02:00
Anders Schack-Mulligen
60b3dbd217
Java: Add metadata.
2021-07-15 09:16:56 +02:00
Anders Schack-Mulligen
bf0877c5cb
Merge pull request #6289 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-15 09:15:51 +02:00
Anders Schack-Mulligen
e18a20fedb
Merge pull request #6285 from smowton/smowton/feature/spring-jdbc-object
...
Add models for org.springframework.jdbc.object
2021-07-15 09:06:56 +02:00
Robert Marsh
4d8e882214
Merge pull request #6186 from geoffw0/formatarg
...
C++: Fix FPs from cpp/wrong-type-format-argument
2021-07-14 17:20:46 -07:00
github-actions[bot]
d6186e8d0f
Add changed framework coverage reports
2021-07-15 00:06:37 +00:00
Erik Krogh Kristensen
22dfe84ee8
add xss sink for react-tooltip
2021-07-14 20:03:50 +02:00
Erik Krogh Kristensen
14b26f2a68
add mkdirp as a sink for tainted-path
2021-07-14 19:32:22 +02:00
Chris Smowton
f2b232f276
Add change note
2021-07-14 17:39:58 +01:00
Chris Smowton
0b2750828e
Add models for org.springframework.jdbc.object
...
Also add tests for the existing Spring JDBC SQL injection sinks in the process
2021-07-14 17:25:00 +01:00
Taus
fb57c5f6f0
Merge pull request #6143 from RasmusWL/concepts-private-import-python
...
Python: Make `import python` private in Concepts.qll
2021-07-14 17:49:06 +02:00
Taus
5c5ee85332
Merge pull request #6122 from RasmusWL/mention-mysqlclient
...
Python: Mention modeling of `mysqlclient` PyPI package
2021-07-14 17:48:40 +02:00
Taus
30d61045d2
Python: Mention nameIndicatesSensitiveData
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-07-14 17:33:39 +02:00
Erik Krogh Kristensen
f462c9bb76
add taint through the parseqs library
2021-07-14 17:22:35 +02:00
Erik Krogh Kristensen
bec1818fc7
add taint through the normalize-url library
2021-07-14 17:15:14 +02:00
Erik Krogh Kristensen
86de10e6a1
simplify some implementations in UriLibraries.qll
2021-07-14 17:01:40 +02:00
Erik Krogh Kristensen
193ddfc771
add taint through the qs library
2021-07-14 16:56:51 +02:00
Aditya Sharad
e0a123cbd0
Merge pull request #6257 from github/rneatherway/summary-docs
...
Add docs for summary type queries
2021-07-14 07:54:18 -07:00
Taus
2bb44d49d9
Python: Perform more deduplication
...
This cut the evaluation time on `django` down from 1.2 seconds to ~0.8
seconds (but the impact will likely be greater on bigger projects).
2021-07-14 13:38:05 +00:00
Anders Schack-Mulligen
a0481bda91
Merge pull request #6282 from aschackmull/java/query-metadata2
...
Java: Add missing metadata.
2021-07-14 15:17:27 +02:00
Anders Schack-Mulligen
11fc23ba09
Merge pull request #6030 from smowton/smowton/admin/test-generator
...
Add test-generator script + add generated models for Spring summary steps
2021-07-14 14:44:07 +02:00
Anders Schack-Mulligen
9034b03c7b
Java: Add missing metadata.
2021-07-14 14:40:50 +02:00
Anders Schack-Mulligen
3a3398508c
Merge pull request #5895 from github/sauyon/java/spring
...
Add models for some Spring pseudo-collections
2021-07-14 14:40:24 +02:00
Sauyon Lee
d7bfc2eebf
Remove redundant model lines
2021-07-14 05:05:17 -07:00
Sauyon Lee
671243c15d
Add change note
2021-07-14 05:05:17 -07:00
Sauyon Lee
1f97ac88c8
Fix tests
2021-07-14 05:05:17 -07:00
Sauyon Lee
eaef1c146c
Add generated tests
2021-07-14 05:05:16 -07:00
Sauyon Lee
16931e5de8
Add necessary stubs for Spring
...
Co-Authored-By: smowton <smowton@github.com >
2021-07-14 04:57:56 -07:00
Sauyon Lee
fc7e062deb
Java: Add models for the Spring cache package
2021-07-14 04:57:56 -07:00
Sauyon Lee
d9fb09d132
Java: Add models for the Spring ui package.
2021-07-14 04:57:56 -07:00
Anders Schack-Mulligen
04244b3c45
Merge pull request #5974 from github/sauyon/java/spring-webmultipart
...
Model Spring `web.multipart`
2021-07-14 13:57:24 +02:00
Anders Schack-Mulligen
3c4cd15738
Merge pull request #5505 from joefarebrother/android-sql-convert
...
Java: Convert Android SQL-related flow steps to CSV format
2021-07-14 13:56:55 +02:00
Chris Smowton
e9390cb3eb
Remove superfluous conjunct
2021-07-14 12:42:28 +01:00
Taus
09993406f1
Python: Add explanatory QLDoc comment
2021-07-14 10:42:07 +00:00
Mathias Vorreiter Pedersen
0b21caa9ae
Merge pull request #6280 from MathiasVP/restrict-call-context-relation
...
C++: Potentially improve performance of call-context calculation
2021-07-14 12:15:26 +02:00
Mathias Vorreiter Pedersen
1480ac7c1d
C++: Potentially improve performance by restricting the size of the call-context relation.
2021-07-14 11:23:56 +02:00
Robin Neatherway
c9e642fb06
Merge branch 'main' into rneatherway/summary-docs
2021-07-14 10:13:32 +01:00
Chris Smowton
3ae99b93ca
Merge pull request #6215 from aschackmull/java/fix-csv-subtype-interpretation
...
Java: Fix CSV subtype interpretation
2021-07-14 09:57:21 +01:00
Anders Schack-Mulligen
0ccb213ec5
Dataflow: Sync.
2021-07-14 10:36:09 +02:00
Anders Schack-Mulligen
dbe1ca928b
Dataflow: Simplify call context checks.
2021-07-14 10:36:09 +02:00
Anders Schack-Mulligen
c95e78546c
Dataflow: Refactor
2021-07-14 10:36:09 +02:00
Erik Krogh Kristensen
73491d88da
use the new .toUnicode method in the Angular2 model
2021-07-14 10:19:48 +02:00
CodeQL CI
f6f7020388
Merge pull request #6250 from erik-krogh/python-redos-unicode
...
Approved by RasmusWL
2021-07-14 01:09:26 -07:00
CodeQL CI
436168aa4f
Merge pull request #6267 from erik-krogh/read-pkg
...
Approved by asgerf
2021-07-14 01:01:33 -07:00
ihsinme
4d3666692b
Update cpp/ql/src/experimental/Security/CWE/CWE-758/UndefinedOrImplementationDefinedBehavior.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-07-14 10:17:53 +03:00
Anders Schack-Mulligen
8dc1f28c68
Merge pull request #6272 from hvitved/dataflow/flow-summary-impl-cached
...
Data flow: Use cached predicates from DataFlowImplCommon in `FlowSummaryImpl.qll`
2021-07-14 09:12:23 +02:00
Sauyon Lee
51211c0394
Add stubs
2021-07-13 10:29:02 -07:00
Sauyon Lee
c2c7fee8df
Fix tests
2021-07-13 10:29:02 -07:00
Sauyon Lee
b01e6d49fb
Add generated tests
2021-07-13 10:29:01 -07:00
Sauyon Lee
b807757863
Model Spring web.multipart
2021-07-13 10:29:01 -07:00
Robert Marsh
25dd29b24f
Merge pull request #6158 from MathiasVP/call-ctx-for-function-ptr-resolution
...
C++: Resolve function pointer calls using call contexts
2021-07-13 10:00:44 -07:00
Chris Smowton
1044049e72
Simplify getInput
2021-07-13 16:36:26 +01:00
Chris Smowton
98b85a481c
Improve inline-expectation style
2021-07-13 16:36:08 +01:00
Chris Smowton
a11021991a
Improve method documentation
2021-07-13 16:35:44 +01:00
Chris Smowton
b5492056d8
Remove superfluous parens
2021-07-13 16:35:22 +01:00
Chris Smowton
97694bc9a1
Report error even if interpretElement resolves to a non-Callable Element
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-13 16:16:01 +01:00
CodeQL CI
f9b539e5b9
Merge pull request #6253 from asgerf/js/more-precise-capture-steps
...
Approved by erik-krogh
2021-07-13 07:42:07 -07:00
Erik Krogh Kristensen
086c9c8156
remove redundant getACall()
...
Co-authored-by: Asger F <asgerf@github.com >
2021-07-13 16:32:14 +02:00
Tom Hvitved
7e9d87055d
Data flow: Sync
2021-07-13 16:15:00 +02:00
Tom Hvitved
febebed15e
Data flow: Use cached predicates from DataFlowImplCommon in FlowSummaryImpl.qll
2021-07-13 16:15:00 +02:00
Anders Schack-Mulligen
9388983e41
Java: Add missing stub.
2021-07-13 15:26:37 +02:00
Anders Schack-Mulligen
0f6f020766
Java: Fix models.
2021-07-13 15:23:19 +02:00
Taus
6aec7f2c49
Merge pull request #6264 from RasmusWL/customization-files-for-path-problems
...
Python: Provide proper source/sink customization for most path queries
2021-07-13 15:09:33 +02:00
CodeQL CI
48ec223727
Merge pull request #6212 from asgerf/js/typescript-4.3.5
...
Approved by esbena
2021-07-13 05:45:09 -07:00
CodeQL CI
9d59cba644
Merge pull request #6262 from erik-krogh/slash
...
Approved by asgerf
2021-07-13 05:44:55 -07:00
CodeQL CI
c87fe95d52
Merge pull request #6258 from erik-krogh/case
...
Approved by asgerf
2021-07-13 05:44:49 -07:00
CodeQL CI
b34f444c88
Merge pull request #6254 from erik-krogh/json2csv
...
Approved by asgerf
2021-07-13 05:44:36 -07:00
Rasmus Wriedt Larsen
6f8969a55e
Python: Add change-note
2021-07-13 14:39:44 +02:00
Rasmus Wriedt Larsen
9ed61e7663
Python: Port py/polynomial-redos to use proper source/sink customization
...
I noticed the configuration/customization files are in the `performance`
folder in JS, but I just kept them in place, since that seems correct to
me.
2021-07-13 14:39:44 +02:00
Erik Krogh Kristensen
e13d53f001
support pino logging calls on request objects
2021-07-13 14:32:50 +02:00
Taus
693a479bf6
Merge branch 'main' into python-add-typetrackingnode
2021-07-13 14:13:21 +02:00
Rasmus Wriedt Larsen
cea2f82be9
Python: Port py/path-injection to use proper source/sink customization
2021-07-13 14:09:02 +02:00
Erik Krogh Kristensen
cce15bed1d
add basic support for the pino library
2021-07-13 14:00:01 +02:00
Rasmus Wriedt Larsen
bf214ac3bb
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-07-13 13:41:26 +02:00
Tom Hvitved
cb1b227c87
Merge pull request #6270 from hvitved/csharp/standalone-nuget-restore
...
C#: Skip `dotnet restore` in standalone extraction when `nuget_restore: false` is set
2021-07-13 13:36:40 +02:00
Rasmus Wriedt Larsen
1a59c9b64a
Merge pull request #6204 from tausbn/python-ensmallen-localsourcenode
...
Python: Clean up `LocalSourceNode` charpred
2021-07-13 13:27:38 +02:00
Robin Neatherway
fc38960795
Split up metric information across the doc
2021-07-13 11:25:15 +01:00
Chris Smowton
78fe0f810a
Add models for decode/encodePointer methods
2021-07-13 11:10:46 +01:00
Mathias Vorreiter Pedersen
1ed027e0d1
Merge pull request #6266 from erik-krogh/mootools-doc
...
JS: add missing qldoc in MooTools.qll
2021-07-13 10:39:21 +02:00
Anders Schack-Mulligen
be96647f78
Merge pull request #6256 from hvitved/dataflow/summary-node-type-join-order
...
Data flow: Fix bad join-orders in `summaryNodeType`
2021-07-13 10:24:30 +02:00
Erik Krogh Kristensen
07bc5856db
add the cwd option from read-pkg as sink for path-injection
2021-07-12 23:43:15 +02:00
Erik Krogh Kristensen
cadbdcff0a
add missing qldoc in MooTools.qll
2021-07-12 23:20:51 +02:00
Robert Marsh
61ee4af66c
Merge pull request #6159 from MathiasVP/more-effective-barriers-in-bounded-predicate
...
C++: More effective barriers in the `bounded` predicate for CWE-190
2021-07-12 11:59:37 -07:00
Mathias Vorreiter Pedersen
7da7ec60d9
C++: Inline predicates from 'Bounded.qll'.
2021-07-12 19:09:33 +02:00
Chris Smowton
2bd58d6ba7
Improve header comment
2021-07-12 18:09:23 +01:00
Chris Smowton
cc4401b453
Add models of JsonPointer, JsonMergeDiff and JsonPatchBuilder
2021-07-12 18:08:45 +01:00
Chris Smowton
539859497b
Add models of JsonMergePatch, JsonPatchBuilder and JsonPointer
2021-07-12 17:39:51 +01:00
Robin Neatherway
2c14c982d8
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-07-12 17:34:52 +01:00
Chris Smowton
6bf931392b
Add missing model of JsonObjectBuilder.remove
2021-07-12 17:13:39 +01:00
Taus
1decf23785
Python: Fix bad join order for sensitive data
...
Not the prettiest of solutions, but it does the job. Basically, we were
calculating (and re-calculating) the same big relation between strings
and regexes and then checking whether the latter matched the former.
This resulted in tuple counts like the following:
```
[2021-07-12 16:09:24] (12s) Tuple counts for SensitiveDataSources::SensitiveDataModeling::SensitiveVariableAssignment#class#ff#shared/4@7489c6:
4918074 ~0% {4} r1 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH Flow::NameNode::getId_dispred#ff CARTESIAN PRODUCT OUTPUT Lhs.0 'arg0', Lhs.1 'arg1', Rhs.0, Rhs.1 'arg3'
2654 ~0% {4} r2 = JOIN r1 WITH PRIMITIVE regexpMatch#bb ON Lhs.3 'arg3',Lhs.1 'arg1'
return r2
```
(The above being just the bit that handles `DefinitionNode` in
`SensitiveVariableAssignment`, and taking 12 seconds to evaluate.)
By applying a bit of manual inlining and magic, this becomes somewhat
more manageable:
```
[2021-07-12 15:59:44] (1s) Tuple counts for SensitiveDataSources::SensitiveDataModeling::sensitiveString#ff/2@8830e2:
27671 ~2% {3} r1 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveParameterName#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
334012 ~2% {3} r2 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveName#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
361683 ~11% {3} r3 = r1 UNION r2
154644 ~0% {3} r4 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveFunctionName#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
149198 ~1% {3} r5 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveStrConst#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
124257 ~5% {3} r6 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveAttributeName#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
273455 ~21% {3} r7 = r5 UNION r6
428099 ~30% {3} r8 = r4 UNION r7
789782 ~78% {3} r9 = r3 UNION r8
1121 ~77% {3} r10 = JOIN r9 WITH PRIMITIVE regexpMatch#bb ON Lhs.2 'result',Lhs.1
1121 ~70% {2} r11 = SCAN r10 OUTPUT In.0 'classification', In.2 'result'
return r11
```
(The above being the total for all the sensitive names we care about,
taking only 1.2 seconds to evaluate.)
Incidentally, you may wonder why this has _fewer_ results than before.
The answer is control flow splitting -- every sensitively-named
`DefinitionNode` would have been matched in isolation previously. By
pre-matching on just the names of these, we can subsequently join
against those names that are known to be sensitive, which is a much
faster operation.
(We also get the benefit of deduplicating the strings that are matched,
before actually performing the match, so if, say, an attribute name and
a variable name are identical, then we'll only match them once.)
We also exclude all docstrings as relevant string constants, as these
presumably don't actually flow anywhere.
2021-07-12 16:10:49 +00:00
Mathias Vorreiter Pedersen
4fc60aedc6
C++: Relax the restrictions on when '%' is a barrier and accept test changes.
2021-07-12 17:39:12 +02:00
Mathias Vorreiter Pedersen
a6f1f8d3b6
C++: Add testcases demonstrating FPs from real code.
2021-07-12 17:39:12 +02:00
Mathias Vorreiter Pedersen
6a11aa7f2a
Merge pull request #6154 from MathiasVP/more-random-sources-in-uncontrolled-arithmetic
...
C++: Add more random sources in `cpp/uncontrolled-arithmetic`
2021-07-12 17:37:44 +02:00
Robin Neatherway
5d849a9f9d
Add docs for summary type queries
2021-07-12 16:26:21 +01:00
Mathias Vorreiter Pedersen
768b3c84c9
C++: Fix a bug that slipped into fd477383b0.
2021-07-12 17:13:21 +02:00
Erik Krogh Kristensen
899e54fbc9
add support for the slash library
2021-07-12 16:36:54 +02:00
Max Schaefer
ce24215dd5
JavaScript: Improve modelling of Module.prototype._compile sink.
2021-07-12 15:32:21 +01:00
Max Schaefer
70c82c83ac
JavaScript: Make ModuleVarNode and ExportsVarNode more easily accessible.
2021-07-12 15:31:40 +01:00
Taus
a73e382dfe
Python: Prevent bad join in hashlib model
...
I'm not entirely sure what triggered this bad join order, but some
combination of the use of abstract classes and the exclusion of `new`
caused this to go really wrong:
```
WeakSensitiveDataHashing.ql-15:Stdlib::Stdlib::HashlibDataPassedToHashClass#class#ffff ......... 15.5s
```
with the following tuple counts:
```
[2021-07-12 13:20:15] (16s) Tuple counts for Stdlib::Stdlib::HashlibDataPassedToHashClass#class#ffff/4@217901:
148810 ~3% {3} r1 = JOIN DataFlowPublic::CallCfgNode#class#ff#shared WITH project#DataFlowPublic::CallCfgNode::getArg_dispred#fff ON FIRST 1 OUTPUT "hashlib", Lhs.1 'node', Lhs.0 'this'
148810 ~4% {3} r2 = JOIN r1 WITH ApiGraphs::API::Impl::MkModuleImport#ff@staged_ext ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'node', Lhs.2 'this'
7589310 ~486% {4} r3 = JOIN r2 WITH ApiGraphs::API::Impl::edge#2#fff@staged_ext ON FIRST 1 OUTPUT Lhs.1 'node', Lhs.2 'this', Rhs.1, InverseAppend("getMember(\"","\")",Rhs.1)
6994070 ~490% {4} r4 = SELECT r3 ON In.3 != "new"
6994070 ~4503% {2} r5 = SCAN r4 OUTPUT In.1 'this', In.0 'node'
22 ~4% {3} r6 = JOIN DataFlowPublic::CallCfgNode#class#ff#shared WITH project#DataFlowPublic::CallCfgNode::getArgByName_dispred#fff ON FIRST 1 OUTPUT "hashlib", Lhs.1 'node', Lhs.0 'this'
22 ~0% {3} r7 = JOIN r6 WITH ApiGraphs::API::Impl::MkModuleImport#ff@staged_ext ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'node', Lhs.2 'this'
1122 ~437% {4} r8 = JOIN r7 WITH ApiGraphs::API::Impl::edge#2#fff@staged_ext ON FIRST 1 OUTPUT Lhs.1 'node', Lhs.2 'this', Rhs.1, InverseAppend("getMember(\"","\")",Rhs.1)
1034 ~460% {4} r9 = SELECT r8 ON In.3 != "new"
1034 ~4549% {2} r10 = SCAN r9 OUTPUT In.1 'this', In.0 'node'
6995104 ~4503% {2} r11 = r5 UNION r10
5213851 ~4683% {3} r12 = JOIN r11 WITH ApiGraphs::API::Node::getACall_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'hashClass', Lhs.1 'node', Lhs.0 'this'
6478480 ~4646% {6} r13 = JOIN r12 WITH ApiGraphs::API::Impl::edge#2#fff_201#join_rhs ON FIRST 1 OUTPUT "hashlib", Rhs.1, Lhs.1 'node', Lhs.2 'this', Lhs.0 'hashClass', Rhs.2
1410 ~4693% {5} r14 = JOIN r13 WITH ApiGraphs::API::Impl::MkModuleImport#ff@staged_ext ON FIRST 2 OUTPUT Lhs.2 'node', Lhs.3 'this', Lhs.4 'hashClass', Lhs.5, InverseAppend("getMember(\"","\")",Lhs.5)
1222 ~4540% {5} r15 = SELECT r14 ON In.4 'hashName' != "new"
1222 ~4540% {4} r16 = SCAN r15 OUTPUT In.1 'this', In.4 'hashName', In.2 'hashClass', In.0 'node'
```
By factoring out the insides, the biggest iteration now looks like
```
[2021-07-12 14:17:36] (0s) Tuple counts for Stdlib::Stdlib::HashlibDataPassedToHashClass#class#ffff/4@85bb21:
148810 ~0% {2} r1 = JOIN DataFlowPublic::CallCfgNode#class#ff#shared WITH project#DataFlowPublic::CallCfgNode::getArg_dispred#fff ON FIRST 1 OUTPUT Lhs.1 'node', Lhs.0 'this'
148810 ~0% {2} r2 = JOIN r1 WITH Stdlib::Stdlib::hashlibMember#ff#nonempty CARTESIAN PRODUCT OUTPUT Lhs.1 'this', Lhs.0 'node'
22 ~0% {2} r3 = JOIN DataFlowPublic::CallCfgNode#class#ff#shared WITH project#DataFlowPublic::CallCfgNode::getArgByName_dispred#fff ON FIRST 1 OUTPUT Lhs.1 'node', Lhs.0 'this'
22 ~0% {2} r4 = JOIN r3 WITH Stdlib::Stdlib::hashlibMember#ff#nonempty CARTESIAN PRODUCT OUTPUT Lhs.1 'this', Lhs.0 'node'
148832 ~0% {2} r5 = r2 UNION r4
110933 ~2% {3} r6 = JOIN r5 WITH ApiGraphs::API::Node::getACall_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'hashClass', Lhs.1 'node', Lhs.0 'this'
26 ~0% {4} r7 = JOIN r6 WITH Stdlib::Stdlib::hashlibMember#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.2 'this', Rhs.1 'hashName', Lhs.0 'hashClass', Lhs.1 'node'
return r7
```
(The tuple counts themselves are not directly comparable.)
2021-07-12 14:22:21 +00:00
Rasmus Wriedt Larsen
47f5c977cf
Python: Port py/stack-trace-exposure to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
934007c811
Python: Port py/unsafe-deserialization to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
7c71223f7f
Python: Port py/url-redirection to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
b4c0b1b525
Python: Port py/reflective-xss to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
62e4445f45
Python: Port py/command-line-injection to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
7f53781ba7
Python: Port py/code-injection to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
0be280c608
Python: Port py/sql-injection to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Tom Hvitved
6ba6d9931c
C#: Skip dotnet restore in standalone extraction when nuget_restore: false is set
2021-07-12 15:16:16 +02:00
Mathias Vorreiter Pedersen
be06230b43
Merge branch 'main' into path-sensitive-stack-variable-reachability-analysis
2021-07-12 14:46:44 +02:00
Asger F
d8927e5612
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-07-12 14:23:58 +02:00
Erik Krogh Kristensen
c4f5009917
make explicit calls to member predicates
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-07-12 14:22:08 +02:00
Erik Krogh Kristensen
d22ebadcf2
add support for many more case changing libraries
2021-07-12 14:09:34 +02:00
Mathias Vorreiter Pedersen
dec747f6f0
Merge branch 'main' into more-random-sources-in-uncontrolled-arithmetic
2021-07-12 13:48:48 +02:00
Erik Krogh Kristensen
a5d1325d3f
add support for the change-case library
2021-07-12 13:37:06 +02:00
Taus
1e79091120
Python: Fix typo
2021-07-12 11:33:52 +00:00
Mathias Vorreiter Pedersen
c47d680d65
Merge pull request #6168 from criemen/fix-warning
...
C++: Fix warning from compile-query.
2021-07-12 12:41:29 +02:00
Tom Hvitved
47d126e681
Data flow: Sync
2021-07-12 12:09:51 +02:00
Tom Hvitved
09daf86e33
Data flow: Fix bad join-orders in summaryNodeType
2021-07-12 12:09:06 +02:00
Taus
32062d83ad
Python: Make deprecation warning more prominent
2021-07-12 10:00:21 +00:00
Taus
200da983d9
Python: Add change note
2021-07-12 09:59:17 +00:00
Mathias Vorreiter Pedersen
04dcef5ec4
C++: Include ComplementExpr as a sanitizer.
2021-07-12 11:53:47 +02:00
Cornelius Riemenschneider
d34f7b941a
C++: Address code review.
2021-07-12 11:43:43 +02:00
Cornelius Riemenschneider
e821b8be99
C++: Fix warning from compile-query.
2021-07-12 11:43:43 +02:00
Mathias Vorreiter Pedersen
d2cc0d3925
C++: Fix annotations.
2021-07-12 11:30:43 +02:00
Erik Krogh Kristensen
bef7e61e76
add support for the fast-json-stringify library
2021-07-12 11:13:01 +02:00
Erik Krogh Kristensen
40aa970db3
add support for the strip-json-comments library
2021-07-12 11:08:50 +02:00
Erik Krogh Kristensen
23c3be6860
add support for the json-cycle library
2021-07-12 11:03:39 +02:00
Asger Feldthaus
5df961c4ed
JS: Add change note
2021-07-12 10:53:41 +02:00
Erik Krogh Kristensen
94cbc4b2c0
add step through the fclone library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
f99a33598f
add support for the safe-stable-stringify library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
d6300bced3
add support for the replicator library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
babf657d9d
add support for the teleport-javascript library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
9261b7f859
add support for the flatted library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
1792c9a611
add taint step through the prettyjson library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
0bfff1eb7e
add support for the json5 library
2021-07-12 10:51:42 +02:00
Erik Krogh Kristensen
cb3bd4901b
add taint step through the json2csv library
2021-07-12 10:51:42 +02:00
Tom Hvitved
db4c8dfd3c
Merge pull request #6208 from hvitved/csharp/query-modules
...
C#: Add `Query` suffix to libraries that should only be imported by queries
2021-07-12 10:26:45 +02:00
Anders Schack-Mulligen
0e913a19aa
Merge pull request #6220 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-12 09:54:18 +02:00
github-actions[bot]
56419bc74b
Add changed framework coverage reports
2021-07-12 00:06:55 +00:00
Erik Krogh Kristensen
440e4b9a92
enable unicode support in the Python ReDoS query
2021-07-11 21:28:40 +02:00
ihsinme
eedcb0171d
Add files via upload
2021-07-05 11:14:51 +03:00
ihsinme
b10bdf1475
Add files via upload
2021-07-05 11:13:05 +03:00
Tom Hvitved
4de4753c67
C#: Remove Query.qll top-level modules
2021-07-04 09:35:27 +02:00
Tom Hvitved
c812d4e4e8
C#: Add Query suffix to libraries that should only be imported by queries
2021-07-04 09:35:26 +02:00
Taus
a65d40e36f
Merge branch 'main' into python-add-typetrackingnode
2021-07-02 20:55:37 +02:00
Taus
55d822cc56
Python: Add TypeTrackingNode
...
Splits `ModuleVariableNode` away from `LocalSourceNode`, instead
creating a class `TypeTrackingNode` that encapsulates both of these.
This means we no longer have module variable nodes as part of
`LocalSourceNode` (which is good, since they have no "local" aspect to
them), and hence we can have `LocalSourceNode` inherit directly from
`ExprNode` (which makes the API a bit nicer).
Unfortunately these are breaking changes, so we can't actually fulfil
the above two desiderata until the `track` and `backtrack` methods on
`LocalSourceNode` have been fully deprecated. For this reason, we
preserve the present implementation of `LocalSourceNode`, and instead
lay the foundation for switching over in the future, by deprecating
`track` and `backtrack` on `LocalSourceNode`.
2021-07-02 18:00:33 +00:00
CodeQL CI
1d56748eed
Merge pull request #6200 from yoff/pythonJS-make-expbtlib-private
...
Approved by RasmusWL, esbena
2021-07-02 09:09:18 -07:00
Joe Farebrother
4d459f24d9
Fix up tests and update models
2021-07-02 14:46:33 +01:00
Joe Farebrother
fc017b7934
Use ArrayElement of in flow step specifications
2021-07-02 14:46:31 +01:00
Joe Farebrother
15415931ce
Use Argument ranges in CSV rows
2021-07-02 14:46:03 +01:00
Joe Farebrother
5325622813
Convert sql-related flow steps to CSV
2021-07-02 14:46:03 +01:00
Anders Schack-Mulligen
3c6604daa7
Java: Fix subtypes interpretation.
2021-07-02 14:43:56 +02:00
Anders Schack-Mulligen
6813a79423
Java: Add test for override of Map.put highlighting problem.
2021-07-02 14:41:59 +02:00
Anders Schack-Mulligen
55ebbc3e01
Java: Add signature to Map.put.
2021-07-02 14:41:32 +02:00
Geoffrey White
cfbfe924ef
C++: Replace cached with more efficient QL.
2021-07-02 13:03:46 +01:00
CodeQL CI
a25933aa56
Merge pull request #5926 from RasmusWL/small-cleanups
...
Approved by tausbn
2021-07-02 04:59:54 -07:00
Asger Feldthaus
457ce14ca6
JS: Summarize steps into captured variables
2021-07-02 13:42:42 +02:00
Rasmus Wriedt Larsen
3c8c2d1da1
Merge pull request #6209 from yoff/python-add-redos-queryhelp
...
Python: port redos .qhelp from js
2021-07-02 13:42:39 +02:00
Asger Feldthaus
093ff41170
JS: Update tests
2021-07-02 13:31:17 +02:00
Rasmus Wriedt Larsen
81fab487a4
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-07-02 13:27:41 +02:00
Rasmus Wriedt Larsen
22c155687e
Python: Fix code after removing getPostUpdateNode
2021-07-02 13:25:25 +02:00
Rasmus Wriedt Larsen
7a6eee50ff
Revert "Python: Add getPostUpdateNode to DataFlow::Node"
...
This reverts commit 9137f04bd3 .
2021-07-02 13:23:02 +02:00
Rasmus Wriedt Larsen
e56dfe75bd
Python: AttrRef getOjbect/1 -> accesses/2
...
See this thread for discussion:
https://github.com/github/codeql/pull/5926#discussion_r635384981
2021-07-02 13:21:12 +02:00
Asger Feldthaus
ff49aaa684
JS: Do not capture own variables
2021-07-02 13:17:32 +02:00
Asger Feldthaus
8befb03cb9
JS: Add test case with spurious call/return flow
2021-07-02 13:17:32 +02:00
CodeQL CI
38f763dd6a
Merge pull request #6192 from asgerf/js/string-literals-as-source-nodes
...
Approved by esbena
2021-07-02 03:47:20 -07:00
Rasmus Lerchedahl Petersen
6f2642607e
Python: make the import of RedosUtil public
...
This mirrors `SuperlinearBacktracking.qll`
An alternative is to keep it private and import it again
in the query files.
2021-07-02 12:32:04 +02:00
Chris Smowton
6823855e9c
Merge pull request #6203 from smowton/smowton/admin/avoid-config-imports-from-qlls
...
Java: Reduce DataFlow Configuration pollution from Random.qll and JexlInjection.qll
2021-07-02 11:27:27 +01:00
Chris Smowton
ca1bf7791e
Merge pull request #6210 from tamasvajk/fix/large-coverage-comment
...
Fix markdown link in framework coverage PR comment
2021-07-02 11:27:17 +01:00
Rasmus Lerchedahl Petersen
77c329fb0f
Python/JS: Make much more private
2021-07-02 12:13:52 +02:00
Tamás Vajk
4a5fe75d8c
Merge pull request #6207 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-02 12:00:31 +02:00
Asger Feldthaus
c3b7d85341
JS: Update test output after rebasing
2021-07-02 11:57:45 +02:00
Tamas Vajk
f3f069fed5
Fix markdown link in framework coverage PR comment
2021-07-02 11:56:00 +02:00
Asger Feldthaus
7249d2892a
JS: Add comment to VueTemplateSink class
2021-07-02 11:55:56 +02:00
Asger Feldthaus
0105b829c4
JS: Update test output
2021-07-02 11:55:56 +02:00
Asger Feldthaus
6d9b96f6e8
JS: Dont use getALocalSource() when marking Vue template sinks
2021-07-02 11:55:56 +02:00
Asger Feldthaus
472b41f5e1
JS: Update React to handle string literals being SourceNodes
2021-07-02 11:55:56 +02:00
Asger Feldthaus
39c204ac39
JS: Treat string literals as source nodes
2021-07-02 11:55:56 +02:00
Rasmus Lerchedahl Petersen
1fc9638486
Python: port redos .qhelp from js
2021-07-02 11:36:46 +02:00
Chris Smowton
a51154a8ef
Deduplicate Jexl configuration
2021-07-02 10:02:28 +01:00
Chris Smowton
d022c57903
Add change note
2021-07-02 10:02:28 +01:00
Chris Smowton
bbd3ecb768
Add docs to RandomQuery.qll
2021-07-02 10:02:28 +01:00
Chris Smowton
e661fc08d3
Split Android XSS sink defintions out of XSS.qll
...
This removes one of the routes by which XSS.qll is always in scope, and so its dataflow configuration is too -- however it is still always in scope because JaxWS.qll imports it.
2021-07-02 10:02:25 +01:00
Chris Smowton
747a8e4157
Split up JexlInjection.qll
...
This avoids a DataFlow2::Configuration being in scope for all queries via the import from ExternalFlow.qll
2021-07-02 10:01:51 +01:00
Chris Smowton
643f7dfb87
Split up Random.qll
...
This prevents bringing a dataflow config into scope from utility libraries.
2021-07-02 10:00:49 +01:00
Asger Feldthaus
8177b5747a
JS: Bump TypeScript version to 4.3.5
2021-07-02 10:57:27 +02:00
Anders Schack-Mulligen
80124df78e
Merge pull request #5487 from joefarebrother/sql-sinks
...
Java: Convert SQL sinks to CSV format
2021-07-02 10:51:09 +02:00
CodeQL CI
61ee193dc0
Merge pull request #6197 from asgerf/js/recompose
...
Approved by esbena
2021-07-02 00:58:06 -07:00
Esben Sparre Andreasen
0cf9c95981
Merge pull request #6193 from esbena/esbena/mootools-xss
...
JS: add Mootools XSS sinks
2021-07-02 09:24:56 +02:00
Anders Schack-Mulligen
4e1155cfd2
Merge pull request #6202 from smowton/smowton/admin/cleanup-duplicated-experimental-query
...
Deduplicate shared body of regular and experimental versions of `java/command-line-injection` query.
2021-07-02 09:23:50 +02:00
Anders Schack-Mulligen
f9da044e54
Merge pull request #6185 from aschackmull/java/perf-fix-request-forgery
...
Java: Fix bad magic.
2021-07-02 09:07:07 +02:00
github-actions[bot]
55aff21587
Add changed framework coverage reports
2021-07-02 00:09:02 +00:00
Taus
a9c1d3ba86
Python: Clean up LocalSourceNode charpred
...
This results in the same set of nodes, but is a bit more clear about
the reasons why. For instance, `ModuleVariableNode`s are included
directly, and not in a roundabout way by virtue of not having flow to
them. This should hopefully be a bit more robust as well.
2021-07-01 19:12:18 +00:00
Geoffrey White
41a540e4e0
C++: Make isMicrosoft() faster.
2021-07-01 17:42:02 +01:00
Taus
f151338def
Merge pull request #6198 from RasmusWL/fix-cleartext-logging
...
Python: Some minor fixes to `py/clear-text-logging-sensitive-data`
2021-07-01 18:28:25 +02:00
Chris Smowton
8b7db8a8cc
Merge pull request #5408 from p0wn4j/urlclassloader-webclient-ssrf-sinks
...
Java: Add URLClassLoader, WebClient SSRF sinks
2021-07-01 16:14:22 +01:00
Tamás Vajk
05842dcdb3
Merge pull request #6181 from tamasvajk/feature/test-options-files
...
C#: Start using 'options' files in tests
2021-07-01 17:03:27 +02:00
Taus
336c0662ef
Python: Remove pointless LocalSourceNodes
...
This gets rid of a large number of nodes that seemingly have no impact.
2021-07-01 15:02:31 +00:00
Joe Farebrother
1e82c607ef
Mark failing tests as missing
2021-07-01 15:29:47 +01:00
Tamas Vajk
5e2770339f
Add adjusted expected files
2021-07-01 16:09:11 +02:00
Tamas Vajk
03d1a3e0ad
Trim test files + remove duplicate newlines
2021-07-01 16:09:11 +02:00
Tamas Vajk
4900ecfabe
Manual fixes
2021-07-01 16:09:11 +02:00
Tamas Vajk
c29d11087b
C#: Start using 'options' files in tests
2021-07-01 16:08:47 +02:00
Chris Smowton
e0a7f6e14f
Fix URLClassLoader test
2021-07-01 15:03:38 +01:00
Chris Smowton
d5a9f3d87b
Deduplicate shared body of regular and experimental versions of java/command-line-injection query.
2021-07-01 14:53:56 +01:00
Joe Farebrother
160f3b4312
Remove ArrayElement from sink specifications
2021-07-01 14:41:39 +01:00
Joe Farebrother
4bea33402c
Rename test labels for more clarity
2021-07-01 14:38:20 +01:00
Joe Farebrother
1a06c132be
Use ArrayElement of to handle arargs case in SpringJdbc.qll
2021-07-01 14:38:20 +01:00
Joe Farebrother
29f82fc81f
Use ArrayElementOf in Android sinks
2021-07-01 14:38:19 +01:00
Joe Farebrother
f4a59cc2e3
Convert tainted arrays to arrays of tainted elements in tests
2021-07-01 14:38:19 +01:00
Joe Farebrother
865477d020
Convert android tests to inline expectations
2021-07-01 14:38:19 +01:00
Joe Farebrother
95d8018a43
Include overrides for SQLiteQueryBuilder sinks
2021-07-01 14:38:19 +01:00
Joe Farebrother
0d4f8aedb8
Use Argument ranges in CSV rows
2021-07-01 14:38:19 +01:00
Joe Farebrother
7926d16844
Convert SQL sinks to CSV format
2021-07-01 14:38:19 +01:00
Rasmus Lerchedahl Petersen
eee56e0156
Python/JS: Make most of the new library private
2021-07-01 15:34:06 +02:00
Chris Smowton
44e8dd9ec5
Add change note
2021-07-01 13:36:00 +01:00
Anders Schack-Mulligen
cda5c22f6e
Merge pull request #5590 from github/sauyon/java-spring-errors
...
Add models for Spring validation.Errors
2021-07-01 14:29:49 +02:00
Asger Feldthaus
993cc29275
JS: Autoformat
2021-07-01 14:22:44 +02:00
Anders Schack-Mulligen
37f8794d01
Merge pull request #6165 from edoardopirovano/fix-regression
...
Performance: Improve join order in data flow library
2021-07-01 14:13:18 +02:00
Rasmus Wriedt Larsen
b0309dd321
Python: Limit SensitiveDataSources to prevent _some_ cross-talk
2021-07-01 12:08:12 +02:00
Rasmus Wriedt Larsen
f64e58a21c
Python: Fix a QLDoc for SensitiveDataSources
2021-07-01 12:05:59 +02:00
Rasmus Wriedt Larsen
d7e3ebb15c
Python: Add tests showing sensitive data cross-talk
2021-07-01 12:05:51 +02:00
Esben Sparre Andreasen
85b9003af4
JS: add Mootools XSS sinks
2021-07-01 09:17:27 +02:00
yo-h
d325d2ae81
Merge pull request #6180 from tamasvajk/fix/coverage-report-search-path
...
Upgrade database in coverage report jobs
2021-06-30 21:00:09 -04:00
p0wn4j
0db7496617
Add URLClassLoader and Spring WebClient SSRF sinks
2021-07-01 03:34:14 +04:00
Rasmus Wriedt Larsen
d9e2f504f8
Python: Fix clear text logging sink
...
No need to restrict it to arguments that are calls
2021-06-30 20:31:17 +02:00
Taus
e4af14638b
Merge pull request #6175 from yoff/python-port-ReDoS
...
Python: port ReDoS queries from Javascript
2021-06-30 16:26:07 +02:00
Chris Smowton
753c878f48
Also cover jakarta version of javax.json, and some missed methods
2021-06-30 15:04:15 +01:00
yoff
6a77b890af
Merge pull request #6155 from RasmusWL/port-cleartext-queries
...
Python: Port cleartext queries
2021-06-30 15:52:34 +02:00
Taus
fc71a648c0
Merge pull request #6092 from RasmusWL/markupsafe-modeling
...
Python: Add `MarkupSafe` model
2021-06-30 15:52:10 +02:00
Anders Schack-Mulligen
d8b017e6c0
Merge pull request #6036 from atorralba/atorralba/spring-beans
...
Java: Flow summaries for Spring's Bean Properties classes
2021-06-30 15:41:24 +02:00
Anders Schack-Mulligen
b8b6f05603
Merge pull request #6187 from aschackmull/java/perf-fix-variable-getinit
...
Java: Fix bad join-order.
2021-06-30 15:39:00 +02:00
Rasmus Lerchedahl Petersen
a176e6ac30
Python: comment out temporarily unused predicate
2021-06-30 15:28:31 +02:00
Asger Feldthaus
376efaa46c
JS: Change note
2021-06-30 15:10:52 +02:00
Asger Feldthaus
780453008a
JS: Drive-by fixes in ComposedFunctions.qll
2021-06-30 15:07:59 +02:00
Asger Feldthaus
7e2871bfdf
JS: Propagate React components through recompose HOCs
2021-06-30 15:05:28 +02:00
Rasmus Lerchedahl Petersen
45e30b0c06
Python: comment out temporarily unused predicate
2021-06-30 15:04:37 +02:00
Rasmus Lerchedahl Petersen
c306cee04e
Python: mimic JS file hierarchy
2021-06-30 15:03:22 +02:00
Rasmus Lerchedahl Petersen
651f8abba0
Python: Avoid multiple results for toString
2021-06-30 14:39:49 +02:00
Rasmus Wriedt Larsen
c2708176b1
Python: Support %-style formatting for MarkupSafe
2021-06-30 14:15:41 +02:00
Rasmus Wriedt Larsen
0a4efd0e86
Python: Add %-style formatting tests for MarkupSafe
2021-06-30 14:13:59 +02:00
Rasmus Wriedt Larsen
c84658dff1
Python: Use MethodCallNode for MarkupSafe string-format
2021-06-30 13:58:09 +02:00
Rasmus Wriedt Larsen
d6e8fafdbd
Python: Proper sorting in Frameworks.qll
2021-06-30 13:55:26 +02:00
Rasmus Wriedt Larsen
075953860b
Merge branch 'main' into markupsafe-modeling
2021-06-30 13:55:08 +02:00
Anders Schack-Mulligen
f03d460e95
Java: Fix bad join-order.
2021-06-30 13:42:45 +02:00
Tamas Vajk
dc63f23d6b
Fix review findings
2021-06-30 13:40:36 +02:00
Tamas Vajk
6a35c8c5f4
Upgrade database in coverage report jobs
2021-06-30 13:40:36 +02:00
Tamás Vajk
10a6089739
Merge pull request #6148 from tamasvajk/feature/try-csv-source-models
...
C#: Start using CSV based flow models
2021-06-30 12:58:42 +02:00
Tony Torralba
a3e1b139c3
Fix spring stubs location
2021-06-30 12:56:45 +02:00
Tony Torralba
0bb9e464b2
Merge branch 'main' into atorralba/spring-beans
2021-06-30 12:55:10 +02:00
Rasmus Lerchedahl Petersen
72986e1e28
Python: Add some comments on the booelan sweep
...
pattern
2021-06-30 12:50:36 +02:00
Rasmus Lerchedahl Petersen
4ca0ee87f0
Merge branch 'main' of github.com:github/codeql into python-port-ReDoS
2021-06-30 12:28:54 +02:00
Rasmus Lerchedahl Petersen
52d91917aa
Merge branch 'python-port-ReDoS' of github.com:yoff/codeql into python-port-ReDoS
2021-06-30 12:25:59 +02:00
Rasmus Lerchedahl Petersen
09e71cfdfd
Python: update test expectations
2021-06-30 12:25:29 +02:00
Rasmus Lerchedahl Petersen
6dfbf80494
Python: Disable use of toUnicode
...
until supporting CLI is released
2021-06-30 12:21:52 +02:00
Rasmus Wriedt Larsen
e5d65992b4
Python: Use DefinitionNode instead of Assign
...
Based on https://github.com/github/codeql/pull/6155#discussion_r660964666 :
> Hmm... Would it be better to do this using DefinitionNode instead of
> Assign? The latter is fairly limited in what it can represent, and also
> raises questions of whether this definition is sound with regard to
> control-flow splitting.
2021-06-30 12:08:32 +02:00
yoff
c19522e921
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-06-30 11:49:45 +02:00
Tamas Vajk
0946ae2ae9
Fix review findings
2021-06-30 11:39:51 +02:00
Anders Schack-Mulligen
e235e151f1
Java: Fix bad magic.
2021-06-30 11:09:08 +02:00
Geoffrey White
4a8299e5d0
C++: Change note.
2021-06-30 09:21:10 +01:00
Tony Torralba
9d64cadb50
Adapt tests after applying changes from code review
2021-06-30 10:02:03 +02:00
Tony Torralba
b64b8ecec2
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-30 09:52:22 +02:00
Anders Schack-Mulligen
374859efb4
Merge pull request #6156 from smowton/smowton/feature/jax-rs-content-type-sensitivity
...
Jax RS XSS Tests
2021-06-30 09:52:07 +02:00
Tamás Vajk
a0e768bb43
Merge pull request #6172 from tamasvajk/fix/csv-comment-again
...
Fix CSV framework coverage commenter workflow
2021-06-30 09:10:47 +02:00
Tom Hvitved
22dd53f245
Merge pull request #6167 from hvitved/csharp/trap-stack-preprocessor-conditions
...
C#: Add active preprocessor conditions as suffix in all TRAP `.push` instructions
2021-06-30 08:34:47 +02:00
Sauyon Lee
52d1901d6e
Adjust validation models to reflect array parameters
2021-06-29 12:01:24 -07:00
Sauyon Lee
52b24118b3
Add tests for Spring validation.Errors
2021-06-29 12:01:23 -07:00
Geoffrey White
dcc7a6360f
C++: Simplify a bit and remove two noopts that don't seem to make a difference.
2021-06-29 19:05:13 +01:00
Edoardo Pirovano
8354f66c29
Performance: Improve join order in data flow library
2021-06-29 18:23:22 +01:00
Geoffrey White
5bf7e453e6
C++: Tidy up WrongTypeFormatArguments.ql somewhat.
2021-06-29 16:45:47 +01:00
Geoffrey White
6e49891ed9
C++: Accept Microsoft/non-Microsoft format specifiers on the opposite platform.
2021-06-29 16:45:46 +01:00
Chris Smowton
bb5fefa47f
Sync FlowSummaryImpl.qll
2021-06-29 15:59:55 +01:00
Chris Smowton
47ccb19b84
SSV -> CSV everywhere
...
While these are semicolon-delimited, we use CSV as a generic term for delimited values
2021-06-29 15:59:43 +01:00
Chris Smowton
92ab650b7d
Use new interpretSpec/2 predicate where appropriate
2021-06-29 15:59:43 +01:00
Chris Smowton
28ab4c083b
Make interpretSpec/3 private again
2021-06-29 15:59:43 +01:00
Chris Smowton
c94c69415f
Document Content::hasLocationInfo
2021-06-29 15:59:43 +01:00
Chris Smowton
cf7c966ea7
GenerateFlowTestCase: make imports private
2021-06-29 15:59:43 +01:00
Chris Smowton
5a71812001
Adjust import
...
Type Content has moved into DataFlowUtil
2021-06-29 15:59:43 +01:00
Chris Smowton
95b640db20
Resolve missing qldoc errors
...
Document some, make some private, and delete the needless modules surrounding the spring models.
2021-06-29 15:59:43 +01:00
Chris Smowton
036733d3e7
Sync FlowSummaryImpl.qll
2021-06-29 15:59:43 +01:00
Chris Smowton
eda7bb6aa2
Fix: restrict generated test cases to requested rows
2021-06-29 15:59:14 +01:00
Chris Smowton
bd1bd8cf08
Switch to an abstract unit / predicate approach to specifying rows to generate tests for
...
This enables moving this code into the qll file, rather than having to specify a query predicate in the .ql
2021-06-29 15:59:14 +01:00
Chris Smowton
f3868887b8
Test case generator: rework to use a less-invasive ExternalFlow API
...
Some predicate/type names and docs are also improved
2021-06-29 15:59:14 +01:00
Chris Smowton
59725d635b
Test case generator: improve error reporting
...
We now distinguish cases where SSV rows are not in scope at all from those where they don't identify a known type or method, or where input or output specs could not be parsed.
2021-06-29 15:59:14 +01:00
Chris Smowton
dff9c717bc
Fix test case generation when no auxiliary support functions are required
2021-06-29 15:59:14 +01:00
Chris Smowton
c49d5253f0
Revise ExternalFlow and FlowSummaryImpl API used for test generation
2021-06-29 15:59:14 +01:00
Chris Smowton
b1af90991d
Add help text to GenerateFlowTestCase.py
2021-06-29 15:59:14 +01:00
Chris Smowton
5f1a491516
Fix test-generation when a type variable's bound is itself a type variable
...
For example, class G<A, B extends A>
2021-06-29 15:59:14 +01:00
Chris Smowton
e542e71cf5
Fix testing methods with 2-qualifier or deeper input specifications
...
For example, an identity function on lists-of-maps, which might convey MapValue of Element of Argument[0] to MapValue of Element of ReturnValue, requiring `newWithElement(newWithMapValue(source())` on the input side but `getMapValue(getElement(out))` on the output side.
2021-06-29 15:59:13 +01:00
Chris Smowton
0d8124bc95
Document test generator
2021-06-29 15:59:13 +01:00
Chris Smowton
617201930d
Always use source declarations (i.e, raw types) when naming types in tests
2021-06-29 15:59:13 +01:00
Chris Smowton
e8acfec070
Fix formatting of instance variables
2021-06-29 15:59:13 +01:00
Chris Smowton
e2cfc17bfe
Fix output of nested and generic type names, and disambiguate overloads where necessary
2021-06-29 15:59:11 +01:00
Chris Smowton
6d9661f412
Fix open-for-writing statement
2021-06-29 15:58:39 +01:00
Chris Smowton
d6edfd50da
Determine when a model row didn't produce any tests; fix the model specifications revealed defective by this feature.
2021-06-29 15:55:34 +01:00
Chris Smowton
6360e0b7c4
Add flow-through test case generator
2021-06-29 15:55:13 +01:00
Chris Smowton
6fee40cfde
Add flow-through test case generator
2021-06-29 15:55:13 +01:00
Chris Smowton
ba5dc3cdbc
Add models of the javax.json package
2021-06-29 15:21:01 +01:00
Rasmus Wriedt Larsen
94bcda3bae
Python: Highlight problem picking DataFlow::Node for Assign
2021-06-29 15:32:16 +02:00
Sauyon Lee
b76f761e56
Import springvalidation in ExternalFlow.qll
2021-06-29 05:51:58 -07:00
Sauyon Lee
aa0fbce28e
Remove unnecessary code from stubs
2021-06-29 05:51:38 -07:00
Sauyon Lee
92f1c51653
fixup! Add models for Spring validation.Errors
...
Rename SpringErrors to SpringValidation
2021-06-29 05:51:36 -07:00
Sauyon Lee
534ab86900
Add models for Spring validation.Errors
2021-06-29 05:51:21 -07:00
Sauyon Lee
fe2b73ed72
Stub more of Spring
2021-06-29 05:51:19 -07:00
Chris Smowton
d4bb8a70c2
Merge pull request #5976 from github/sauyon/java/spring-util
...
Model Spring `util`
2021-06-29 13:50:12 +01:00
Anders Schack-Mulligen
ad8bef5177
Update java/ql/src/semmle/code/java/frameworks/spring/SpringUtil.qll
2021-06-29 14:08:48 +02:00
Chris Smowton
48d4493146
Fix test indentation
2021-06-29 12:42:20 +01:00
Chris Smowton
9551321592
Fix LinkedMultiValueMap models and make tests more realistic
2021-06-29 12:40:57 +01:00
Chris Smowton
60179ce8f0
Genericise MultiValueMaps; remove non-longer-needed casts
2021-06-29 12:32:22 +01:00
Chris Smowton
916c7c576d
Remove superfluous (Object) casts
2021-06-29 12:28:42 +01:00
Chris Smowton
71f6d59646
Genericise test util functions
2021-06-29 12:27:03 +01:00
Chris Smowton
60126b406f
Clean up test
...
Remove unused import; drop unused util methods and needless casts.
2021-06-29 12:20:47 +01:00
Chris Smowton
d6c4325c13
Import SpringUtil from ExternalFlow.qll
2021-06-29 12:18:30 +01:00
Anders Schack-Mulligen
1bd01a5eee
Update java/ql/test/library-tests/frameworks/spring/util/test.ql
2021-06-29 13:13:09 +02:00
Chris Smowton
3d270bbc50
Drop models for stringifying functions
...
Per default stringification isn't taint-propagating in Java
2021-06-29 12:01:08 +01:00
Chris Smowton
0441098b18
Amend models of MultiValueMap.addAll overloads
2021-06-29 11:58:46 +01:00
Chris Smowton
b202110285
Drop redundant model that can be inherited from java.util.Iterator
2021-06-29 11:47:22 +01:00
Chris Smowton
f67e9ae1cc
Drop tests for protected inner classes
2021-06-29 11:45:59 +01:00
Chris Smowton
5769f4718f
Add missing CollectionUtils model
2021-06-29 11:44:29 +01:00
Chris Smowton
659478cc39
Remove model for protected class
...
Can't be accessed outside the org.springframework.util package.
2021-06-29 11:40:19 +01:00
Chris Smowton
f7a4614f56
Add missing tests for AntPathMatcher's protected methods; fix models accordingly
2021-06-29 11:35:25 +01:00
Rasmus Lerchedahl Petersen
b684434a58
Merge branch 'main' of github.com:github/codeql into python-port-ReDoS
2021-06-29 11:45:21 +02:00
Rasmus Lerchedahl Petersen
e778a65464
Python: Adjust test expectations
...
so we can see the light go green.
But we should perhaps do something about those duplicate results.
2021-06-29 11:29:42 +02:00
Rasmus Lerchedahl Petersen
fbfe415162
Python: Limit test files
2021-06-29 11:18:24 +02:00
Rasmus Lerchedahl Petersen
6f2cdbf59e
Python: Give up on providing values for form feeds
2021-06-29 11:14:27 +02:00
Rasmus Lerchedahl Petersen
ffb8938e52
Python: undo autoformat character mangling
2021-06-29 11:06:17 +02:00
Rasmus Lerchedahl Petersen
135b71b649
Python: Apply performance fix by @hvitved
2021-06-29 11:01:33 +02:00
Chris Smowton
dec0123751
Autoformat
2021-06-29 09:52:24 +01:00
Tom Hvitved
125d435d62
C#: Address review comments
2021-06-29 10:50:45 +02:00
Anders Schack-Mulligen
89cea5cc1a
Merge pull request #6178 from github/yo-h/java-sealed-classes
...
Java: add `permits` relation to dbscheme (sealed classes)
2021-06-29 10:43:37 +02:00
Anders Schack-Mulligen
53823e4a36
Merge pull request #6179 from github/yo-h/java-frameworks-jakarta
...
Java: add `jakarta.*` package to known frameworks
2021-06-29 09:38:55 +02:00
Tamas Vajk
513482b4d5
Adjust code review findings (string escaping)
2021-06-29 08:45:13 +02:00
yo-h
2e8bd621bd
Merge pull request #6164 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-06-28 22:04:00 -04:00
yo-h
3c3ecb33a1
Java: add jakarta.* package to known frameworks
2021-06-28 21:49:45 -04:00
yo-h
aa19fe606d
Java: add dbscheme stats for permits relation
2021-06-28 21:18:25 -04:00
github-actions[bot]
991404aefb
Add changed framework coverage reports
2021-06-29 00:10:00 +00:00
yo-h
1f6996002a
Java: add permits relation to dbscheme (sealed classes)
2021-06-28 19:48:39 -04:00
Chris Smowton
dd70f2c87e
Add spurious results now found in JaxXSS.java
2021-06-28 19:24:19 +01:00
Chris Smowton
768a8e78dd
Fixup JaxRs.ql to cope with stubbed MediaType file
...
In a real-world situation this type would be defined in an imported jar, but since here it is defined in a stub the getADeclaredContentType routine can see it is defined as an empty string in the stubbed implementation. Filter these out so the test more closely resembles the real situation.
2021-06-28 19:24:19 +01:00
Chris Smowton
8eaffaff35
Fix test mistakes
2021-06-28 19:24:19 +01:00
Chris Smowton
6b3bc42ef2
Add JAX-RS XSS tests
2021-06-28 19:24:18 +01:00
Chris Smowton
b3c186c513
Convert XSS test to inline expectations
2021-06-28 19:24:18 +01:00
Sauyon Lee
240058be28
fixup! Fix tests for Spring util
...
Apply review comments
2021-06-28 10:53:00 -07:00
Sauyon Lee
4012076c90
fixup! Model spring util
...
Apply review comments
2021-06-28 10:52:58 -07:00
Felicity Chapman
267e36919e
Merge pull request #6153 from github/docs-content-4456-multiple-dbs
...
Add information on multi-db options to the CodeQL CLI docs
2021-06-28 17:38:49 +01:00
Sauyon Lee
bddc88c010
Add stubs for Spring util tests
2021-06-28 08:26:40 -07:00
Sauyon Lee
60db9e1851
Rename springframework-5.2.3 to 5.3.8
2021-06-28 08:26:39 -07:00
Sauyon Lee
fb0e6bfb42
Fix tests for Spring util
2021-06-28 08:26:39 -07:00
Sauyon Lee
739b142209
Generate tests for Spring util
2021-06-28 08:26:38 -07:00
Sauyon Lee
92ebb63b1f
Model Spring AntPath utils
2021-06-28 08:26:38 -07:00
Sauyon Lee
c4e9b1fd8e
Model Spring util
2021-06-28 08:26:37 -07:00
Rasmus Lerchedahl Petersen
c7992f6c6e
Python: add change note
2021-06-28 17:24:37 +02:00
Rasmus Lerchedahl Petersen
40ac91eecd
Python: Add some tests for exponential ReDoS
...
- `KnownCVEs` contain the currently triaged Python CVEs
- `unittest.py` contains some tests constructed by @erik-krogh
- `redos.py` contains a port of `tst.js` from javascript
The expected file has been ported as well with some fixups by @tausbn
2021-06-28 17:04:49 +02:00
Rasmus Lerchedahl Petersen
591b6ef69c
Python: Add ReDoS as identical files from JS
...
The library specific file is `RegExpTreeView`.
The files are recorded as identical via the mapping
in `identical-files.json`.
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
d2eeaff441
JS: Refactor ReDoS to make files sharable
...
the extra ordering conditions in ReDoSUtil will be needed
for the Python implementation.
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
2c27ce7aa5
Python: Make ast viewer see regexes
...
This work is due to @erik-krogh who also
- made corresponding fixes to `RegexTreeView.qll`
- implemented `toUnicode` so it is available on `String`s
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
d953ba8dd4
Python: A parse-tree-view of regular expressions
...
This contains several contributions from @erik-krogh
and also some fixes from @nickrolfe
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
21007d21f4
Python: track if qualifiers allow unbounded
...
repeats. This in preparation for ReDoS
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
74ca1d00b9
Python: More precise regex parsing
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
e5f07cc4d3
Python: inline test of regex components
...
- Added naive implementation of `charRange` so the test can run.
- Made predicates public as needed.
2021-06-28 17:04:48 +02:00
Tony Torralba
8112d723e0
Merge branch 'main' into atorralba/spring-beans
2021-06-28 17:02:31 +02:00
Tony Torralba
393b95cbbe
Remove 'magic' from tests
2021-06-28 17:01:34 +02:00
Tamas Vajk
006303420b
Fix CSV framework coverage commenter workflow
2021-06-28 15:07:13 +02:00
Chris Smowton
ca4c519a2a
Merge pull request #6170 from smowton/smowton/admin/cleanup-exec-tainted-query
...
Change ID and description of cloned query
2021-06-28 13:22:34 +01:00
Felicity Chapman
c4047afc05
Add extra reference to docs.github.com
...
Clarify the existing reference and add one for CodeQL code scanning using GitHub Actions.
2021-06-28 12:30:49 +01:00
Felicity Chapman
b52b158c97
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-06-28 12:20:20 +01:00
Chris Smowton
3d69868297
Change ID and description of cloned query
...
This should be cleaned up more effectively soon, but this suffices to fix the clashing-id problem.
2021-06-28 12:18:59 +01:00
Tamas Vajk
3b5856907f
Add updated C# framework coverage report
2021-06-28 11:29:46 +02:00
Tamas Vajk
3170781d57
Rework timeseries report to iterate git history only once
2021-06-28 11:29:45 +02:00
Tamas Vajk
1ec1e1cfc8
Adjust framework coverage report generator to include all sources not just remote ones
2021-06-28 11:20:32 +02:00
Tamas Vajk
4524563923
Fix timeseries coverage report to handle multiple languages
2021-06-28 11:20:32 +02:00
Tamas Vajk
a90a86bcbf
Fix flow from Element of Argument[0] for Int32.TryParse(ReadOnlySpan<Char>,...
2021-06-28 11:20:32 +02:00
Tamas Vajk
1d8b19e153
Adjust coverage report generator to allow multiple sink identifiers per CWE
2021-06-28 11:20:32 +02:00
Tamas Vajk
2a75989881
Migrate StringContent sink to CSV format
2021-06-28 11:20:32 +02:00
Tamas Vajk
5aba7142e8
C#: Add framework coverage report
2021-06-28 11:20:32 +02:00
Tamas Vajk
016e8fb2cf
Adjust framework coverage jobs to cover C#
2021-06-28 11:20:32 +02:00
Tamas Vajk
b7a43dccd3
C#: Migrate System.Int32 flow summaries to CSV
2021-06-28 11:20:32 +02:00
Tamas Vajk
a9ccd65fa9
C#: Migrate System.Web.HttpResponse sinks to CSV
2021-06-28 11:20:32 +02:00
Tamas Vajk
45568d5b10
C#: Convert System.Console.Read* local flow source to CSV
2021-06-28 11:20:32 +02:00
Tamas Vajk
9606816c39
Fix missing summarizedCallable case
2021-06-28 11:20:32 +02:00
Cornelius Riemenschneider
a1c38b78a9
Merge pull request #6163 from adityasharad/lines-of-code-make-unique
...
Ensure only one query per language is tagged `lines-of-code`
2021-06-28 10:57:29 +02:00
Tom Hvitved
4f8a103df2
C#: Add active preprocessor conditions as suffix in all TRAP .push instructions
2021-06-28 10:34:42 +02:00
Aditya Sharad
61e6dcb56d
Ensure only one query per language is tagged lines-of-code
...
Some languages have multiple `summary` queries for lines of code,
representing different forms of counting (user written, total, etc).
When Code Scanning sees results from multiple such summary queries in a single run,
it will need to choose one as the primary LoC count to display in the UI.
By ensuring only one query per language has the `lines-of-code` tag,
in future we can teach Code Scanning to look for this particular tag
to identify the primary LoC count.
If a "lines of user code" query is available, use that.
Otherwise use the total "lines of code".
(It is completely fine for multiple queries to be tagged with `summary`.)
2021-06-25 16:45:37 -07:00
Chris Smowton
8aa9cd52b5
Merge pull request #5811 from mogwailabs/insecureJmxRmiServerEnvironment
...
Java: Add query - insecure environment configuration during JMX/RMI server init
2021-06-25 22:09:20 +01:00
Timo Mueller
e5fa5325b5
Auto formatting .ql file
2021-06-25 22:31:29 +02:00
Timo Mueller
eb0a13f60f
Merge branch 'insecureJmxRmiServerEnvironment' of github.com:mogwailabs/codeql into insecureJmxRmiServerEnvironment
2021-06-25 22:29:43 +02:00
Chris Smowton
def4a23af2
Merge pull request #4879 from intrigus-lgtm/java/improve-trustmanager
...
Java: Add/improve insecure trustmanager query
2021-06-25 18:15:55 +01:00
Tom Hvitved
e624fb46f9
Merge pull request #6152 from hvitved/csharp/dataflow/csv-out-ref
2021-06-25 18:02:59 +02:00
intrigus
5aa711a956
Accept test changes.
2021-06-25 17:04:36 +02:00
Owen Mansel-Chan
44f0411b7c
Merge pull request #6138 from owen-mc/java/model/apache-commons-collections
...
Model Apache commons collections MapUtils class and keyvalue package
2021-06-25 15:53:03 +01:00
Anders Schack-Mulligen
a79356e316
Apply suggestions from code review
2021-06-25 16:47:26 +02:00
intrigus
be57aeccf2
Remove change-note.
2021-06-25 16:47:26 +02:00
intrigus
5106aec319
Fix test location.
2021-06-25 16:47:25 +02:00
intrigus
36575bb26f
Move back to experimental.........
2021-06-25 16:47:25 +02:00
intrigus
fe923facc8
Java: Move comments to separate lines.
...
Move comments to separate lines to improve
the rendering in the finished query help.
2021-06-25 16:47:25 +02:00
intrigus-lgtm
f527df73d5
Apply suggestions from code review.
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-06-25 16:47:25 +02:00
intrigus
f0d4b1d2b0
Java: Add change-note.
2021-06-25 16:47:25 +02:00
intrigus
6bfdf8d148
Java: Fix qhelp errors.
2021-06-25 16:47:24 +02:00
intrigus
dc0b06a735
Java: Factor out SecurityFlag library.
2021-06-25 16:47:24 +02:00
intrigus-lgtm
51fdcf86c8
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-25 16:47:24 +02:00
intrigus
6f217d37da
Java: Apply suggestions from review.
2021-06-25 16:47:24 +02:00
intrigus
4a00670b68
Java: Reduce long comment.
2021-06-25 16:47:24 +02:00
intrigus
45cec3df1c
Java: Use this consistently in QL classes.
2021-06-25 16:47:24 +02:00
intrigus
0c1ce74135
Java: Switch from tabs to spaces.
2021-06-25 16:47:24 +02:00
intrigus
281e0859d1
Java: Accept test changes.
2021-06-25 16:47:23 +02:00
intrigus
6413af4fbe
Java: Expand tests.
2021-06-25 16:47:23 +02:00
intrigus
484533c659
Java: Flag "intentionally" unsafe methods in tests.
...
Previously intentionally unsafe methods such as `disableCertificate`
would be ignored by this query. But now they will also be flagged
as it is hard to guess intentions...
Adjust the tests to account for this change.
2021-06-25 16:47:23 +02:00
intrigus
7023793af4
Java: Fix compilation errors in test.
2021-06-25 16:47:23 +02:00
intrigus
6d09db6fd6
Java: Explicitly list custom flow steps.
2021-06-25 16:47:23 +02:00
intrigus
e4775e0fae
Java: Remove "intention-guessing" sanitizer & simplify.
...
This removes the sanitizer part that classified some results as FP
if the results were in methods with certain names, like
`disableVerification()`. I now think that it's a bad idea to filter
based on the method name.
The custom flow steps in `flagFlowStep` are now listed explicitly.
Simplified check whether a method throws an exception.
2021-06-25 16:47:23 +02:00
intrigus
8a7f6b72e9
Java: Apply suggestions for QHelp
2021-06-25 16:47:23 +02:00
intrigus
d37d922e8f
Java: Fix Typos
2021-06-25 16:47:22 +02:00
intrigus-lgtm
030c286902
Java: Use machine-in-the-middle consistently
2021-06-25 16:47:22 +02:00
intrigus-lgtm
f52e438f3e
Java: Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-06-25 16:47:22 +02:00
intrigus
592fd1e8ca
Java: Accept test changes
2021-06-25 16:47:22 +02:00
intrigus
1b96d0ac54
Java: Remove overlapping code
2021-06-25 16:47:22 +02:00
intrigus
87554a78d4
Java: Add insecure trust manager query.
2021-06-25 16:47:22 +02:00
Timo Müller
8daa398af6
Update InsecureRmiJmxEnvironmentConfiguration.ql
2021-06-25 16:12:37 +02:00
Timo Mueller
b969b9b5e7
Merge branch 'insecureJmxRmiServerEnvironment' of github.com:mogwailabs/codeql into insecureJmxRmiServerEnvironment
2021-06-25 16:11:47 +02:00
Timo Mueller
72ef4983db
Fixed wrong match for symbolic constant
2021-06-25 16:11:37 +02:00
Timo Müller
328b69f46c
Update java/ql/src/experimental/Security/CWE/CWE-665/InsecureRmiJmxEnvironmentConfiguration.ql
2021-06-25 16:10:20 +02:00
Owen Mansel-Chan
bad32716e8
Import Apache Collections models in ExternalFlow
2021-06-25 14:51:09 +01:00
Timo Mueller
5aeeb3a801
Fixed and validated qhelp
2021-06-25 15:37:47 +02:00
Owen Mansel-Chan
044ecc51e5
Manually improve tests #2
2021-06-25 13:51:18 +01:00
Mathias Vorreiter Pedersen
794d96e52c
C++: Use call context information to perform function-pointer resolution.
2021-06-25 14:45:56 +02:00
Rasmus Wriedt Larsen
9573048ee8
Python: Port py/clear-text-logging-sensitive-data
2021-06-25 14:35:31 +02:00
Rasmus Wriedt Larsen
68cfeb0b5c
Python: Model logging from the logging module
2021-06-25 14:26:35 +02:00
Rasmus Wriedt Larsen
c05e375401
Python: Fix indentation of hashlib modeling
2021-06-25 14:26:35 +02:00
Rasmus Wriedt Larsen
36c9ceb13b
Python: Add Logging concept
2021-06-25 14:26:35 +02:00
Rasmus Wriedt Larsen
a7eb1b3a12
Python: Minor QLDoc fixup
2021-06-25 14:26:35 +02:00
Owen Mansel-Chan
e2803800dc
Add change note
2021-06-25 12:55:09 +01:00
Owen Mansel-Chan
2fd4c9f1b9
Manually improve tests
2021-06-25 11:17:11 +01:00
Owen Mansel-Chan
1bb33bca33
Add Apache Commons Collections to coverage reports
2021-06-25 11:17:10 +01:00
Owen Mansel-Chan
eb469c0811
Duplicate models for old package name
...
The package name was org.apache.commons.collection until release 4.0.
2021-06-25 11:17:09 +01:00
Owen Mansel-Chan
2e670c4050
Manually update automatically generated stubs
2021-06-25 11:17:08 +01:00
Owen Mansel-Chan
acc43fcaca
Add options file
2021-06-25 11:17:07 +01:00
Owen Mansel-Chan
5feee9cc17
Add automatically-generated stubs
2021-06-25 11:17:06 +01:00
Owen Mansel-Chan
7004c87ec0
Manually edit tests so they pass
2021-06-25 11:17:05 +01:00
Owen Mansel-Chan
4388f19ddf
Add automatically-generated tests
2021-06-25 11:17:04 +01:00
Owen Mansel-Chan
224fd343f3
Fix models (addressing PR review comments)
2021-06-25 11:17:03 +01:00
Owen Mansel-Chan
e78d56e7e9
Model MapUtils class and keyvalue package
2021-06-25 11:17:02 +01:00
Owen Mansel-Chan
213f5d6a37
Model and use isEmpty from Apache Collections
2021-06-25 11:17:01 +01:00
Owen Mansel-Chan
492f6ebc7c
Model isNotEmpty from Apache Commons Collections
2021-06-25 11:17:00 +01:00
Mathias Vorreiter Pedersen
fd477383b0
C++: Fix join order in 'bbSuccessorEntryReachesLoopInvariant'.
2021-06-25 10:49:33 +02:00
Anders Schack-Mulligen
2d24387e9e
Merge pull request #6149 from edoardopirovano/fix-java-regression
...
Performance: Fix bad join order in Java dataflow library
2021-06-25 10:42:05 +02:00
Timo Müller
d0478eac95
XML validation and spelling/ordering changes
...
* XML validation and summary changes in qhelp file
;
* Encode entities within <code> snippet
* Updated minor descriptions and examples
* Implemented spelling review
2021-06-25 09:45:46 +02:00
Tamás Vajk
1cddcdfcb1
Merge pull request #6123 from tamasvajk/feature/framework-coverage-pr
...
Add scheduled job to update framework coverage
2021-06-25 09:18:10 +02:00
CodeQL CI
28c060e758
Merge pull request #6113 from erik-krogh/promise
...
Approved by esbena
2021-06-24 13:25:42 -07:00
yo-h
61c89369b8
Merge pull request #6151 from tamasvajk/fix/csv-comment-backwards-compat
...
Fix framework coverage commenting action
2021-06-24 15:57:03 -04:00
Tom Hvitved
7a9f9e245f
C#: Handle CSV data-flow summaries with out/ref parameters
2021-06-24 18:34:25 +02:00
Chris Smowton
2acb4de2cb
Merge pull request #5955 from haby0/java/JShellCodeInjection
...
Java: JShell Injection
2021-06-24 17:03:30 +01:00
Rasmus Wriedt Larsen
a9469b73d9
Python: Port py/clear-text-storage-sensitive-data
2021-06-24 17:39:08 +02:00
Rasmus Wriedt Larsen
8926b3edc7
Python: Add change-note for CookieWrite
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
7017beca47
Python: Model CookieWrite for twisted
...
Had to split the call to `request.cookies.append` since inline
expectation tests didn't like the expectation that contained `=` :(
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
4606444b85
Python: Model CookieWrite for flask
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
65c526df86
Python: Model CookieWrite for tornado
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
9340d658a4
Python: Model CookieWrite for django
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
930ed0a712
Python: Minor django fixup
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
226425e831
Python: Model CookieWrite for aiohttp
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
e1af1f11ee
Python: Add HTTP::Server::CookieWrite concept
...
along with tests, but no implementations (to ease reviewing).
---
I've put quite some thinking into what to call our concept for this.
[JS has `CookieDefinition`](581f4ed757/javascript/ql/src/semmle/javascript/frameworks/HTTP.qll (L148-L187) ), but I couldn't find a matching concept in any other languages.
We used to call this [`CookieSet`](f07a7bf8cf/python/ql/src/semmle/python/web/Http.qll (L76) ) (and had a corresponding `CookieGet`).
But for headers, [Go calls this `HeaderWrite`](cd1e14ed09/ql/src/semmle/go/concepts/HTTP.qll (L97-L131) ) and [JS calls this `HeaderDefinition`](581f4ed757/javascript/ql/src/semmle/javascript/frameworks/HTTP.qll (L23-L46) )
I think it would be really cool if we have a naming scheme that means the name for getting the value of a header on a incoming request is obvious. I think `HeaderWrite`/`HeaderRead` fulfils this best. We could go with `HeaderSet`/`HeaderGet`, but they feel a bit too vague to me. For me, I'm so used to talking about def-use, that I would immediately go for `HeaderDefinition` and `HeaderUse`, which could work, but is kinda strange.
So in the end that means I went with `CookieWrite`, since that allows using a consistent naming scheme for the future :)
2021-06-24 17:34:43 +02:00
Mathias Vorreiter Pedersen
a294fb07f5
C++: Add change-note.
2021-06-24 16:01:59 +02:00
Mathias Vorreiter Pedersen
af56c782bf
C++: Add QLDoc.
2021-06-24 15:57:01 +02:00
Mathias Vorreiter Pedersen
38c487abf9
Merge branch 'main' into more-random-sources-in-uncontrolled-arithmetic
2021-06-24 15:56:15 +02:00
Mathias Vorreiter Pedersen
5bfb78b583
C++: Block flow through all bitwise 'and' and 'or' operations. This seems to be a common source of false positives on LGTM.
2021-06-24 15:53:59 +02:00
Mathias Vorreiter Pedersen
e8bba78825
C++: Convert 'cpp/uncontrolled-arithmetic' to use a 'TaintTracking::Configuration'.
2021-06-24 15:51:44 +02:00
Felicity Chapman
4a8b71a245
Make initial changes for multi-db options
2021-06-24 14:44:08 +01:00
Anders Schack-Mulligen
95ad8b55fe
Merge pull request #6107 from aschackmull/dataflow/implicit-reads
...
Dataflow: Add support for implicit reads
2021-06-24 15:38:35 +02:00
Anders Schack-Mulligen
01fc3e6559
C++/C#/Java/Python: Add change notes.
2021-06-24 14:29:34 +02:00
Anders Schack-Mulligen
cd0efbe7ce
Dataflow: Sync.
2021-06-24 14:19:17 +02:00
Anders Schack-Mulligen
1c1d11a4a4
DataFlow: Address review comments.
2021-06-24 14:18:45 +02:00
Mathias Vorreiter Pedersen
c0ffd9027f
C++: Add more random sources.
2021-06-24 13:40:00 +02:00
haby0
3cf71c50b8
Mobile stubs
2021-06-24 19:24:38 +08:00
Anders Schack-Mulligen
1e511c0a9e
Merge pull request #6137 from smowton/smowton/feature/java-util-optional
...
Java: Model java.util.Optional
2021-06-24 13:21:36 +02:00
Tamás Vajk
173be0cce0
Merge pull request #6144 from tamasvajk/feature/stub-dapper
...
C#: Change Dapper stub to nuget-based one (stub also System.Data.SqlC…
2021-06-24 11:41:12 +02:00
Rasmus Wriedt Larsen
686638a65f
Merge pull request #6049 from RasmusWL/jmespath
...
Python: Add modeling of `jmespath`
2021-06-24 11:13:19 +02:00
Tamas Vajk
477dfa28ec
Fix framework coverage commenting action
...
This commit handles the case when the current run finds no coverage change and the previous run is identified,
but it doesn't have the required artifacts.
2021-06-24 10:44:36 +02:00
Mathias Vorreiter Pedersen
c8c77396fa
C++: Get rid of the trivial 'True' condition. Turns out it's not actually needed.
2021-06-24 09:57:54 +02:00
Mathias Vorreiter Pedersen
656ff4aee9
C++: Add more QLDoc.
2021-06-24 09:57:25 +02:00
Mathias Vorreiter Pedersen
d70ea5f6e0
Update cpp/ql/src/semmle/code/cpp/controlflow/StackVariableReachability.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-06-24 09:27:11 +02:00
Edoardo Pirovano
0909c9ff22
Performance: Fix bad join order in dataflow library
2021-06-24 08:24:17 +01:00
Tamas Vajk
ad6e47be39
Apply code review findings
2021-06-24 09:13:08 +02:00
Tamas Vajk
7557b7a67d
Add scheduled coverage job to open PR with changes
2021-06-24 09:13:08 +02:00
Tamás Vajk
4a19a9978a
Merge pull request #6115 from tamasvajk/feature/framework-coverage-comment-noise
...
Only post comment with framework coverage change if it changed or wasn't done before
2021-06-24 08:44:03 +02:00
CodeQL CI
c02c96369d
Merge pull request #6139 from erik-krogh/colors
...
Approved by esbena
2021-06-23 14:02:17 -07:00
Mathias Vorreiter Pedersen
2938ad5f8f
C++: Add testcase demonstrating the fix from a8c57ec4aa.
2021-06-23 23:01:49 +02:00
yo-h
ffdc752720
Merge pull request #6059 from smowton/smowton/fix/qualified-name-generic-types
...
Adapt to static methods and nested types returning unbound declaring types
2021-06-23 14:45:51 -04:00
Chris Smowton
4c777eb04a
Add change note
2021-06-23 18:54:27 +01:00
Mathias Vorreiter Pedersen
43bbd4f7ad
C++: Fix join order with 'pragma[noopt]'.
2021-06-23 18:34:04 +02:00
Tamás Vajk
8518e7c5a3
Merge pull request #6146 from tamasvajk/feature/stub-nhibernate
...
C#: Change nHibernate stub to nuget-based one
2021-06-23 18:00:45 +02:00
Tamás Vajk
4dc70fa959
Merge pull request #6145 from tamasvajk/feature/stub-jsonnet
...
C#: Change Newtonsoft.Json stub to nuget-based one
2021-06-23 18:00:27 +02:00
Chris Smowton
f6ba4e0235
Merge pull request #6142 from artem-smotrakov/better-spring-exporters
...
Added sinks for RmiBasedExporter and HessianExporter
2021-06-23 16:39:10 +01:00
CodeQL CI
469e709113
Merge pull request #6055 from RasmusWL/rsa-modeling
...
Approved by yoff
2021-06-23 08:35:25 -07:00
Chris Smowton
9c91d1a965
Add change note
2021-06-23 16:09:29 +01:00
Chris Smowton
74feaf2893
Adapt to static methods and nested types returning unbound declaring types
...
Previously these returned raw declaring types instead
2021-06-23 16:03:18 +01:00
Chris Smowton
b34448af87
{Generic,Parameterized,Raw}Type: implement getAPrimaryQlClass
...
An aid to debugging
2021-06-23 15:58:31 +01:00
Mathias Vorreiter Pedersen
9b8f558fb8
Merge pull request #6125 from MathiasVP/improve-tainted-arithmetic
...
C++: Add more barriers to `cpp/tainted-arithmetic`
2021-06-23 16:44:20 +02:00
Mathias Vorreiter Pedersen
295e022df3
Merge branch 'main' into improve-tainted-arithmetic
2021-06-23 15:45:18 +02:00
Ian Lynagh
089e4e2e1e
Merge pull request #6147 from AlexDenisov/adjust_test_expectation
...
C++: Adjust test expectations after frontend upgrade
2021-06-23 14:43:47 +01:00
Mathias Vorreiter Pedersen
a8c57ec4aa
C++: Prevent false negatives caused by incorrectly concluding that a loop variant condition refutes itself across loop iterations.
2021-06-23 15:08:16 +02:00
Tamas Vajk
b0447089d9
C#: Change Dapper stub to nuget-based one (stub also System.Data.SqlClient)
2021-06-23 15:04:57 +02:00
Anders Schack-Mulligen
6374914053
Java: Fix bad magic.
2021-06-23 14:39:18 +02:00
Alex Denisov
653afc8448
C++: Adjust test expectations after frontend upgrade
2021-06-23 14:39:16 +02:00
Mathias Vorreiter Pedersen
c44475458e
Update cpp/ql/src/Security/CWE/CWE-190/Bounded.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-06-23 14:38:36 +02:00
Erik Krogh Kristensen
dbc8b9cf6a
autoformat
2021-06-23 14:21:15 +02:00
CodeQL CI
a86f50e091
Merge pull request #6135 from erik-krogh/chokidar
...
Approved by esbena
2021-06-23 05:16:06 -07:00
CodeQL CI
b66f4cb965
Merge pull request #6134 from erik-krogh/templates
...
Approved by asgerf, esbena
2021-06-23 05:09:23 -07:00
Tamas Vajk
f352bcb0a3
C#: Change nHibernate stub to nuget-based one
2021-06-23 13:55:19 +02:00
Tamas Vajk
1188e1b678
Fix extra constructor stubbing
2021-06-23 13:50:54 +02:00
Tamas Vajk
e200ecde4a
C#: Change Newtonsoft.Json stub to nuget-based one
2021-06-23 13:49:11 +02:00
Rasmus Wriedt Larsen
0774e985ce
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-06-23 13:37:38 +02:00
Tamás Vajk
2dc0849b79
Merge pull request #5664 from tamasvajk/feature/stub-generation
...
C#: Stub generation
2021-06-23 13:33:10 +02:00
Rasmus Wriedt Larsen
447099a1df
Python: Update jmespath tests
2021-06-23 13:32:19 +02:00
Artem Smotrakov
0dfb869c5b
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-06-23 13:23:54 +02:00
Mathias Vorreiter Pedersen
d308dd2f40
Update cpp/ql/src/semmle/code/cpp/controlflow/StackVariableReachability.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-06-23 11:54:56 +02:00
Mathias Vorreiter Pedersen
6379463bcf
Merge branch 'main' into improve-tainted-arithmetic
2021-06-23 11:42:45 +02:00
Tamas Vajk
09dd615c6b
Regenerate stubs (add System.Void struct)
2021-06-23 11:38:41 +02:00
Geoffrey White
298f70f082
Merge pull request #6120 from MathiasVP/not-overflow-is-barrier-in-cwe-190
...
C++: Recognize any non-overflowing arithmetic expression as a barrier for `cpp/uncontrolled-arithmetic`
2021-06-23 10:35:33 +01:00
Tamas Vajk
d698f0ae27
Fix VoidType handling
2021-06-23 11:30:47 +02:00
Mathias Vorreiter Pedersen
9b94f3a650
Merge branch 'main' into improve-tainted-arithmetic
2021-06-23 11:04:08 +02:00
Rasmus Wriedt Larsen
902b450b12
Python: Also model pathlib.Path().open().write()
...
And this transition to type-trackers also helped fix the missing path
through function calls 👍
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
39ec8701ca
Python: Add FileSystemWriteAccess concept
...
I made `FileSystemWriteAccess` be a subclass of `FileSystemAccess` (like in [JS](64001cc02c/javascript/ql/src/semmle/javascript/Concepts.qll (L68-L74) )), but then I started wondering about how I could give a good result for `getAPathArgument`, and what would a good result even be? The argument to the `open` call, or the object that the `write` method is called on? I can't see how doing either of these enables us to do anything useful...
So I looked closer at how JS uses `FileSystemWriteAccess`:
1. as sink for zip-slip: 7c51dff0f7/javascript/ql/src/semmle/javascript/security/dataflow/ZipSlipCustomizations.qll (L121)
2. as sink for downloading unsafe files (identified through their extension) through non-secure connections: 89ef6ea4eb/javascript/ql/src/semmle/javascript/security/dataflow/InsecureDownloadCustomizations.qll (L134-L150)
3. as sink for writing untrusted data to a local file 93b1e59d62/javascript/ql/src/semmle/javascript/security/dataflow/HttpToFileAccessCustomizations.qll (L43-L46)
for the 2 first sinks, it's important that `getAPathArgument` has a proper result... so that solves the problem, and highlights that it _can_ be important to give proper results for `getAPathArgument` (if possible).
So I'm trying to do best effort for `f = open(...); f.write(...)`, but with this current code we won't always be able to give a result (as highlighted by the tests). It will also be the case that there are multiple `FileSystemAccess` with the same path-argument, which could be a little strange.
overall, I'm not super confident about the way this new concept and implementation turned out, but it also seems like the best I could come up with right now...
The obvious alternative solution is to NOT make `FileSystemWriteAccess` a subclass of `FileSystemAccess`, but I'm not very tempted to go down this path, given the examples of this being useful above, and just the general notion that we should be able to model writes as being a specialized kind of `FileSystemAccess`.
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
6a6d6fbe92
Python: Add leading space in some inline tests
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
13609b2888
Python: Move pathlib tests to Python 3 only tests
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
e2facd0981
Python: Expand cleartext query tests
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
5506365b0e
Python: Split cleartext tests
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
c0964617d7
Merge pull request #6111 from tausbn/python-a-few-minor-cleanups
...
Python: A few minor bits of cleanup
2021-06-23 10:42:41 +02:00
Erik Krogh Kristensen
6cf275bb36
update change-note
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-06-23 10:42:26 +02:00
Erik Krogh Kristensen
700dfcc3a7
add comment about why colors/safe is not safe
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-06-23 10:39:56 +02:00
Rasmus Wriedt Larsen
c77884b8c4
Python: Apply suggestions from code review
...
Co-authored-by: Jorge <46056498+jorgectf@users.noreply.github.com >
2021-06-23 10:37:06 +02:00
Rasmus Wriedt Larsen
ae841cdd9b
Python: Make import python private in Concepts.qll
...
Just a mistake that we have never caught on to
2021-06-23 10:32:36 +02:00
Mathias Vorreiter Pedersen
a611e76ed2
C++: Respond to review comments.
2021-06-23 10:28:00 +02:00
Erik Krogh Kristensen
8b5c285ac8
add support for the chokidar library
2021-06-23 09:59:34 +02:00
Artem Smotrakov
14e724bce6
Added sinks for RmiBasedExporter and HessianExporter
2021-06-23 09:53:47 +02:00
Tamas Vajk
133d760659
Regenerate stubs to update nested class names in comments
2021-06-23 09:53:39 +02:00
Tamas Vajk
9ba1529f19
Fix nested class names in comments of stubs expected test file
2021-06-23 09:38:29 +02:00
Tamas Vajk
b40b6f40b6
Change frameworks folder to _frameworks
2021-06-23 09:26:55 +02:00
Tamas Vajk
5b2be8ce2d
Fix code review findings
2021-06-23 09:26:55 +02:00
Tom Hvitved
026bcc72f2
C#: Improve performance of stubbing library
2021-06-23 09:26:54 +02:00
Tamas Vajk
405c008b47
Fix conversion operator stubbing + reduce skipped ctor noise in stubs
2021-06-23 09:26:54 +02:00
Tamas Vajk
e4b02e377c
Add .net core and asp.net core stubs
2021-06-23 09:26:54 +02:00
Tamas Vajk
0f18fd6892
Adjust script to handle .net core framework reference
2021-06-23 09:26:54 +02:00
Tamas Vajk
4eee6ef1d9
Handle system.object missing base type
2021-06-23 09:26:54 +02:00
Tamas Vajk
97cd006b2c
Add missing required private constructors
2021-06-23 09:26:54 +02:00
Tamas Vajk
d7a93a5367
Move default excluded assembly definition
2021-06-23 09:26:54 +02:00
Tamas Vajk
f597c9a7ed
Handle special case of duplicate type constraints
2021-06-23 09:26:54 +02:00
Tamas Vajk
42fcfad0d8
Handle types defined in multiple assemblies
2021-06-23 09:26:54 +02:00
Tamas Vajk
22f3b05170
Handle all structs (simple types, intptr, system.void)
2021-06-23 09:26:54 +02:00
Tamas Vajk
914da6bdd2
Fix various stubbing issues
2021-06-23 09:26:54 +02:00
Tamas Vajk
fec0ddd2d2
Add test for tuples with arity < 2
2021-06-23 09:26:54 +02:00
Tamas Vajk
d7d653b9d2
Fix tuple stubbing with arity < 2
2021-06-23 09:26:54 +02:00
Tamas Vajk
2edfa15472
Reduce size of stubDefaultArguments predicate
2021-06-23 09:26:54 +02:00
Tamas Vajk
e93736f583
Change base class of GeneratedDeclaration to Modifiable
2021-06-23 09:26:54 +02:00
Tamas Vajk
53054290d1
Improve QL check for path match on netcore.app.ref in exluded assemblies
2021-06-23 09:26:54 +02:00
Tamas Vajk
a00c2ccf31
Remove _stub.cs file generation
2021-06-23 09:26:54 +02:00
Tamas Vajk
31795c3e6b
Introduce test option to include files from projects
2021-06-23 09:26:54 +02:00
Tamas Vajk
cce7404470
Add csproj generation
2021-06-23 09:26:54 +02:00
Tamas Vajk
b725f6e547
Handle types that are defined in multiple assemblies
2021-06-23 09:26:54 +02:00
Tamas Vajk
ce214cfbf8
Split generated stubs to separate files
2021-06-23 09:26:53 +02:00
Tamas Vajk
88c97bd34e
Generate stubs per assembly
2021-06-23 09:26:53 +02:00
Tamas Vajk
ba238578d1
Add stubbing tests
2021-06-23 09:26:53 +02:00
Tamas Vajk
7e7a52de3c
Stub IndexerName attribute
2021-06-23 09:26:53 +02:00
Tamas Vajk
5e07d82b42
Stub unsafe modifier
2021-06-23 09:26:53 +02:00
Tamas Vajk
4e0bbffac4
Fix ExtraGeneratedConstructor to exclude static constructors and take into account generic derived classes
2021-06-23 09:26:53 +02:00
Tamas Vajk
e96754c2d5
Fix all remaining issues to stub entity framework core
2021-06-23 09:26:53 +02:00
Tamas Vajk
3e92be5324
Extract private/internal members from referenced assemblies + stub required non public constructors
2021-06-23 09:26:53 +02:00
Tamas Vajk
bd83f74dca
Fix generic type constraint order
2021-06-23 09:26:53 +02:00
Tamas Vajk
9b6e9ab148
Escape field names
2021-06-23 09:26:53 +02:00
Tamas Vajk
3c3ddcc8fb
Fix protected internal on override in the same assembly
2021-06-23 09:26:53 +02:00
Tamas Vajk
e6bfb0d1d2
Fix qualified name stubbing for nested types
2021-06-23 09:26:53 +02:00
Tamas Vajk
8cbdd30e1e
Fix generic type constraint stubbing on overrides
2021-06-23 09:26:53 +02:00
Tamas Vajk
ff4db5b8d2
Fix abstract override member generation
2021-06-23 09:26:53 +02:00
Tamas Vajk
cda285de18
Use dotnet format to format the output stub file
2021-06-23 09:26:53 +02:00
Tamas Vajk
53655d4ae4
Only stub declarations from libraries
2021-06-23 09:26:53 +02:00
Tamas Vajk
eabf6b0be8
Only stub effectively public declarations
2021-06-23 09:26:53 +02:00
Tamas Vajk
66eca53b00
Fix accessibility modifier stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
1aadd3f3d6
Fix constant value stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
264d216a33
Generate stub for nested classes
2021-06-23 09:26:53 +02:00
Tamas Vajk
27608b3b38
Add support for event stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
85b3ec6096
Add support for base ctor calls in stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
7bf1794310
Add support for delegate stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
a273f88a51
Add support for explicitly implemented indexers
2021-06-23 09:26:53 +02:00
Tamas Vajk
481ae0ff19
Exclude default struct constructors from stubs
2021-06-23 09:26:53 +02:00
Tamas Vajk
3f0a158b3c
Add query to select all public declarations from target assemblies
2021-06-23 09:26:53 +02:00
Tamas Vajk
bfa9bf33c0
C#: Add nuget based stubbing script
2021-06-23 09:26:53 +02:00
Erik Krogh Kristensen
fa02651542
add taint step through the strip-ansi library
2021-06-23 09:13:03 +02:00
Erik Krogh Kristensen
fe76341820
add taint step through the chalk library
2021-06-23 09:12:48 +02:00
Erik Krogh Kristensen
053d9b5564
add taint step through the kleur library
2021-06-23 09:12:25 +02:00
Tamas Vajk
9d004ec2d5
Handle case when changes had been reported, and then removed
2021-06-23 08:25:20 +02:00
Tamas Vajk
5657c215e9
Change workflow step name
2021-06-23 08:25:20 +02:00
Tamas Vajk
a165cde808
Compute framework coverage diff in artifacts job
2021-06-23 08:25:20 +02:00
Tamas Vajk
d6361d8500
Use string interpolation
2021-06-23 08:23:44 +02:00
Tamas Vajk
12e4ad2640
Fix code quality issues
2021-06-23 08:23:44 +02:00
Tamas Vajk
d28fd363f9
Fix string vs int ID comparison
2021-06-23 08:23:44 +02:00
Tamas Vajk
801007357f
Only post comment with framework coverage change if it changed or wasn't done before
2021-06-23 08:23:44 +02:00
Tamas Vajk
0e91269a23
Refactor framework coverage job to download artifacts from python
2021-06-23 08:23:44 +02:00
Tamás Vajk
fa215bcda5
Merge pull request #6132 from tamasvajk/fix/coverage-commenter-base
...
Fix framework coverage commenter to use merge commit parent instead o…
2021-06-23 08:12:07 +02:00
CodeQL CI
37b66f9045
Merge pull request #6117 from asgerf/js/sharpen-match-calls
...
Approved by esbena
2021-06-22 22:52:37 -07:00
Erik Krogh Kristensen
6e2b92468f
add taint step through the slice-ansi library
2021-06-22 23:14:14 +02:00
Erik Krogh Kristensen
35c513d38a
add taint step through the cli-color library
2021-06-22 23:10:40 +02:00
Erik Krogh Kristensen
ec9c885908
add taint step through the cli-highlight library
2021-06-22 23:06:50 +02:00
Erik Krogh Kristensen
d114cdc6e5
add taint step through the colorette library
2021-06-22 23:02:01 +02:00
Erik Krogh Kristensen
e4427bb34a
add taint step through the wrap-ansi library
2021-06-22 22:59:03 +02:00
Erik Krogh Kristensen
626a653401
add taint step through the colors library
2021-06-22 22:55:15 +02:00
Erik Krogh Kristensen
a21ebbbe8f
add taint step through the ansi-colors library
2021-06-22 22:47:58 +02:00
Chris Smowton
9fd1606238
Model java.util.Optional
2021-06-22 21:17:22 +01:00
CodeQL CI
d719a1e627
Merge pull request #6114 from erik-krogh/promisify
...
Approved by esbena
2021-06-22 12:19:38 -07:00
Erik Krogh Kristensen
2ba2642c7a
add more template sinks for the js/code-injection query
2021-06-22 20:24:42 +02:00
CodeQL CI
bde1bb4030
Merge pull request #6126 from erik-krogh/dates
...
Approved by esbena
2021-06-22 10:35:51 -07:00
Taus
317c6867aa
Python: Fix sneaky semantic change
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-06-22 16:46:54 +02:00
CodeQL CI
eb95dff746
Merge pull request #6129 from erik-krogh/ReDoSCWE
...
Approved by esbena
2021-06-22 07:02:39 -07:00
Shati Patel
396de59ad7
Merge pull request #6131 from erik-krogh/toUnicodeDoc
...
mention the new `toUnicode` method in the QL language specification
2021-06-22 14:36:16 +01:00
Erik Krogh Kristensen
062502fecc
add back support for util-promisifyall
2021-06-22 15:34:51 +02:00
Rasmus Wriedt Larsen
3b41c2f204
Python: Use new MethodCallNode in TaintTrackingPrivate
2021-06-22 15:12:35 +02:00
Rasmus Wriedt Larsen
0b767bb853
Merge branch 'main' into small-cleanups
2021-06-22 15:01:53 +02:00
Tamas Vajk
870e4125dc
Fix framework coverage commenter to use merge commit parent instead of (old) base repo SHA
2021-06-22 13:24:26 +02:00
Erik Krogh Kristensen
3bdd9f7a30
mention the new toUnicode method in the QL language specification
2021-06-22 13:13:30 +02:00
Tom Hvitved
38a38fd2c1
Merge pull request #6003 from hvitved/csharp/external-summaries
...
C#: CSV-based flow summaries
2021-06-22 12:59:44 +02:00
Asger Feldthaus
16e3681fd3
JS: Update RegExpInjection test case
2021-06-22 12:00:04 +02:00
Anders Schack-Mulligen
206a37cf08
Merge pull request #6130 from aschackmull/java/collection-test
...
Java: Improve test and fix a few missing cases.
2021-06-22 11:56:44 +02:00
Erik Krogh Kristensen
4360e5dcbc
add model of the thenify library
2021-06-22 11:55:58 +02:00
Erik Krogh Kristensen
61cc415a32
add model of the util.promisify library
2021-06-22 11:55:58 +02:00
Erik Krogh Kristensen
2f3ea4412f
add model of the pify library
2021-06-22 11:55:54 +02:00
Rasmus Wriedt Larsen
5db627042f
Merge pull request #6091 from tausbn/python-exclude-main-py-files
...
Python: Avoid `__main__.py` files as entry points.
2021-06-22 11:29:02 +02:00
Rasmus Wriedt Larsen
e05d6e71b8
Merge pull request #6064 from tausbn/python-add-get-method-call
...
Python: Add `getAMethodCall` to `LocalSourceNode`
2021-06-22 11:16:39 +02:00
Anders Schack-Mulligen
38fc8a750c
Java: Improve test and fix a few missing cases.
2021-06-22 11:16:02 +02:00
Jonas Jensen
ae296fc6db
Merge pull request #6101 from github/AlonaHlobina-patch-3
...
Adding C++20 Beta support.rst
2021-06-22 11:02:15 +02:00
Erik Krogh Kristensen
c736606695
add support for moment/dayjs/luxon instances returned by @date-io adapters
2021-06-22 10:42:24 +02:00
Erik Krogh Kristensen
f2ca2134d1
refactor promisify models into a module
2021-06-22 10:40:22 +02:00
Erik Krogh Kristensen
f53955fb5e
add support for the promise.allsettled library
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
95a7b16315
add support for the lie polyfill
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
085efe5d20
add support for the any-promise polyfill
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
cb82cdf6e9
add support for the synchronous-promise library
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
5cb3c2c650
add support for the pinkie polyfill
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
b574292dab
add support for the pinkie-promise polyfill
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
bb1c971348
add support for the when polyfill, and expand the defition of ES2015PromiseDefinition
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
e467ea2ea6
add support for the native-promise-only polyfill
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
ebde9015d8
add support for the rsvp and es6-promise polyfill
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
d7a47e8fbd
add support for the promise-polyfill polyfill
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
f095e190a9
add support for the promise polyfill
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
967ccfef0c
add support for kew
2021-06-22 10:30:28 +02:00
Erik Krogh Kristensen
a4303bc81d
add CWE-1333 to the JS ReDoS queries
2021-06-22 10:24:56 +02:00
AlonaHlobina
2a9d0009be
Update versions-compilers.rst
2021-06-22 10:36:19 +03:00
Erik Krogh Kristensen
227f61b954
add model for the luxon library
2021-06-21 23:29:12 +02:00
Erik Krogh Kristensen
cdf3cdcf71
add model for the formatByString and formatByNumber functions in @date-io
2021-06-21 23:29:01 +02:00
Erik Krogh Kristensen
2a4570eaaa
add model for the dayjs library
2021-06-21 23:28:45 +02:00
Taus
ba6ab8ff3d
Python: Expand __main__.py comment
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-06-21 18:14:03 +02:00
Taus
768cab3642
Python: Address review comments
...
- changes `getReceiver` to `getObject`
- fixes `calls` to avoid unwanted cross-talk
- adds some more documentation to highlight the above issue
2021-06-21 14:57:19 +00:00
Mathias Vorreiter Pedersen
3bc6b11ae5
C++: Share the 'bounded' predicate from 'cpp/uncontrolled-arithmetic' and use it in 'cpp/tainted-arithmetic'.
2021-06-21 16:38:17 +02:00
Anders Schack-Mulligen
c06e152e90
Java: Remove outdated test.
2021-06-21 16:08:59 +02:00
Anders Schack-Mulligen
27c973e157
Java: Fix some qltests.
2021-06-21 16:08:52 +02:00
Mathias Vorreiter Pedersen
05389bb9d4
Merge pull request #6099 from geoffw0/weak-crypto3
...
Further improvements to cpp/weak-cryptographic-algorithm
2021-06-21 15:46:50 +02:00
Rasmus Wriedt Larsen
1c48aca630
Merge branch 'main' into jmespath
2021-06-21 15:26:45 +02:00
CodeQL CI
565af1a879
Merge pull request #6071 from RasmusWL/fix-input-cwe
...
Approved by calumgrant, tausbn
2021-06-21 06:23:18 -07:00
Geoffrey White
05ed4ed739
Update cpp/change-notes/2021-06-21-weak-cryptographic-algorithm.md
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-06-21 14:22:56 +01:00
AlonaHlobina
281a619646
Merge branch 'main' into AlonaHlobina-patch-3
2021-06-21 16:22:10 +03:00
Rasmus Wriedt Larsen
a7170bedb6
Python: Mention modeling of mysqlclient PyPI package
...
Just for completeness in terms of what we claim support for.
2021-06-21 15:20:08 +02:00
yoff
baf8d0a990
Merge pull request #6045 from RasmusWL/twisted
...
Python: Model twisted
2021-06-21 14:52:57 +02:00
Anders Schack-Mulligen
810de73246
C/C++: Update qltest expected output.
2021-06-21 14:47:31 +02:00
Anders Schack-Mulligen
14b485efa4
Merge pull request #6119 from smowton/smowton/fix/jaxrs-tests-field-flow
...
Increase field flow branch limit in Jax-RS tests
2021-06-21 14:43:59 +02:00
Anders Schack-Mulligen
d383c0f69b
Java: Remove temporary store-as-taint.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
65ac8be5ac
Java: Add defaultImplicitTaintRead and sync.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
38319a4832
C/C++: Make Content public as DataFlow::Content.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
aa82d0b815
Java: Make Content public as DataFlow::Content.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
80880320d5
Dataflow: Sync.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
b7ac329ba1
DataFlow: Add support for configuration-specific implicit reads.
2021-06-21 14:41:19 +02:00
Mathias Vorreiter Pedersen
238c483e5b
C++: Make any non-overflowing arithmetic operation a barrier.
2021-06-21 14:05:34 +02:00
Mathias Vorreiter Pedersen
18e5d3cce8
C++: Add false positive with multiplication.
2021-06-21 14:04:27 +02:00
Chris Smowton
e2aaae8181
Increase test fieldFlowBranchLimit to 1000
...
Might as well head off future failures in this test
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-21 12:51:37 +01:00
Chris Smowton
c5eef7be8c
Increase field flow branch limit in Jax-RS tests
...
This fixes apparently-missing results by allowing the dataflow library to persist even when there are many Map implementations possibly available.
2021-06-21 12:46:13 +01:00
Geoffrey White
6f808c9e4c
C++: Update change note.
2021-06-21 12:32:48 +01:00
Geoffrey White
79198974dc
Merge branch 'main' into weak-crypto3
2021-06-21 11:55:29 +01:00
Anders Schack-Mulligen
9110dfaeb3
Merge pull request #6095 from hvitved/dataflow/local-cc-join
...
Data flow: Fix `getLocalCallContext` join-order
2021-06-21 12:53:38 +02:00
Geoffrey White
90e2a2d222
C++: Change note.
2021-06-21 11:30:12 +01:00
Asger Feldthaus
0754ed2b5c
JS: Change note
2021-06-21 11:46:44 +02:00
Rasmus Wriedt Larsen
d6ec4d30fc
Python: Twisted refactor of getRequestParamIndex
2021-06-21 10:54:28 +02:00
Rasmus Wriedt Larsen
8208aebd7e
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-06-21 10:43:25 +02:00
Shati Patel
bbb5a39c02
Merge pull request #6072 from shati-patel/shati-patel/vs-code-setting
...
[Already shipped] Docs: Update setting in CodeQL for VS Code
2021-06-21 08:34:14 +01:00
Taus
3aea270e10
Python: Autoformat
2021-06-18 18:30:27 +00:00
yo-h
26a04d6659
Merge pull request #6108 from tamasvajk/fix/coverage-commenter
...
Fix diff in the framework coverage PR comment
2021-06-18 14:02:15 -04:00
Taus
aeac03663f
Python: Remove old ClickHouseDriver.qll
...
The merge must've gone wrong some way, as this file is not supposed to
exist in `experimental` anymore.
2021-06-18 17:41:09 +00:00
Taus
348b20ca9d
Merge branch 'main' of https://github.com/github/codeql into python-a-few-minor-cleanups
2021-06-18 17:38:43 +00:00
Taus
9351688da8
Python: asCfgNode cleanup
2021-06-18 17:22:42 +00:00
Taus
c386f4a009
Python: Clean up py/insecure-protocol
...
Going all the way to the AST layer seemed excessive to me, so I rewrote
it to do most of the logic at the data-flow layer. In principle this
_could_ result in more names being computed (due to splitting), but in
practice I don't expect this make a big difference.
2021-06-18 17:22:42 +00:00
Taus
f24a9a46d9
Python: add getAnAttributeWrite
2021-06-18 17:22:42 +00:00
Taus
c78ba476cf
Python: Clean up a few verbose casts
2021-06-18 17:22:42 +00:00
Tamas Vajk
b3f44f457a
Fix diff in the framework coverage PR comment
2021-06-18 16:33:50 +02:00
haby0
1750efad2a
fix
2021-06-18 21:46:48 +08:00
haby0
dca737190b
Modify JShellInjection.expected
2021-06-18 21:36:45 +08:00
haby0
2b77f7d1bc
Modify isAdditionalTaintStep
2021-06-18 21:36:44 +08:00
haby0
a71757f0f4
Update java/ql/src/experimental/Security/CWE/CWE-094/JShellInjection.qhelp
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-06-18 21:36:44 +08:00
haby0
bfe0d40987
using isAdditionalTaintStep
2021-06-18 21:36:44 +08:00
haby0
3a2a99e289
Fix 1
2021-06-18 21:36:44 +08:00
haby0
ed0aabef46
add isAdditionalTaintStep
2021-06-18 21:36:44 +08:00
haby0
921b8e80a2
Jshell Injection
2021-06-18 21:36:44 +08:00
Mathias Vorreiter Pedersen
17df8e44d0
C++: Convert 'cpp/tainted-arithmetic' to a 'path-problem' query.
2021-06-18 14:56:17 +02:00
AlonaHlobina
ac35438b5f
Update versions-compilers.rst
2021-06-18 15:35:37 +03:00
CodeQL CI
081fd28090
Merge pull request #6102 from RasmusWL/js-qhelp-fixup
...
Approved by erik-krogh
2021-06-18 04:52:48 -07:00
Chris Smowton
6302187a5d
Merge pull request #5957 from haby0/java/BeanShellInjection
...
Java: BeanShell Injection
2021-06-18 12:38:51 +01:00
Jonas Jensen
f829fff2ad
Merge pull request #6100 from github/AlonaHlobina-patch-2
...
Update C/C++ Clang and GCC versions.rst
2021-06-18 13:10:29 +02:00
AlonaHlobina
288a314108
Update versions-compilers.rst
2021-06-18 13:35:11 +03:00
Rasmus Wriedt Larsen
968a0921d4
JS: Fix secure example inclusion in InsecureDownload.qhelp
2021-06-18 12:12:06 +02:00
Anders Schack-Mulligen
7eb6da3888
Merge pull request #5772 from smowton/smowton/feature/apache-tuple-flow
...
Add models for Apache Commons Lang's tuple types
2021-06-18 11:25:07 +02:00
AlonaHlobina
bd820458f5
Update docs/codeql/support/reusables/versions-compilers.rst
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-06-18 12:24:34 +03:00
haby0
a73cb3f04a
Fix error
2021-06-18 17:22:26 +08:00
CodeQL CI
1ffd9c9ba7
Merge pull request #6086 from asgerf/js/knex
...
Approved by esbena
2021-06-18 01:58:21 -07:00
Calum Grant
32f6a465b0
Merge pull request #6080 from github/calumgrant/security-severities
...
Update security-severity scores
2021-06-18 09:40:40 +01:00
Tom Hvitved
eb86bceb4d
Address review comments
2021-06-18 10:18:47 +02:00
AlonaHlobina
9c5ba8d4f6
Adding C++20 Beta support.rst
2021-06-18 10:56:11 +03:00
haby0
0d18e4ff9c
BeanShell Injection
2021-06-18 15:54:13 +08:00
AlonaHlobina
9feda2ddd6
Update C/C++ Clang and GCC versions.rst
2021-06-18 10:46:22 +03:00
Tamás Vajk
0545bcfbd2
Merge pull request #6028 from github/tamasvajk/feature/csv-coverage-report-comment
...
Add CSV coverage PR commenter
2021-06-18 09:32:45 +02:00
Tom Hvitved
66e4940ac3
C#: Remove bad magic
2021-06-17 20:47:20 +02:00
Tom Hvitved
d5163ca244
C#: Cache NamedElement::hasQualifiedName/2
2021-06-17 20:47:07 +02:00
Geoffrey White
b4cbe6dce8
C++: Increase query precision to high.
2021-06-17 14:33:17 +01:00
Geoffrey White
b5c71fd1d7
C++: Repair funcion call in a function call.
2021-06-17 14:33:16 +01:00
Geoffrey White
e5147c2a1f
C++: Exclude functions that don't involve buffers.
2021-06-17 14:33:16 +01:00
Tom Hvitved
eca11f1b40
C#: Adjust getQualifiedName for type parameters
2021-06-17 14:47:19 +02:00
Chris Smowton
64001cc02c
Merge pull request #5587 from smowton/smowton/admin/promote-ssrf-query
...
Promote SSRF query from experimental
2021-06-17 13:02:33 +01:00
Chris Smowton
d28c95d16c
Field foo of -> Field[foo] of
2021-06-17 12:49:25 +01:00
Chris Smowton
74b2a2c7a6
Improve style of interpretField
2021-06-17 12:45:44 +01:00
Geoffrey White
a481e5c292
C++: Exclude template code.
2021-06-17 12:36:14 +01:00
Geoffrey White
8efdf359dc
C++: Fix some incorrect uses of 'const' in the tests.
2021-06-17 12:36:13 +01:00
Geoffrey White
3641cdcc1f
C++: Add a test case involving an array.
2021-06-17 12:36:09 +01:00
Chris Smowton
5cf0243dd0
Add change note
2021-06-17 12:34:40 +01:00
Chris Smowton
2cc1f46871
Model constructors for (Imm|M)utable(Pair|Triple)
2021-06-17 12:34:40 +01:00
Chris Smowton
fbaa382158
Add tests for Pair.of and Triple.of
2021-06-17 12:34:40 +01:00
Chris Smowton
eebaab8fe9
Order left and right consistently
2021-06-17 12:34:40 +01:00
Chris Smowton
365aab9bd9
Improve matching of Field specifiers; add Field recognition in tests
2021-06-17 12:34:36 +01:00
Geoffrey White
23db21cd90
C++: Test spacing.
2021-06-17 12:33:31 +01:00
Chris Smowton
472a2a64dd
Add models for Apache Commons tuples
2021-06-17 12:25:21 +01:00
Chris Smowton
73fa680224
Add support for CSV-specified flow to or from fields.
2021-06-17 12:24:28 +01:00
Geoffrey White
d590952aaa
C++: Add a test case involving nested function calls.
2021-06-17 12:23:18 +01:00
Geoffrey White
7632c9edb5
C++: Add test cases involving strings and comparisons.
2021-06-17 12:23:17 +01:00
Geoffrey White
2e236dd2a9
C++: Add a test case involving a harmless assert.
2021-06-17 12:23:17 +01:00
Geoffrey White
dca397dfb1
C++: Add a test case with a template class.
2021-06-17 12:23:16 +01:00
Tamas Vajk
07b83d5dc1
Remove commented code
2021-06-17 13:04:39 +02:00
Tamás Vajk
c532db58fd
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-06-17 13:04:39 +02:00
Tamas Vajk
e61f725196
Apply code review findings
2021-06-17 13:04:39 +02:00
Tamas Vajk
4abaa7870f
Add CSV coverage PR commenter
2021-06-17 13:04:39 +02:00
Tamás Vajk
200126b302
Merge pull request #6008 from github/tamasvajk/feature/csv-coverage-report
...
Add timeseries CSV generator script
2021-06-17 13:03:41 +02:00
Chris Smowton
11b70326fd
Add Jakarta WS url-open sink
2021-06-17 11:58:41 +01:00
Chris Smowton
da1e760269
Adjust Spring models to use erased function signatures
2021-06-17 11:43:33 +01:00
Chris Smowton
1176fec287
Improve docs
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-17 11:43:33 +01:00
Chris Smowton
09f27554d0
Note incidental extra models in change note
2021-06-17 11:43:33 +01:00
Chris Smowton
7509e36382
Remove no-longer-needed BasicRequestLine model from InsecureBasicAuth.ql; adjust test expectations accordingly
2021-06-17 11:43:33 +01:00
Chris Smowton
c531b81ebe
Rename RequestForgery.java -> SanitizationTests.java
2021-06-17 11:43:33 +01:00
Chris Smowton
cb99e17f4d
Split and rename JavaNetHttp and ApacheHttp tests for consistency
2021-06-17 11:43:32 +01:00
Chris Smowton
6c4a909b86
Remove dead code from test
2021-06-17 11:43:32 +01:00
Chris Smowton
08ab5f5546
Remove redundant test
2021-06-17 11:43:32 +01:00
Chris Smowton
74569ce316
Tidy Jax-RS test
2021-06-17 11:43:32 +01:00
Chris Smowton
57ca36baad
Tidy Spring test
2021-06-17 11:43:32 +01:00
Chris Smowton
8b080a94e7
Convert request forgery tests to inline expectations; add missing models revealed by this process.
2021-06-17 11:43:32 +01:00
Chris Smowton
b66dcbe5b6
Factor request-forgery config so it can be used in an inline-expectations test
2021-06-17 11:43:32 +01:00
Chris Smowton
ee872f1752
Add missing tests, add additional models revealed missing in the process, and add stubs to support them all.
2021-06-17 11:43:32 +01:00
Chris Smowton
49bbfc3f4b
Convert SSRF sinks into url-open CSV sinks
...
I also drop the previous approach of taint-tracking through various builder objects in favour of assuming that a URI set in a request-builder object is highly likely to end up requested in some way or another.
This will cause the `java/non-https-url` query to pick the new sinks up too, and fixes a Spring case that had never worked but went unnoticed until now.
2021-06-17 11:43:30 +01:00
Chris Smowton
0f2139ff5d
Fix and document one-based argument indexing in StringFormat's getAnArgUsageOffset
2021-06-17 11:41:06 +01:00
Chris Smowton
55c72cebf2
Improve StringBuilder append chain tracking
...
Previously this didn't catch the case of constructors chaining directly into appends, like `StringBuilder sb = new StringBuilder("1").append("2")`
2021-06-17 11:41:06 +01:00
Chris Smowton
5b25694a52
Simplify and improve AddExpr logic
...
The improvement is in considering (userSupplied + "/") itself a sanitising prefix.
2021-06-17 11:41:06 +01:00
Chris Smowton
6b76f42d22
Broaden PrimitiveSanitizer to include boxed primitives and other java.lang.Numbers
2021-06-17 11:41:06 +01:00
Chris Smowton
3167af29bd
Tidy and remove catersian product from getUrlArgument
2021-06-17 11:41:05 +01:00
Chris Smowton
f388aae78e
Fix getAnArgUsageOffset and improve its space complexity
...
Also add tests checking the output of the new function
2021-06-17 11:41:05 +01:00
Chris Smowton
0db5484399
Copyedit documentation
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-17 11:41:05 +01:00
Chris Smowton
1549993565
Update test results to account for changed model structure
...
(Models now have internal nodes in order to allow field flow through them)
2021-06-17 11:41:05 +01:00
Chris Smowton
8d70e3d22e
Fix casing of change note
2021-06-17 11:41:05 +01:00
Chris Smowton
9138d2b8f5
Improve comment casing
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-06-17 11:41:05 +01:00
Chris Smowton
b25e8671b9
Java SSRF query: comment on sanitizing regex
2021-06-17 11:41:05 +01:00
Chris Smowton
a665d5d111
Improve RequestForgery.qhelp recommendation
2021-06-17 11:41:05 +01:00
Chris Smowton
0d9a6e2b61
Update java/ql/src/semmle/code/java/security/RequestForgery.qll
...
SpringRestTemplateUrlMethods -> SpringRestTemplateUrlMethod
2021-06-17 11:41:05 +01:00
Chris Smowton
fb2989c16b
Copyedit comments and function names
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-06-17 11:41:04 +01:00
Chris Smowton
960a903185
Java SSRF query: document RequestForgeryAdditionalTaintStep and use Unit not string for a supertype.
2021-06-17 11:41:04 +01:00
Chris Smowton
575198a0e4
Java SSRF query: Server Side -> Server-Side everywhere.
2021-06-17 11:41:04 +01:00
Chris Smowton
7899e17f3a
Java SSRF query: move RequestForgery qll file into semmle/code hierarchy
...
This makes it importable by people wishing to extend the query.
2021-06-17 11:41:04 +01:00
Chris Smowton
532a10bfdf
Java SSRF query: Provide hook for custom taint-propagating steps; make all default sinks/sanitizers/steps private.
2021-06-17 11:41:04 +01:00
Chris Smowton
5bdd9da27a
Java SSRF query: credit original author
2021-06-17 11:41:04 +01:00
Chris Smowton
e8613367e8
Java SSRF query: copyedit qhelp
2021-06-17 11:41:04 +01:00
Chris Smowton
3333e7d186
Java SSRF query: sanitize primitives
...
Even 'char' isn't a realistic vector for an exploit, unless somebody is copying out a string char by char.
2021-06-17 11:41:04 +01:00
Chris Smowton
93a9f471ce
Add change note
2021-06-17 11:41:04 +01:00
Chris Smowton
77904d9597
Remove failing test
...
The case where something might be exactly a constant is general across all queries, and not handled yet, particularly in the case where the result of `getParameter("uri")` might have changed between the check and the use.
2021-06-17 11:41:04 +01:00
Chris Smowton
6933d06a46
Add exactly the string '/' as a sanitizing prefix.
...
Usually this is ignored for suspicion that it could be taken for a protocol specifier, but on balance the context `(something) + "/" + tainted()` is more likely to be taken for a user-controlled location within a host the user does not control.
2021-06-17 11:41:03 +01:00
Chris Smowton
bc43b6d760
Fix typo
2021-06-17 11:41:03 +01:00
Chris Smowton
e6249eed79
Add doc comments
2021-06-17 11:41:03 +01:00
Chris Smowton
26e10f3ad5
SSRF: don't consider results of fetches we initiated to be untrustworthy
2021-06-17 11:41:03 +01:00
Chris Smowton
c63d5986cf
Sanitize StringBuilder appends that follow directly from a constructor.
...
Note that some of this logic ought to be incorporated into StringBuilderVar once that code can be reviewed.
2021-06-17 11:41:03 +01:00
Chris Smowton
b5a450b881
SSRF query: add sanitizer looking for a variety of ways of prepending a sanitizing prefix, such as one that restricts the hostname a URI will refer to.
2021-06-17 11:41:03 +01:00
Chris Smowton
487c1db6ed
Promote SSRF query to main query set
2021-06-17 11:41:01 +01:00
Anders Schack-Mulligen
6ca8d69b26
Merge pull request #5881 from haby0/java/UnsafeDeserialization
...
Java: CWE-502 Add UnsafeDeserialization sinks
2021-06-17 12:36:34 +02:00
Anders Schack-Mulligen
8fe2f4a554
Merge pull request #6034 from owen-mc/java/jax-rs
...
Improve JAX-WS and JAX-RS models
2021-06-17 12:35:34 +02:00
Anders Schack-Mulligen
b173b4141d
Merge pull request #6096 from smowton/smowton/fix/inline-expectations-missing-prefix
...
Inline expectation tests: accept // $MISSING: and // $SPURIOUS:
2021-06-17 11:41:15 +02:00
haby0
363ad5b470
Fix error
2021-06-17 17:36:35 +08:00
Owen Mansel-Chan
945db01f56
Address review comments
2021-06-17 10:29:33 +01:00
Owen Mansel-Chan
b9bc1f978c
Update style of inline expectation comments
2021-06-17 10:04:15 +01:00
Chris Smowton
558813acf7
Inline expectation tests: accept // $MISSING: and // $SPURIOUS:
...
Previously there had to be a space after the $ token, unlike ordinary expectations (i.e., // $xss was already accepted)
2021-06-17 09:44:39 +01:00
Owen Mansel-Chan
0987425f94
Reinstate failing tests with MISSING: prefix
2021-06-17 09:36:51 +01:00
Tom Hvitved
0febf5a592
Merge pull request #6094 from hvitved/dataflow/consistency-compiler-too-smart
...
Data flow: Workaround for too clever compiler in consistency queries
2021-06-17 10:23:31 +02:00
Tom Hvitved
ffb2350a54
Data flow: Fix getLocalCallContext join-order
2021-06-17 10:02:31 +02:00
Tom Hvitved
cc383e0f6a
Data flow: Workaround for too clever compiler in consistency queries
2021-06-17 09:43:36 +02:00
haby0
3dd851fffb
expected
2021-06-17 15:20:03 +08:00
Owen Mansel-Chan
5f82993b0b
Put parameters with inline expectation comments on their own lines
2021-06-17 06:41:01 +01:00
Rasmus Wriedt Larsen
68f526da1f
Python: Add change-note
2021-06-16 20:09:05 +02:00
Tom Hvitved
3f6beaf9df
C#: Add tests for complex CSV flow summaries
2021-06-16 19:36:05 +02:00
Tom Hvitved
0af44a7f94
C#: Changes to Type::{getQualifier,hasQualifiedName}
2021-06-16 19:36:05 +02:00
Rasmus Wriedt Larsen
498703fc81
Python: Escaping only valid with both input/output defined
...
Problematic part is
```codeql
/** A escape from string format with `markupsafe.Markup` as the format string. */
private class MarkupEscapeFromStringFormat extends MarkupSafeEscape, Markup::StringFormat {
override DataFlow::Node getAnInput() {
result in [this.getArg(_), this.getArgByName(_)] and
not result = Markup::instance()
}
override DataFlow::Node getOutput() { result = this }
}
```
since the char-pred still holds even if `getAnInput` has no results...
I will say that doing it this way feels kinda dirty, and we _could_ fix
this by including the logic in `getAnInput` in the char-pred as well.
But as I see it, that would just lead to a lot of code duplication,
which isn't very nice.
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
6539df6422
Python: Add ConceptsTest for MarkupSafe
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
14de3bffb7
Python: Model MarkupSafe PyPI package
...
Since expectation tests had so many changes from ConceptsTest, I'm going
to do the changes for that on in a separate commit. The important part
is the changes to taint-tracking, which is highlighted in this commit.
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
e1c4b8ca42
Python: Add helper predicates to Escaping kinds
...
The other approach felt a bit too much like specifying magic strings
that you had to get right. (crossing your fingers that no-one writes
`HTML` instead of `html`)
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
bcef8d19e6
Python: Add Escaping concept
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
d18b9a2704
Python: Add markupsafe tests
2021-06-16 19:09:00 +02:00
CodeQL CI
bcafe532ac
Merge pull request #5944 from RasmusWL/async-api-graph-tests
...
Approved by tausbn
2021-06-16 08:46:26 -07:00
CodeQL CI
9b84a8e146
Merge pull request #6048 from erik-krogh/graphql
...
Approved by esbena
2021-06-16 06:35:42 -07:00
Tom Hvitved
8866e6c969
C#: Always use fully qualified names in CSV data-flow summaries
2021-06-16 14:09:45 +02:00
Tom Hvitved
def3d6bac4
C#: CSV-based flow summaries
2021-06-16 14:09:45 +02:00
Owen Mansel-Chan
5d00bb23e4
Move logic for URL redirection sinks
2021-06-16 12:48:11 +01:00
yoff
0ddeb7a8c1
Merge pull request #5950 from RasmusWL/promote-clickhouse
...
Python: Promote ClickHouse SQL models
2021-06-16 13:38:41 +02:00
Taus
e647403948
Python: Avoid __main__.py files as entry points.
...
According to the official documentation, the purpose of `__main__.py`
files is that their presence in a package (say, `foo`) means one can
execute the package directly using `python -m foo` (which will run the
aforementioned `foo/__main__.py` file).
In principle this means that adding `if __name__ == "__main__"` in these
files is superfluous, as they are only intended to be executed (and not
imported by some other file).
However, in practice people often _do_ include the above construct.
Here are some instances of this on LGTM.com:
https://lgtm.com/query/7521266095072095777/
In particular, 10 out of 33 files in `cpython` have this construct.
This causes some confusion in our module naming, as we usually see the
presence of `__name__ == "__main__"` as an indication that a file may
be run directly (and hence with "absolute import" semantics). However,
when run with `python -m`, the interpreter uses the usual package
semantics, and this leads to modules getting multiple names.
For this reason, I think it makes sense to simply exclude `__main__.py`
files from consideration. Note that if there is a `#!` line mentioning
the Python interpreter, then they will still be included as entry
points.
2021-06-16 10:59:56 +00:00
Tamás Vajk
eaa69dfa5d
Merge pull request #6084 from tamasvajk/feature/effective-publicness
...
C#: Fix isEffectively* visibility predicates
2021-06-16 12:52:38 +02:00
Anders Schack-Mulligen
75d5fe67ea
Merge pull request #6090 from atorralba/atorralba/move-httpsurls-tests
...
Java: Move/tweak some tests
2021-06-16 12:00:55 +02:00
Tamas Vajk
28ef0e86f6
Apply code review findings
2021-06-16 10:51:52 +02:00
Tamas Vajk
c5b8acf216
Add change notes
2021-06-16 10:51:52 +02:00
Tamas Vajk
db8a777aa9
Fix isEffectively* predicates to members extracted from multiple assemblies
2021-06-16 10:51:52 +02:00
Tamas Vajk
77f8f3fa8a
Adjust comments on isEffectively*
2021-06-16 10:51:52 +02:00
Tamas Vajk
eea96a5585
Fix effective publicness of protected private and protected internal
2021-06-16 10:51:52 +02:00
Tamas Vajk
f715445c7a
Fix effective privateness of explicitly implemented members
2021-06-16 10:51:08 +02:00
Tamas Vajk
a24006239b
C#: Add more tests to effective visibility
2021-06-16 10:50:15 +02:00
Taus
96d8fc78f8
Merge pull request #6078 from hvitved/type-tracker-caching
...
Python: Move cached predicates in type tracker library to same stage
2021-06-16 10:45:02 +02:00
Tamás Vajk
9f44bc575f
Merge pull request #6089 from tamasvajk/feature/interface-member-modifier
...
C#: Allow abstract modifier on interface members
2021-06-16 10:44:43 +02:00
haby0
c1ada6d85b
Merge branch 'main' into java/UnsafeDeserialization
2021-06-16 16:37:03 +08:00
Tamás Vajk
386d88ab93
Merge pull request #6085 from tamasvajk/feature/unsafe
...
C#: Fix `Modifiable::isUnsafe` to handle declarations extracted from assemblies
2021-06-16 10:30:09 +02:00
Tony Torralba
e2918d55b5
Move tests back from internal repo
2021-06-16 10:09:44 +02:00
Tamas Vajk
66835651fe
C#: Allow abstract modifier on interface members
2021-06-16 09:56:36 +02:00
Tamas Vajk
dacb044790
C#: Add tests for abstract/virtual modifier of interface members
2021-06-16 09:54:34 +02:00
Asger Feldthaus
5838e54a46
JS: Sharpen recognition of string 'match' calls
2021-06-16 09:27:02 +02:00
haby0
9badd7aa27
change name
2021-06-16 11:29:37 +08:00
Taus
359bc5eff9
Python: Autoformat
2021-06-15 15:56:40 +00:00
Tamas Vajk
74c4765ab9
Add change note
2021-06-15 17:30:48 +02:00
Tamas Vajk
44b30b70da
C#: Fix Modifiable::isUnsafe to handle declarations extracted from assemblies
2021-06-15 17:30:48 +02:00
Asger Feldthaus
af9cc07066
JS: Change note
2021-06-15 17:19:39 +02:00
Asger Feldthaus
9f052a2ecd
JS: Add Knex model
2021-06-15 17:19:39 +02:00
CodeQL CI
847faf536d
Merge pull request #6070 from asgerf/js/script-with-tsx-lang
...
Approved by erik-krogh
2021-06-15 08:17:53 -07:00
Taus
b55c034502
Python: Fix up getAMethodCall
...
Now that we have a `MethodCallNode` class, it would be silly not to use
that as the return type.
2021-06-15 15:13:54 +00:00
Taus
92063dc191
Python: Add change note
2021-06-15 15:13:03 +00:00
Taus
41ee325bc9
Python: Clean up Stdlib.qll
...
Not as many opportunities to clean stuff up here.
2021-06-15 15:04:30 +00:00
Taus
e90ec807ef
Python: Clean up Ssl.qll
2021-06-15 15:04:29 +00:00
Taus
82fab3ba75
Python: Clean up Cryptography.qll
2021-06-15 15:04:29 +00:00
Taus
d4b05547ba
Python: Add MethodCallNode class
...
Roughly patterned after the JS equivalent.
2021-06-15 15:04:29 +00:00
Taus
87ee7849a9
Merge pull request #6077 from RasmusWL/fix-pypi-names
...
Python: Fixup for names of supported PyPI packages
2021-06-15 15:01:35 +02:00
yoff
b19d64f173
Merge pull request #6013 from RasmusWL/sensitive-improvements
...
Python: Improve sensitive data modeling
2021-06-15 14:45:40 +02:00
Calum Grant
771e686946
Update security-severity scores
2021-06-15 13:25:17 +01:00
Tom Hvitved
c03ee32f02
Python: Move cached predicates in type tracker library to same stage
2021-06-15 13:42:43 +02:00
Rasmus Wriedt Larsen
b1fb68bc54
Python: Rename .qll file for mysql-connector-python support
...
Just like our support for the `PyYAML` PyPI package that you import with
`import yaml` is in `Yaml.qll`.
Since this file does not provide any public predicates/modules, it
should be safe to rename it.
2021-06-15 13:06:53 +02:00
Rasmus Wriedt Larsen
b154f034cb
Python: Fix names of supported PyPI packages
2021-06-15 12:55:52 +02:00
Tamas Vajk
255e422172
Apply code review findings
2021-06-15 11:35:10 +02:00
Rasmus Wriedt Larsen
00af18a622
Python: Autoformat
2021-06-15 11:31:38 +02:00
Rasmus Wriedt Larsen
156b10cb59
Merge branch 'main' into promote-clickhouse
2021-06-15 11:30:19 +02:00
Anders Schack-Mulligen
19305a217a
Merge pull request #5374 from joefarebrother/guava-base
...
Java: Model additional flow steps for the package `com.google.common.base` of the Guava framwork.
2021-06-15 10:58:48 +02:00
Tom Hvitved
501ba4bd8a
Merge pull request #6012 from hvitved/csharp/early-labels
...
C#: Populate labels earlier
2021-06-15 10:28:23 +02:00
Mathias Vorreiter Pedersen
b2e9fe79a7
C++: Add change-note.
2021-06-15 10:01:45 +02:00
Erik Krogh Kristensen
60920c1ecc
require that the URL refers to graphql in some way
2021-06-15 09:53:32 +02:00
Erik Krogh Kristensen
416c986cbc
add support for graphql in @actions/github
2021-06-15 09:43:11 +02:00
Asger Feldthaus
53bef94b75
JS: Extractor version bump
2021-06-15 09:34:54 +02:00
Cornelius Riemenschneider
0ebf53b9df
Merge pull request #6073 from geoffw0/loc
...
C++: Add lines of user code query
2021-06-15 09:18:46 +02:00
Mathias Vorreiter Pedersen
14a04ee453
C++: Accept more test changes. These all arise because we now transitively pull in 'semmle.code.cpp.Print' when including 'cpp'.
2021-06-14 22:02:46 +02:00
Mathias Vorreiter Pedersen
cc6ae7f8b8
Merge branch 'main' into path-sensitive-stack-variable-reachability-analysis
2021-06-14 22:02:46 +02:00
Mathias Vorreiter Pedersen
714ad105fe
C++: Accept test changes.
2021-06-14 22:02:38 +02:00
Mathias Vorreiter Pedersen
79926788d1
C++: Fix non-monotonic recursion problems in 'StackVariableReachabilityWithReassignment' by using the old StackVariableReachability predicates that don't care about paths.
2021-06-14 22:00:17 +02:00
Mathias Vorreiter Pedersen
c32f72063f
C++: Add path sensitivity to StackVariableReachability.
2021-06-14 21:59:13 +02:00
Shati Patel
cce8eac0a7
Merge pull request #5946 from shati-patel/vscode-custom-logs
...
Docs: Describe custom log directory setting in VS Code extension
2021-06-14 20:30:54 +01:00
Aditya Sharad
75ed7c0568
Merge pull request #6014 from github/docs-4179-legacy-tools
...
Remove docs about legacy tools
2021-06-14 11:50:18 -07:00
Taus
c6c9a5110a
Merge pull request #6063 from tausbn/python-promote-type-tracking-library
...
Python: Promote shared type tracking library
2021-06-14 18:56:03 +02:00
Geoffrey White
d7db18213d
C++: Add a generated file to the test.
2021-06-14 16:21:30 +01:00
Geoffrey White
1e1ae27974
C++: Test the new query.
2021-06-14 16:06:20 +01:00
Geoffrey White
e71264d1d2
C++: Lines of user code query.
2021-06-14 16:03:16 +01:00
Tom Hvitved
6b63e032a9
C#: Populate labels earlier
2021-06-14 15:17:33 +02:00
Rasmus Wriedt Larsen
d19bc1252b
Python: limit size of extraStepForCalls predicate
...
On django/django, this reduced the number of results in
`extraStepForCalls` from 201,283 to 541
2021-06-14 15:06:42 +02:00
shati-patel
17f9aecab8
Docs: Update setting in CodeQL for VS Code
2021-06-14 13:38:06 +01:00
Rasmus Wriedt Larsen
cc311ac4cd
Python: Re-introduce syntactic handling of str/bytes/unicode (again)
...
This reverts commit 870389addb .
2021-06-14 14:23:12 +02:00
Rasmus Wriedt Larsen
870389addb
Revert "Python: Re-introduce syntactic handling of str/bytes/unicode"
...
This reverts commit c4987e94e0 .
Hoping that our new handling of builtins would solve this problem... but
it did not :|
2021-06-14 14:22:40 +02:00
Rasmus Wriedt Larsen
af13064f6a
Merge branch 'main' into pr/RasmusWL/5926
2021-06-14 14:17:33 +02:00
Rasmus Wriedt Larsen
4eed94a262
Python: Fix CWE tag for py/use-of-input
...
So it better matches what is in `py/code-injection`. I had my doubts
about CWE-95, but after reading
https://owasp.org/www-community/attacks/Direct_Dynamic_Code_Evaluation_Eval%20Injection
I think it's fine to add CWE-95 as well 👍
Definitions are:
CWE-78: Improper Neutralization of Special Elements used in an OS
Command ('OS Command Injection')
CWE-94: Improper Control of Generation of Code ('Code Injection')
CWE-95: Improper Neutralization of Directives in Dynamically Evaluated
Code ('Eval Injection')
2021-06-14 14:08:34 +02:00
Asger Feldthaus
c58942092f
JS: Add change note
2021-06-14 13:43:11 +02:00
Asger Feldthaus
bc375196d1
JS: Extract script tags with lang=tsx
2021-06-14 13:40:53 +02:00
Joe Farebrother
36cb207600
Increase precision of tests to test value flow
2021-06-14 11:20:07 +01:00
Owen Mansel-Chan
5e89fce734
Avoid strange bug by commenting out two tests
2021-06-14 10:57:28 +01:00
CodeQL CI
02c017afec
Merge pull request #6058 from RasmusWL/more-aiohttp
...
Approved by yoff
2021-06-14 02:56:59 -07:00
Owen Mansel-Chan
8cf47f12b4
Model constructors of classes implementing MultivaluedMap
2021-06-14 10:56:35 +01:00
Felicity Chapman
60b4669813
Remove sentence about legacy tools
2021-06-14 08:41:28 +01:00
Taus
6333752014
Python: Add getAMethodCall to LocalSourceNode
...
This seems like something we have been missing for a while now, so I
figured it might be useful to add. It is roughly based on the JavaScript
equivalent, with one major difference: in the JavaScript libraries,
`getAMethodCall` is reserved for syntactic method calls (`obj.m(...)`)
whereas `getAMemberInvocation` is used for both this and the case where
the bound method `obj.m` is stored in a temporary variable and then
subsequently invoked in the same local scope.
It seems to me that the more general predicate is more useful, and hence
should have the simpler name. (And also we don't really work with a
notion of "invocation" in the Python libraries, so we would need a
better name for it anyway.)
I think as long as the documentation makes the behaviour clear, it
should be okay.
2021-06-11 21:26:58 +00:00
Taus
8016715fb6
Python: Add missing QLDoc
2021-06-11 20:35:58 +00:00
Taus
3869ab76d1
Python: Promote shared type tracking library
...
This was slightly messier than anticipated, as I hadn't accounted for
the dozen uses of `startInAttr` in our codebase. To circumvent this,
I decided to put the type tracking implementation in the `internal`
directory, and wrap it with a file that ensures the old interface still
works.
2021-06-11 20:20:22 +00:00
Jonas Jensen
e23b88b7f1
Merge pull request #6052 from jsinglet/jsinglet/stdtypes
...
Implementation of standard C/C++ fixed width, minimum width, and maximum width types
2021-06-11 17:03:01 +02:00
Calum Grant
85467adc5e
Merge pull request #5839 from github/security-severities5
...
Add security-severity scores
2021-06-11 15:56:20 +01:00
John L. Singleton
8c6c011be2
Formatting fixes, comment moving.
2021-06-11 10:17:05 -04:00
Joe Farebrother
678597f3f9
Update CSV rows for collection flow
2021-06-11 15:08:27 +01:00
John L. Singleton
9c946a79c7
Update cpp/change-notes/2021-06-10-std-types.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-06-11 09:49:44 -04:00
Rasmus Wriedt Larsen
53f7633662
Python: Model await request.post() as MultiDictProxy
...
as highlight as being quite easy to do by @yoff 👍
2021-06-11 14:53:30 +02:00
Chris Smowton
76838809bb
Merge pull request #5818 from artem-smotrakov/rmi-deserialization
...
Java: Unsafe RMI deserialization
2021-06-11 13:43:07 +01:00
yoff
97486b448a
Merge pull request #5999 from RasmusWL/aiohttp-modeling
...
Python: Add aiohttp.web modeling
2021-06-11 14:26:52 +02:00
Rasmus Wriedt Larsen
dee93783a2
Python: Update .expected for py/weak-sensitive-data-hashing
...
Now there is a path from the _imports_ of the functions that would
return sensitive data, so we produce more alerts.
I'm not entirely happy about this "double reporting", but I'm not sure
how to get around it without either:
1. disabling the extra taint-step for calls. Not ideal since we would
loose good sources.
2. disabling the extra sources based on function name. Not ideal since
we would loose good sources.
3. disabling the extra sources based on function name, for those calls
that would be handled with the extra taint-step for calls. Not ideal
since that would require running the data-flow query initially to
prune these out :|
So for now, I think the best approach is to accept some risk on this,
and ship to learn :)
2021-06-11 13:56:55 +02:00
Anders Schack-Mulligen
f24565738b
Merge pull request #6029 from atorralba/atorralba/tainted-key-read-steps
...
Java: Add Map key-read-steps as local additional taint steps
2021-06-11 13:14:18 +02:00
Joe Farebrother
dc19d1db35
Add change note
2021-06-11 11:41:30 +01:00
Joe Farebrother
04ffe80366
Add unit tests
2021-06-11 11:41:27 +01:00
Joe Farebrother
153e0c4ac3
Add modelling for more com.google.common.base methods
2021-06-11 11:40:37 +01:00
Rasmus Wriedt Larsen
df67028a1d
Python: Model aiohttp.StreamReader
2021-06-11 12:06:53 +02:00
Tony Torralba
c828c7031f
Add change note
2021-06-11 12:04:11 +02:00
Rasmus Wriedt Larsen
2d31ef7016
Python: Fix last TODOs in aiohttp tests
2021-06-11 12:00:02 +02:00
Rasmus Wriedt Larsen
64a0e3fd0a
Merge branch 'main' into aiohttp-modeling
2021-06-11 11:42:24 +02:00
Rasmus Wriedt Larsen
8b8e1334cc
Python: Fix syntax error
2021-06-11 11:42:14 +02:00
Rasmus Wriedt Larsen
46f7a2b572
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-06-11 11:28:11 +02:00
Rasmus Wriedt Larsen
6f29b01abc
Python: Model rsa
2021-06-11 11:23:06 +02:00
Rasmus Wriedt Larsen
40714c05b7
Python: Add tests for rsa PyPI package
2021-06-11 11:17:13 +02:00
Rasmus Wriedt Larsen
3d5f379b8c
Merge branch 'main' into sensitive-improvements
2021-06-11 10:48:20 +02:00
John L. Singleton
cd61fb4753
this should be abstract
2021-06-10 19:54:58 -04:00
John L. Singleton
219dc71ae6
changlog entry
2021-06-10 17:15:06 -04:00
John L. Singleton
2a01324172
more maintainable pattern for class abstractions
2021-06-10 17:09:32 -04:00
Calum Grant
a594afb828
Add security-severity metadata
2021-06-10 20:11:08 +01:00
Erik Krogh Kristensen
50d574d20d
add graphql injection to the sql-injection query
2021-06-10 21:01:54 +02:00
John L. Singleton
bd7c416356
comment change
2021-06-10 11:21:11 -04:00
John L. Singleton
0d3f53b013
Changes to structure per feedback of @jbj
2021-06-10 11:16:58 -04:00
Taus
e7b9603c5b
Merge pull request #6053 from RasmusWL/fix-tests
...
Python: Fix tests
2021-06-10 16:55:45 +02:00
Rasmus Wriedt Larsen
dd457f9641
Python: Fix tests
2021-06-10 15:58:56 +02:00
John L. Singleton
f174d7a0e0
Comment changes
2021-06-10 09:52:22 -04:00
John L. Singleton
14c419a75f
autoformatting
2021-06-10 09:39:43 -04:00
CodeQL CI
a241c114da
Merge pull request #5836 from RasmusWL/ec-class-improvement
...
Approved by tausbn
2021-06-10 06:20:56 -07:00
Rasmus Wriedt Larsen
04db33513e
Merge branch 'main' into sensitive-improvements
2021-06-10 15:11:09 +02:00
Rasmus Wriedt Larsen
ea0c1d7db3
Python: Better handling of sensitive functions
...
This solution was the best I could come up with, but it _is_ a bit
brittle since you need to remember to add this additional taint step
to any configuration that relies on sensitive data sources... I don't
see an easy way around this though :|
2021-06-10 15:08:21 +02:00
Tamas Vajk
916780a452
Fix codeql CLI path
2021-06-10 15:07:54 +02:00
Rasmus Wriedt Larsen
f167143a84
Python: Use real config in TestSensitiveDataSources
...
This will enable better tests in just one second
2021-06-10 15:01:31 +02:00
Rasmus Wriedt Larsen
c341643ec1
Python: Add more tests for sensitive function handling
2021-06-10 14:36:05 +02:00
Owen Mansel-Chan
e0130a932e
Update experimental query using NewCookie
2021-06-10 13:33:20 +01:00
Owen Mansel-Chan
c173b89529
Model NewCookie
2021-06-10 13:32:39 +01:00
Owen Mansel-Chan
ee6019a2d8
Fix tests for experimental httponly query
2021-06-10 13:31:28 +01:00
Rasmus Wriedt Larsen
eb4f168dd4
Python: Clarify SensitiveAttributeAccess
...
The comment about imports was placed wrong. I also realized we didn't
even have a single test-case for
`this.(DataFlow::AttrRead).getAttributeNameExpr() = sensitiveLookupStringConst(classification)`
so I added that (notice that this is only `getattr(foo, x)` and not
`getattr(foo, "password")`)
2021-06-10 14:09:47 +02:00
Owen Mansel-Chan
d5d27d5ccf
Duplicate tests for Jakarta
2021-06-10 10:43:40 +01:00
Owen Mansel-Chan
0ad35421f2
Comment out stubs (Jakarta)
2021-06-10 10:43:40 +01:00
Owen Mansel-Chan
318d1ea484
Stubs in javax-ws-rs-api-3.0.0
...
Generated using java-autostub
2021-06-10 10:43:39 +01:00
Owen Mansel-Chan
e6a6a8898b
Move Jax XSS sinks to JaxWS.qll and add tests
2021-06-10 10:43:39 +01:00
Owen Mansel-Chan
d1fe62d4d5
(Minor) Update comments to match ExternalFlow docs
2021-06-10 10:43:38 +01:00
Owen Mansel-Chan
1ae9d68409
Move and convert URL redirect sinks
...
Adds for them as well
2021-06-10 10:43:37 +01:00
Owen Mansel-Chan
f2ff2aa3e1
Add flow tests for JAX-RS
2021-06-10 10:43:37 +01:00
Owen Mansel-Chan
155d63d5f7
Add tests for JAX-RS
2021-06-10 10:43:36 +01:00
Owen Mansel-Chan
f63fd68bfb
Fix models to work with collection flow
...
And also removal of `Argument` with indices
2021-06-10 10:43:36 +01:00
Owen Mansel-Chan
e929de98ec
Delete duplicated taint summary rows
2021-06-10 10:43:35 +01:00
Owen Mansel-Chan
2b8bb5c231
Fix JAX-RS models
2021-06-10 10:43:35 +01:00
Owen Mansel-Chan
baa21c5bcf
Manually comment out parts of stubs
...
This is to avoid having to make more stubs, which we don't really need
2021-06-10 10:43:34 +01:00
Owen Mansel-Chan
caf96b01e1
Stubs in javax-ws-rs-api-2.1.1
...
Generated using java-autostub
2021-06-10 10:43:34 +01:00
Owen Mansel-Chan
7b3acd8b45
(Minor) Add missing this.
2021-06-10 10:43:33 +01:00
Owen Mansel-Chan
07f7fd0342
Add missing QLDocs in JaxWS.qll
...
And correct one QLDoc
2021-06-10 10:43:15 +01:00
Tamas Vajk
b067309909
Change artifact names
2021-06-10 11:26:07 +02:00
yoff
716627c1dd
Merge pull request #5878 from RasmusWL/fix-concept-tests-pretty-print
...
Python: Fix concept tests pretty print
2021-06-10 11:21:08 +02:00
Tamas Vajk
73aaeb4c0d
Change workflow names
2021-06-10 11:01:45 +02:00
Tamas Vajk
55dd6ed3d1
Allow space separated package patterns in framework-aggregated reports
2021-06-10 10:54:12 +02:00
Tamas Vajk
74c00383d2
Update java framework coverage reports
2021-06-10 10:26:34 +02:00
Tamas Vajk
3605b9f720
Update java framework data
2021-06-10 10:11:24 +02:00
Tamas Vajk
ba9c2e0702
Rework CSV report generator and change timeseries report to use framework.csv
2021-06-10 10:11:24 +02:00
Tamas Vajk
c6cb7c6eed
Rename time-series file to timeseries
2021-06-10 10:11:24 +02:00
Tamas Vajk
d0ec1e2f37
Generate file with package info
2021-06-10 10:11:24 +02:00
Tamas Vajk
3353c3ecdd
Add workflow to generate timeseries CSV coverage report
2021-06-10 10:11:24 +02:00
Tamas Vajk
4de4277a8d
Add timeseries CSV generator script
2021-06-10 10:11:23 +02:00
Tamas Vajk
270cf62f08
Fix variable reference
2021-06-10 10:11:23 +02:00
Tamas Vajk
49190615a7
Cleanup CSV coverage report generator
2021-06-10 10:11:23 +02:00
John L. Singleton
01cac13a48
format ql test files.
2021-06-09 17:16:26 -04:00
John L. Singleton
b91a0dbe16
removed accidental modification.
2021-06-09 17:12:59 -04:00
John L. Singleton
1fe3c9d093
removed accidental modification.
2021-06-09 17:11:39 -04:00
John L. Singleton
28e2cdb54e
adding standard C/C++ fixed width, minimum width, and maximum width types
2021-06-09 16:12:58 -04:00
Taus
b14fa8b4cd
Merge pull request #5925 from RasmusWL/pep249-import
...
Python: Use absolute import for PEP249
2021-06-09 18:32:28 +02:00
Dave Bartolomeo
4f81484e91
Merge pull request #6050 from MathiasVP/fix-join-order-in-addressOperandAllocationAndOffset
...
C++: Fix join order in `addressOperandAllocationAndOffset`
2021-06-09 12:20:50 -04:00
Shati Patel
bc4184e859
Merge pull request #6051 from github/shati-patel/rank
...
Clarify docs about rank aggregate
2021-06-09 16:03:34 +01:00
shati-patel
b5420a6f39
Update wording
2021-06-09 15:54:57 +01:00
shati-patel
0c9b53a9b2
Fix table formatting
2021-06-09 15:27:01 +01:00
shati-patel
405b2c84d6
Clarify how to think about rank aggregate
...
- Mention that `rank[1](...)` is the same as `min(...)`
- Make this (+ note about 1-based indexing) more visible
2021-06-09 15:25:28 +01:00
Mathias Vorreiter Pedersen
879bfbbd4e
C++: Match the join order from before #5522 .
2021-06-09 15:02:31 +02:00
Taus
e3a6daaecb
Merge pull request #6046 from RasmusWL/typetracking-attributes
...
Python: Add type-tracking test for attrs set in functions/methods
2021-06-09 14:45:48 +02:00
Rasmus Wriedt Larsen
aaddd36236
Python: Add another type-tracking attr test
...
This one just works out of the box 💪
2021-06-09 14:20:50 +02:00
Rasmus Wriedt Larsen
89cba216ca
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-06-09 14:15:59 +02:00
CodeQL CI
d65e6bbfa1
Merge pull request #6035 from erik-krogh/joi
...
Approved by asgerf
2021-06-09 04:42:54 -07:00
Rasmus Wriedt Larsen
dec6723183
Python: Minor refactor
...
A bit too much copy paste 😄
2021-06-09 12:19:11 +02:00
Rasmus Wriedt Larsen
fa6abea465
Python: Add modeling of jmespath
2021-06-09 12:14:35 +02:00
Rasmus Wriedt Larsen
5cdd60d0d6
Python: Add jmespath tests
2021-06-09 12:12:50 +02:00
Erik Krogh Kristensen
3e171adaab
update qldoc
...
Co-authored-by: Asger F <asgerf@github.com >
2021-06-09 10:45:55 +02:00
CodeQL CI
6bdd7df810
Merge pull request #6002 from erik-krogh/history
...
Approved by asgerf
2021-06-08 13:17:38 -07:00
CodeQL CI
a02f96d660
Merge pull request #6043 from erik-krogh/serialize-javascript-typo
...
Approved by asgerf
2021-06-08 12:18:52 -07:00
CodeQL CI
169e67cbb8
Merge pull request #5990 from erik-krogh/prettier
...
Approved by asgerf
2021-06-08 12:17:24 -07:00
Rasmus Wriedt Larsen
3d2de03674
Python: Add type-tracking test for attr set in function
2021-06-08 19:03:53 +02:00
Rasmus Wriedt Larsen
dcd448b743
Python: Refactor formatting
2021-06-08 19:03:53 +02:00
Rasmus Wriedt Larsen
09de1bcf44
Python: Add tests for type-tracking attrs on instances
2021-06-08 19:03:53 +02:00
Mathias Vorreiter Pedersen
8fb15666ee
Merge pull request #6041 from geoffw0/uncontrolled-allocation-size
...
C++: Add CWE-789 tag to cpp/uncontrolled-allocation-size.
2021-06-08 17:44:02 +02:00
Rasmus Wriedt Larsen
7c758f5c81
Python: Add change-note for twisted
2021-06-08 16:20:29 +02:00
Rasmus Wriedt Larsen
afd35f2e21
Python: Fix wording of change-note
...
`aiohttp.web` is a web _framework_, and not a web _server_.
2021-06-08 16:19:25 +02:00
Rasmus Wriedt Larsen
23f668f8ee
Python: Model redirects in twisted
2021-06-08 16:16:56 +02:00
Owen Mansel-Chan
2cb76fe407
Test JAX-WS endpoints
2021-06-08 15:12:04 +01:00
Owen Mansel-Chan
d9cf1aaf39
Add stubs for JAX-WS
2021-06-08 15:12:04 +01:00
Chris Smowton
55d584b044
Add doc comment for JaxWS file
2021-06-08 15:12:03 +01:00
Chris Smowton
f71897d166
Rename JAX-WS -> JAX-RS where necessary. Improve change note and fix missing QLDoc.
2021-06-08 15:12:03 +01:00
Chris Smowton
ca684bea0e
Jax-WS: support jakarta.ws.rs package everywhere
...
Releases since Java EE 9 use this.
2021-06-08 15:12:02 +01:00
Chris Smowton
adb5764aac
Add URL redirect sinks relating to JAX-WS
2021-06-08 15:12:02 +01:00
Chris Smowton
260a228367
Add change note
2021-06-08 15:12:02 +01:00
Chris Smowton
314980c64c
Model taint-propagating methods in the core JAX-WS library.
2021-06-08 15:11:57 +01:00
Rasmus Wriedt Larsen
a21039170b
Python: Model (most of) twisted
2021-06-08 16:11:18 +02:00
Chris Smowton
9335e095a9
MIME type -> content type
...
This matches the terminology used elsewhere
2021-06-08 15:05:28 +01:00
Chris Smowton
5f7165efbb
Add JaxWS XSS sink
...
Based on d44e4d0e63 by @lcartey
2021-06-08 15:05:27 +01:00
lcartey@github.com
cc497bf213
Java: Improve JaxRS modelling
...
- Handle inherited annotations
- Fix `ResponseBuilder` charpred.
- Model `@Produces` annotations.
2021-06-08 15:05:14 +01:00
Rasmus Wriedt Larsen
151a733ff2
Python: Add tests for twisted
...
These were largely based on the old tests in
6011cb74f8/python/ql/test/library-tests/web/twisted/test.py
2021-06-08 15:27:51 +02:00
CodeQL CI
fec39857fa
Merge pull request #6015 from erik-krogh/resolve
...
Approved by asgerf
2021-06-08 04:15:19 -07:00
CodeQL CI
6279c67949
Merge pull request #5901 from erik-krogh/regFP
...
Approved by asgerf
2021-06-08 04:14:06 -07:00
Erik Krogh Kristensen
4b98af0c2b
fix typo in prettier qldoc
...
Co-authored-by: Asger F <asgerf@github.com >
2021-06-08 13:13:33 +02:00
Erik Krogh Kristensen
ba6d504746
fix typo in SerializeJavascriptSanitizer qldoc
2021-06-08 13:12:23 +02:00
Geoffrey White
32545a1346
C++: Add CWE-789 tag to cpp/uncontrolled-allocation-size.
2021-06-08 10:59:03 +01:00
Tony Torralba
498c2250c7
Add missing QLDoc
2021-06-08 11:25:53 +02:00
Erik Krogh Kristensen
8b4c3c4462
refactor ValidationCall back to a CallNode
2021-06-08 11:18:49 +02:00
Mathias Vorreiter Pedersen
025043afca
Merge pull request #6010 from geoffw0/charloc
...
C++: Test and fix maxCols / charLoc
2021-06-08 11:15:04 +02:00
Tony Torralba
afab13e7ee
Add missing QLDoc
2021-06-08 11:09:59 +02:00
CodeQL CI
561c8d0e1a
Merge pull request #6033 from erik-krogh/serverlessLib
...
Approved by asgerf
2021-06-08 01:44:40 -07:00
CodeQL CI
95b591d72b
Merge pull request #6025 from erik-krogh/serve
...
Approved by asgerf
2021-06-08 01:42:38 -07:00
Tony Torralba
9024788a92
Add change note
2021-06-08 10:42:07 +02:00
Tony Torralba
48b0df4a3e
Add tests, minor bugfixes
2021-06-08 10:35:18 +02:00
Erik Krogh Kristensen
b1d7c61d8e
add missing qldoc
2021-06-08 09:56:32 +02:00
Erik Krogh Kristensen
1ad08677c2
model serve-handler in js/exposure-of-private-files
2021-06-08 09:52:56 +02:00
CodeQL CI
260ae47940
Merge pull request #6031 from asgerf/js/lines-of-user-code
...
Approved by erik-krogh
2021-06-08 00:37:51 -07:00
AlexDenisov
378a357251
Merge pull request #6032 from AlexDenisov/alexdenisov/fix-outdated-comment
...
C++: Remove outdated comment
2021-06-08 08:56:38 +02:00
Erik Krogh Kristensen
be7abede22
add model for the joi library
2021-06-07 20:04:17 +02:00
Felicity Chapman
44b9de04e5
Merge pull request #6011 from github/docs-4433-diagnostic-info
...
Make minimal changes to CodeQL docs for new diagnostic data
2021-06-07 17:20:15 +01:00
Felicity Chapman
aad738ba9f
Update docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-06-07 17:05:40 +01:00
Tony Torralba
d77d0c9e10
Added summaries for Spring PropertyValues
2021-06-07 17:35:03 +02:00
Erik Krogh Kristensen
7f09edcf59
add change note
2021-06-07 17:25:18 +02:00
Erik Krogh Kristensen
bcf08e6472
add remote flow source for the serverless library
2021-06-07 17:19:19 +02:00
Alex Denisov
a12954a403
C++: Remove outdated comment
2021-06-07 17:15:21 +02:00
AlexDenisov
d254524f3f
Merge pull request #6027 from AlexDenisov/alexdenisov/fix-string-literal-expectation
...
C++: Fix string literal expectation
2021-06-07 17:13:12 +02:00
Erik Krogh Kristensen
09a2c055a7
add test for the serverless express API
2021-06-07 16:50:01 +02:00
Asger Feldthaus
4cf3c11e83
JS: Add lines of user code summary query
2021-06-07 16:41:59 +02:00
Felicity Chapman
71019419e2
Update following writer review
2021-06-07 15:13:43 +01:00
Tamás Vajk
3f33f2de13
Merge pull request #5980 from tamasvajk/fix/extension-method-as-target
...
C#: Extract correct method symbol as target of extension method calls
2021-06-07 15:57:24 +02:00
Erik Krogh Kristensen
a63b0b28d4
refactor the history library model, add support for the global variable
2021-06-07 15:42:13 +02:00
Erik Krogh Kristensen
5419143e72
remove createHashHistory from the history sink
2021-06-07 15:24:59 +02:00
CodeQL CI
4963a8f6b9
Merge pull request #6024 from erik-krogh/serialize-javascript
...
Approved by asgerf
2021-06-07 06:08:05 -07:00
Rasmus Wriedt Larsen
3819a361b5
Python: Autoformat
2021-06-07 14:16:33 +02:00
Felicity Chapman
d292be3880
Update the revised section
2021-06-07 12:00:20 +01:00
Felicity Chapman
e09774be03
Address technical review feedback
2021-06-07 11:49:28 +01:00
Geoffrey White
6f05fd4839
C++: Autoformat.
2021-06-07 11:01:00 +01:00
Tony Torralba
52f1930e1d
Add key-read-steps as local additional taint steps
2021-06-07 11:37:05 +02:00
Mathias Vorreiter Pedersen
3923acb5e0
Merge pull request #6017 from github/dbartol/pack/extra-queries-xml
...
C++: Replace an odd `queries.xml` with `qlpack.yml`
2021-06-07 10:58:19 +02:00
Rasmus Wriedt Larsen
e82ad6fc22
Python: Add missing QLDoc
2021-06-07 10:13:26 +02:00
Rasmus Wriedt Larsen
9dcb26d151
Python: Autoformat
...
I had not set up the pre-commit hook properly
2021-06-07 10:05:48 +02:00
Anders Schack-Mulligen
96da85449d
Merge pull request #5823 from atorralba/promote-jexl-injection
...
Java: Promote JEXL Injection query from experimental
2021-06-07 10:03:12 +02:00
Alex Denisov
17be6e1271
C++: Fix string literal expectation
2021-06-07 09:47:26 +02:00
Tamás Vajk
1a1b74cfcc
Merge pull request #5998 from tamasvajk/fix/tuple-members
...
C#: Fix container type extraction of tuple members
2021-06-07 09:18:05 +02:00
Erik Krogh Kristensen
5961dd1459
add another test for the resolve library
2021-06-06 22:54:12 +02:00
Erik Krogh Kristensen
0adc001df0
add taint-step for serialize-javascript
2021-06-06 22:48:53 +02:00
Erik Krogh Kristensen
dd2fe2a489
add the resolve library as a sink to js/path-injection
2021-06-06 22:04:32 +02:00
Dave Bartolomeo
ac3ded7d5a
Replace an odd queries.xml with qlpack.yml
...
This one C++ test has its own `queries.xml` to make "outside-of-source" path filtering work, as detailed in commit 2550788598 . I've replaced the `queries.xml` with `qlpack.yml`, added a comment, and added that pack to the `.codeqlmanifest.json` at the root of the repo. This will allow the library dependencies of this pack to be resolved without the need for a `--search-path` option with the upcoming packaging changes.
2021-06-06 09:04:18 -04:00
Dave Bartolomeo
e276e2684e
Merge pull request #5986 from MathiasVP/side-effects-for-nonconst-smart-pointers
...
C++: Fix `hasDefaultSideEffect` for non-const smart pointers
2021-06-04 13:57:44 -04:00
Mathias Vorreiter Pedersen
8e8c2e677a
C++: Accept test changes.
2021-06-04 18:49:20 +02:00
Mathias Vorreiter Pedersen
27586d77f8
C++: Copy isDeeplyConst{Below} into SideEffects and modify it so that it works for smart pointers.
2021-06-04 18:46:52 +02:00
Mathias Vorreiter Pedersen
f2d7988d72
C++: Add tests involving various non-const and const smart pointers.
2021-06-04 18:46:05 +02:00
Geoffrey White
799e19bdc2
C++: Update the other version as well.
2021-06-04 16:21:04 +01:00
CodeQL CI
eb0491598a
Merge pull request #6009 from erik-krogh/whatwg-fetch
...
Approved by esbena
2021-06-04 08:19:36 -07:00
Geoffrey White
3c6a1f165b
Update cpp/ql/src/semmle/code/cpp/Location.qll
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-06-04 16:19:11 +01:00
Felicity Chapman
919555cae4
Remove info for legacy tools
2021-06-04 15:13:24 +01:00
Chris Smowton
4ddf4558a7
Merged simplified query
2021-06-04 16:07:15 +02:00
Mathias Vorreiter Pedersen
f21e949898
Merge pull request #6007 from geoffw0/weak_crypto2
...
C++: Combine results for cpp/weak-cryptographic-algorithm
2021-06-04 16:06:29 +02:00
Tom Hvitved
3c7c10a424
Merge pull request #5991 from hvitved/java/shared-external-source-sink
...
Java: Move common CSV logic for sources and sinks into shared library
2021-06-04 16:04:25 +02:00
Rasmus Wriedt Larsen
7f119dd5a9
Python: Add change-note
2021-06-04 15:27:36 +02:00
Geoffrey White
b24dc810c9
C++: Combine results from cpp/weak-cryptographic-algorithm that are in the same file.
2021-06-04 14:04:02 +01:00
Tamas Vajk
b3a2998d96
Fix failing test after rebase
2021-06-04 14:34:45 +02:00
Tamas Vajk
75060baaa3
Add change note
2021-06-04 14:33:12 +02:00
Tamas Vajk
33daa2c41d
Fix container type extraction of tuple members
2021-06-04 14:33:12 +02:00
Tamas Vajk
4f4bf59cd4
C#: Add tuple member tests
2021-06-04 14:33:12 +02:00
Tom Hvitved
42202402a4
Address review comments
2021-06-04 14:32:37 +02:00
Felicity Chapman
2a9904d1fd
Make minimal changes to CodeQL docs
2021-06-04 13:27:23 +01:00
Geoffrey White
a93246d28b
C++: Fix maxCols.
2021-06-04 13:05:13 +01:00
Geoffrey White
ea96826810
C++: Add a test of charLoc and subsumes.
2021-06-04 13:05:07 +01:00
Tamas Vajk
f98781db63
Fix non-constructed generic extension method extraction
2021-06-04 13:34:19 +02:00
Tamas Vajk
127d66ccd1
Remove unneeded ReducedExtension method handling
2021-06-04 13:34:19 +02:00
Tamas Vajk
e05e2365ea
C#: Extract correct method symbol as target of extension method calls
2021-06-04 13:34:19 +02:00
Tamas Vajk
fc0fc740ac
C#: Add test for extension method calls
2021-06-04 13:32:03 +02:00
Erik Krogh Kristensen
46f90006c2
add model for whatwg-fetch
2021-06-04 13:13:13 +02:00
Anders Schack-Mulligen
f73960da8f
Merge pull request #5788 from Marcono1234/marcono1234/stmt-toString
...
Java: Override toString() for statements
2021-06-04 12:41:03 +02:00
Anders Schack-Mulligen
60377a8f86
Merge pull request #5383 from smowton/smowton/feature/strbuilder-fluent-methods
...
Java: Add models for StrBuilder's fluent methods
2021-06-04 12:33:24 +02:00
Anders Schack-Mulligen
30cb80b341
Merge pull request #5181 from smowton/smowton/feature/commons-tostringbuilder
...
Java: Add models for Commons ToStringBuilder
2021-06-04 12:30:36 +02:00
Rasmus Wriedt Larsen
350f79e1e1
Python: Model sensitive data based on variable names
2021-06-04 11:28:07 +02:00
Rasmus Wriedt Larsen
f5fd0f8d1c
Python: Model sensitive data based on parameter names
2021-06-04 11:28:07 +02:00
Rasmus Wriedt Larsen
925e67d734
Python: Model sensitive data from subscripts
2021-06-04 11:28:07 +02:00
Rasmus Wriedt Larsen
d6532e280a
Python: minor cleanup in SensitiveDataSources
2021-06-04 11:28:07 +02:00
Rasmus Wriedt Larsen
00a71a1c41
Python: Port sensitive data modeling
...
No longer using points-to 🎉
2021-06-04 11:28:07 +02:00
Tamás Vajk
8d7f8a5bab
Merge pull request #5997 from tamasvajk/fix/colliding-method-ids
...
C#: Base IDs for constructed methods on their unconstructed counterparts
2021-06-04 10:29:53 +02:00
Tamás Vajk
63c6ddd426
Merge pull request #6000 from tamasvajk/feature/extract-non-public-symbols
...
C#: Change compilation settings to include all non-public symbols
2021-06-04 10:28:55 +02:00
yo-h
8d879facf7
Merge pull request #5988 from github/AlonaHlobina-patch-1
...
Update versions-compilers.rst
2021-06-03 13:56:28 -04:00
yo-h
c0aadcf8ba
Update docs/codeql/support/reusables/versions-compilers.rst
2021-06-03 13:49:57 -04:00
Mathias Vorreiter Pedersen
d450aa2ce4
C++: Add some testcases that require path sensitivity.
2021-06-03 18:02:29 +02:00
Marcono1234
6003b6edd2
Java: Adjust change note for statement toString() changes
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-03 17:17:00 +02:00
Marcono1234
485b0be805
Java: Fix expected test output
2021-06-03 17:15:00 +02:00
Marcono1234
2889f94128
Java: Add change note for statement toString() changes
2021-06-03 16:27:37 +02:00
Marcono1234
e0a45507f8
Java: Adjust toString() for statements
2021-06-03 16:27:36 +02:00
Marcono1234
7e778bc008
Java: Override toString() for statements
...
Additionally remove redundant QLDoc which is inherited anyways.
2021-06-03 16:27:35 +02:00
Anders Schack-Mulligen
bd9e3d0fa9
Merge pull request #5751 from aschackmull/java/collection-flow
...
Java: Convert all collection and array steps from taint flow to value flow.
2021-06-03 15:29:14 +02:00
Tom Hvitved
cc02c95092
C#: Sync files
2021-06-03 13:54:51 +02:00
Tom Hvitved
d0b6808299
Java: Move common CSV logic for sources and sinks into shared library
2021-06-03 13:54:51 +02:00
Rasmus Wriedt Larsen
3b68c87b6c
Python: Add sensitive data test-cases
2021-06-03 13:38:29 +02:00
Tamas Vajk
1ce7c631ff
Fix failing tests
2021-06-03 13:01:42 +02:00
Erik Krogh Kristensen
d30f53a21a
add change note
2021-06-03 12:35:39 +02:00
Erik Krogh Kristensen
608a0314df
add location reads from the history libary as client-side remote flow
2021-06-03 12:33:25 +02:00
Erik Krogh Kristensen
e543c6c665
add a js/client-side-unvalidated-url-redirection sink for the history library
2021-06-03 12:23:05 +02:00
Rasmus Wriedt Larsen
79bef11cf7
Python: Use "new" SensitiveDataHeuristics
2021-06-03 12:10:29 +02:00
Tamas Vajk
793e3db085
C#: Change compilation settings to include all non-public symbols
2021-06-03 11:54:05 +02:00
Rasmus Wriedt Larsen
e9acea8643
Python: Improve multidict modeling
2021-06-03 11:50:49 +02:00
Rasmus Wriedt Larsen
2e851cd5f0
Python: Improve yarl.URL modeling
2021-06-03 11:38:15 +02:00
Rasmus Wriedt Larsen
9372e3b284
Python: Add aiohttp.web change-note
2021-06-03 11:23:28 +02:00
Tamas Vajk
5a3a011b8e
Fix test results
2021-06-03 11:17:01 +02:00
Tom Hvitved
3d60c146ad
C#: Base IDs for constructed methods on their unconstructed counterparts
2021-06-03 11:11:32 +02:00
Tamas Vajk
d044b15533
C#: Add colliding method ID tests
2021-06-03 11:11:32 +02:00
Tony Torralba
56a429a5f9
Merge branch 'main' into promote-jexl-injection
2021-06-03 11:10:56 +02:00
Tony Torralba
607dcd4a27
Don't use CSV models for private flow configs
2021-06-03 11:05:13 +02:00
Rasmus Wriedt Larsen
3c47e583d8
Python: Add test for missing data-flow step in aiohttp.web
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
2dbbf52903
Python: Model HTTP responses in aiohttp.web
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
735df4597f
Python: Aiohttp add response tests
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
5d4140d3e2
Python: Handle more complicated route-setup in aiohttp
...
Since we want to be able to easy select request-handlers that are not
set up as part of a view-class, we need to easily be able to identify
those. To handle cases like the one below, we _can't_ just define these
to be all the async functions that are not methods on a class :(
```py
# see https://docs.aiohttp.org/en/stable/web_quickstart.html#organizing-handlers-in-classes
class MyCustomHandlerClass:
async def foo_handler(self, request): # $ MISSING: requestHandler
return web.Response(text="MyCustomHandlerClass.foo")
my_custom_handler = MyCustomHandlerClass()
app.router.add_get("/MyCustomHandlerClass/foo", my_custom_handler.foo_handler) # $ routeSetup="/MyCustomHandlerClass/foo"
```
So it seemed easiest to narrow down the route-setups, but that means we
want both refinement and extensibility... so `::Range` pattern to the
rescue 🎉
The important piece of code that still works after this commit, but
which hasn't been changed, is the one below:
```codeql
/**
* A parameter that will receive a `aiohttp.web.Request` instance when a request
* handler is invoked.
*/
class AiohttpRequestHandlerRequestParam extends Request::InstanceSource, RemoteFlowSource::Range,
DataFlow::ParameterNode {
AiohttpRequestHandlerRequestParam() {
exists(Function requestHandler |
requestHandler = any(AiohttpCoroutineRouteSetup setup).getARequestHandler() and
```
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
919a0b6b84
Python: aiohttp route setup is more complicated than expected
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
c69b857662
Python: Add self.request as RemoteFlowSource for aiohttp View
...
Just like we do for Django in
7393443f8c/python/ql/src/semmle/python/frameworks/Django.qll (L1786-L1804)
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
c4b618dcf5
Python: Model view-classes in aiohttp.web
...
No taint modeling of them yet though
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
8c039d5688
Python: Add more aiohttp view routing tests
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
1aa222d7cc
Python: Add taint-test for class-based view
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
fb21bc04fa
Python: Add taint-steps for yarl.URL
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
72e6a1489c
Python: Add taint-steps for MultiDictProxy
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
e76f02b016
Python: Minor refactor to use LocalSourceNode
...
This just more correctly reflects the reality, since the type-tracking
predicate just below only holds for LocalSourceNode anyway.
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
dd131e6bf7
Python: Add taint-step for methods on aiohttp.web.Request
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
63c7fa0c2c
Python: aiohttp match_info should be tainted
...
Whoops
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
597a9dfc80
Python: Don't consider has_body tainted
...
Although it technically is, I think it belong in the section of things
that are unlikely to be exploitable
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
d953ea47d4
Python: Basic handling of tainted attributes in aiohttp
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
88158e7414
Python: Add basic model setup for aiohttp.web.Request
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
2b992a635a
Python: Add aiohttp taint tests
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
3cbb909a3a
Python: Add modeling of coroutine routes in aiohttp.web
2021-06-03 10:55:33 +02:00
Rasmus Wriedt Larsen
fa1d4e6de7
Python: Extract poor mans function resolution (from django)
...
Since I also want to use this for aiohttp.web modeling
2021-06-03 10:55:33 +02:00
Rasmus Wriedt Larsen
85d9483c7b
Python: Add basic aiohttp tests
2021-06-03 10:55:33 +02:00
Tony Torralba
00836c4bac
Fix QLDocs
2021-06-03 10:52:52 +02:00
Tony Torralba
2833f8daa4
Change predicate isUnsafeEngine -> isSafeEngine to improve performance
2021-06-03 10:42:41 +02:00
CodeQL CI
ffad65be40
Merge pull request #5993 from erik-krogh/lib-debug
...
Approved by esbena
2021-06-03 01:38:57 -07:00
CodeQL CI
60fb1a3b59
Merge pull request #5995 from erik-krogh/webpack-merge
...
Approved by esbena
2021-06-03 01:38:08 -07:00
CodeQL CI
7663095b57
Merge pull request #5948 from erik-krogh/fixRandom
...
Approved by esbena
2021-06-03 01:37:23 -07:00
CodeQL CI
40b6c85341
Merge pull request #5972 from erik-krogh/ts43
...
Approved by esbena
2021-06-03 01:35:58 -07:00
CodeQL CI
87268d57b8
Merge pull request #5994 from erik-krogh/abstractMongooseFunction
...
Approved by esbena
2021-06-03 01:34:44 -07:00
AlonaHlobina
99708c33fd
Update versions-compilers.rst
2021-06-03 09:50:18 +02:00
Anders Schack-Mulligen
e86c534c48
Revert "Java: Update coverage."
...
This reverts commit 1c081eeaed .
2021-06-03 09:02:49 +02:00
Anders Schack-Mulligen
c86d433e2d
Merge pull request #5996 from tamasvajk/feature/csv-coverage-2
...
Temporarily disable CSV coverage PR file comparison step
2021-06-03 08:51:44 +02:00
Anders Schack-Mulligen
acca26f1d6
Merge pull request #5992 from hvitved/java/is-unreachable-perf
...
Java: Improve performance of `isUnreachableInCall()`
2021-06-03 08:49:51 +02:00
Tamas Vajk
374adc8819
Temporarily disable CSV coverage PR file comparison step
2021-06-03 08:17:28 +02:00
Erik Krogh Kristensen
3bda1f2e26
update expected test output
2021-06-03 00:43:54 +02:00
Erik Krogh Kristensen
143bf9de14
add change note
2021-06-02 23:48:29 +02:00
Erik Krogh Kristensen
48ab630559
model webpack-merge as an extend call
2021-06-02 23:43:53 +02:00
Erik Krogh Kristensen
185811ee22
make MongooseFunction abstract
2021-06-02 23:23:30 +02:00
Erik Krogh Kristensen
431c995131
add support for the debug library
2021-06-02 23:11:15 +02:00
Erik Krogh Kristensen
69d6c74e7e
fix typescript version
2021-06-02 21:56:47 +02:00
Erik Krogh Kristensen
1e19da155c
move TaintedPath sink into TaintedPathCustomizations to avoid side-effects
2021-06-02 21:25:48 +02:00
AlonaHlobina
98ee763d57
Update docs/codeql/support/reusables/versions-compilers.rst
...
Co-authored-by: yo-h <55373593+yo-h@users.noreply.github.com >
2021-06-02 20:56:06 +02:00
Tom Hvitved
daf2cc3d53
Java: Improve performance of isUnreachableInCall()
2021-06-02 20:39:05 +02:00
Erik Krogh Kristensen
27ff256b0e
add change note
2021-06-02 15:34:01 +02:00
Erik Krogh Kristensen
788c5ba701
add support for the prettier API
2021-06-02 15:33:08 +02:00
Anders Schack-Mulligen
8e6dd51f50
Merge pull request #5868 from Marcono1234/marcono1234/ignore-not-closing-char-array-closeable
...
Java: Ignore char array based closeables for CloseReader.ql and CloseWriter.ql
2021-06-02 15:00:59 +02:00
AlonaHlobina
f9ede137f9
Update versions-compilers.rst
2021-06-02 14:19:18 +02:00
Chris Smowton
7382b349c2
Merge pull request #5987 from aschackmull/java/query-metadata
...
Java: Add missing metadata.
2021-06-02 12:40:34 +01:00
Anders Schack-Mulligen
8a20395857
Merge pull request #5940 from pwntester/main
...
Remove XSS sink for Java
2021-06-02 12:30:20 +02:00
Anders Schack-Mulligen
c0e562de21
Merge pull request #5979 from hvitved/java/shared-external-summaries
...
Java: Move some CSV flow summary code into shared library
2021-06-02 12:28:45 +02:00
Alvaro Muñoz
a3a215afea
HTTP -> Http
2021-06-02 11:12:39 +02:00
Anders Schack-Mulligen
5e96e28792
Java: Add missing metadata.
2021-06-02 10:24:46 +02:00
Tamás Vajk
348fab82fd
Merge pull request #5970 from tamasvajk/feature/csv-coverage-impr
...
Improve error reporting in CI check for CSV coverage report comparison
2021-06-02 09:03:35 +02:00
Alvaro Muñoz
9aba92397d
lift XssSink check to InformationLeakSink
2021-06-01 17:16:41 +02:00
Jonas Jensen
7282ad90d0
Merge pull request #5854 from dbartol/dbartol/smart-pointers/side-effects
...
C++: Generate side effect instructions for smart pointer indirections
2021-06-01 16:57:05 +02:00
Dave Bartolomeo
da14647e5a
Merge pull request #5522 from github/rdmarsh2/cpp/ssa-reuse
...
C++: reuse unaliased SSA results when computing aliased SSA
2021-06-01 10:17:54 -04:00
Anders Schack-Mulligen
650c4f19d2
Java: More qldoc.
2021-06-01 16:09:17 +02:00
Alvaro Muñoz
970b4e7d6a
update java library coverage documentation
2021-06-01 14:54:31 +02:00
Anders Schack-Mulligen
922b421a45
Java: Add change note.
2021-06-01 14:33:52 +02:00
Anders Schack-Mulligen
1c081eeaed
Java: Update coverage.
2021-06-01 14:00:05 +02:00
Alvaro Muñoz
0fb692400c
fix failing test
2021-06-01 13:57:13 +02:00
Tom Hvitved
ecf7f24cde
C#: Sync latest FlowSummaryImpl.qll changes
2021-06-01 13:22:14 +02:00
Tom Hvitved
14f9a5c280
Java: Move some CSV flow summary code into shared library
2021-06-01 13:22:14 +02:00
Henning Makholm
534e771309
Merge pull request #5934 from github/hmakholm/pr/monotonic-agg
...
QL language reference: add monotonic aggregate example
2021-06-01 13:10:50 +02:00
Tamás Vajk
e7a349be2d
Merge pull request #5978 from tamasvajk/fix/change-note-workflow
...
Fix change note workflow to handle paginated results
2021-06-01 12:50:32 +02:00
Anders Schack-Mulligen
fc913e744e
Java: Minor model fix.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
dbe352f3ff
Java: Remove deprecated tests.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
901996f9fd
Java: Add collection flow test.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
43d1b0ab27
Java: Update qltests.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
a40880af70
Java: Add read-as-taint and config-dependent store-as-taint.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
2f087e17cb
Java: Allow <> in types for now.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
3f538e7fac
Java: Update some models.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
9e313d0cf6
Java: Remove container taint steps.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
3b6cef4f74
Java: Add container flow models.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
ffd52bb673
Java: Fix bug in matching generic signatures.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
1001dd84e6
Java: Switch array steps and one containerstep.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
ce509eb7e1
Merge pull request #5927 from aschackmull/dataflow/flowthrough-dispatch-perf
...
Dataflow: Improve performance in flow-through pruning
2021-06-01 11:46:22 +02:00
Anders Schack-Mulligen
a4661e1aca
Merge pull request #5704 from edvraa/regexj
...
Java: Regex injection
2021-06-01 11:45:59 +02:00
Artem Smotrakov
8dc1451d42
Better recommendation in UnsafeDeserializationRmi.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-06-01 12:16:09 +03:00
Erik Krogh Kristensen
0b225419a3
Merge pull request #5977 from security-prince/patch-1
...
Adding reference link for csurf
2021-06-01 11:07:36 +02:00
Tom Hvitved
5771b0420f
Merge pull request #5936 from hvitved/csharp/cfg/perf-tweaks
...
C#: Various CFG related performance tweaks
2021-06-01 11:06:01 +02:00
Anders Schack-Mulligen
5d21c64247
Dataflow: qldoc fix.
2021-06-01 10:49:47 +02:00
Tamas Vajk
bc02f28ddd
Fix change note workflow to handle paginated results
2021-06-01 10:44:44 +02:00
Jonas Jensen
2261085cfe
Merge pull request #5973 from MathiasVP/more-uncontrolled-arith-improvements
...
C++: More `cpp/uncontrolled-arithmetic` improvements
2021-06-01 10:44:29 +02:00
Anders Schack-Mulligen
4f9a6c151b
Dataflow: Code review fixes.
2021-06-01 10:29:17 +02:00
Mathias Vorreiter Pedersen
8765c33847
C++: Also check the number of parameters to keep the tests happy.
2021-06-01 10:17:57 +02:00
Ishaq Mohammed
96150a455d
Update javascript/ql/src/Security/CWE-352/MissingCsrfMiddleware.qhelp
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-06-01 13:47:43 +05:30
Ishaq Mohammed
975355de4a
Adding reference link for csurf
2021-06-01 13:41:25 +05:30
Mathias Vorreiter Pedersen
615c805b2c
C++: Only use std::rand as a source of randomness.
2021-06-01 09:28:06 +02:00
Henning Makholm
70b9739d2d
QL language reference: add monotonic aggregate example
...
It's easier to understand what's going on if we start with a
(contrived) example that _doesn't_ involve recursion.
2021-05-31 21:23:08 +02:00
Mathias Vorreiter Pedersen
41c93d92d7
C++: Remove FPs from right shifts and explicitly bounded random functions.
2021-05-31 15:40:02 +02:00
Mathias Vorreiter Pedersen
10755ece88
C++: Add testcase with bounded randomness source.
2021-05-31 15:33:39 +02:00
Anders Schack-Mulligen
683f853fa5
Dataflow: Fix another bad join order.
2021-05-31 15:14:13 +02:00
Erik Krogh Kristensen
85bd8f1020
add change-note for TypeScript 4.3
2021-05-31 13:08:52 +02:00
Erik Krogh Kristensen
e6b1c61e81
add tests for TypeScript 4.3
2021-05-31 13:08:43 +02:00
Erik Krogh Kristensen
2cc2d116bc
bump extractor version
2021-05-31 13:08:24 +02:00
Erik Krogh Kristensen
35d7fda5e2
update typescript to 4.3 in the extractor
2021-05-31 13:08:09 +02:00
Mathias Vorreiter Pedersen
6d7b95c15d
Merge pull request #5966 from erik-krogh/overrideConsistency
...
CPP/C#: make some parameter names consistent with the names used in the super class
2021-05-31 11:57:10 +02:00
Jonas Jensen
4e502d10d6
Merge pull request #5951 from MathiasVP/optimize-switcCase-getAStmt
...
C++: Remove large antijoin in `SwitchCase.getAStmt`
2021-05-31 11:50:32 +02:00
Taus
bae3728e3c
Merge pull request #5945 from RasmusWL/minor-qldoc-cleanup
...
Python: Minor QLDoc cleanup
2021-05-31 11:40:44 +02:00
Taus
d9911a016e
Merge pull request #5933 from RasmusWL/expand-use-of-input-test
...
Python: Expand test of py/use-of-input
2021-05-31 11:39:33 +02:00
Mathias Vorreiter Pedersen
b4e4c12d0f
C++: Use a rank aggregate for a much better implementation.
2021-05-31 11:17:09 +02:00
Jonas Jensen
f97b8ad1d4
Merge pull request #5961 from MathiasVP/fix-FPs-in-incorrect-allocation-error-handling
...
C++: Exclude custom `operator new` from `cpp/incorrect-allocation-error-handling`
2021-05-31 10:54:59 +02:00
Mathias Vorreiter Pedersen
66d284ee59
Merge pull request #5766 from ihsinme/ihsinme-patch-267
...
CPP: Add query for CWE-415 Double Free
2021-05-31 10:51:32 +02:00
ihsinme
d808a5b131
Update cpp/ql/test/experimental/query-tests/Security/CWE/CWE-415/semmle/tests/test.c
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-31 11:16:38 +03:00
Mathias Vorreiter Pedersen
175fdbb105
C++: Replace exists(not ...) with not exists(...).
2021-05-31 09:54:24 +02:00
Tamas Vajk
18931e39c8
Improve error reporting in CI check for CSV coverage report comparison
2021-05-31 09:52:14 +02:00
haby0
d6782767b7
Fix typos
2021-05-31 11:12:22 +08:00
Alvaro Muñoz
41d034d5a0
Attempt to use information-leak sink category
2021-05-30 00:22:40 +02:00
Artem Smotrakov
b28d639166
Fixed errors in UnsafeDeserializationRmi.qhelp
2021-05-29 09:32:08 +02:00
Artem Smotrakov
62c6bee5f8
Simplified UnsafeDeserializationRmi.ql
2021-05-29 09:21:20 +02:00
Alvaro Muñoz
ece84d13e5
Merge branch 'github:main' into main
2021-05-28 22:40:10 +02:00
Henry Mercer
263699d8bc
Merge pull request #5914 from github/henrymercer/code-scanning-diagnostic-queries
...
Code Scanning selectors: Include diagnostic queries
2021-05-28 18:53:11 +01:00
Mathias Vorreiter Pedersen
64975e5c1e
Merge pull request #5842 from japroc/cpp-pqxx-sqli-sink
...
C++: SqlPqxxTainted query searches for sql injections via pqxx connector to postgres
2021-05-28 17:01:27 +02:00
Erik Krogh Kristensen
b947334eea
CPP: make some parameter names consistent with the names used in the super class
2021-05-28 16:48:47 +02:00
Alvaro Muñoz
f60df3b26a
Update java/change-notes/2021-05-28-remove-senderror-xss-sink.md
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-28 15:13:19 +02:00
Alvaro Muñoz
5a894ac7f7
update java library coverage documentation
2021-05-28 15:13:19 +02:00
Alvaro Muñoz
db2f05ac24
Updated Java change notes
2021-05-28 15:13:18 +02:00
Alvaro Muñoz
735e4e4b7b
update failing tests
2021-05-28 15:13:18 +02:00
Alvaro Muñoz
706874491b
Remove XSS sink for Java
2021-05-28 15:13:18 +02:00
Rasmus Wriedt Larsen
6e9d74403a
Merge pull request #5963 from adityasharad/python/lines-of-user-code
...
Python: Treat `py/summary/lines-of-user-code` as the primary summary metric
2021-05-28 11:08:35 +02:00
Jonas Jensen
eda25bb402
Merge pull request #5962 from erik-krogh/getAPrimaryQlClass
...
CPP/Java: Fix getAPrimaryQlClass implementations
2021-05-28 09:31:16 +02:00
Aditya Sharad
b41a06a15c
Python: Treat py/summary/lines-of-user-code as the primary summary metric
...
Move the `lines-of-code` tag from `py/summary/lines-of-code`.
Code Scanning will eventually look for this tag.
The intent is to treat the number of lines of user code for Python as the summary of
how much code was analysed, ignoring both external libraries and generated code.
This matches the current baseline metric the CodeQL Action computes for Python.
We'll revisit this decision, and the baseline, if necessary.
2021-05-27 13:20:24 -07:00
Erik Krogh Kristensen
79989cc3f4
CPP/Java: Fix getAPrimaryQlClass implementations
2021-05-27 21:36:27 +02:00
Rasmus Wriedt Larsen
ab73b10869
Merge pull request #5959 from github/igfoo/ReturnValueIgnored_python
...
python: Correct the ReturnValueIgnored.qhelp docs
2021-05-27 11:51:42 +02:00
Mathias Vorreiter Pedersen
4107e350cb
C++: Add qldoc to NoThrowType.
2021-05-27 11:39:03 +02:00
Mathias Vorreiter Pedersen
71a860a356
C++: Exclude custom operator new allocators from the ThrowingAllocator class.
2021-05-27 11:23:11 +02:00
Evgenii Protsenko
efa657d47c
C++: SqlPqxxTainted.ql Add namespace check
2021-05-27 00:13:54 +03:00
Mathias Vorreiter Pedersen
e01d7127e2
Merge pull request #5958 from github/igfoo/ReturnValueIgnored
...
C++: Update the ReturnValueIgnored.qhelp docs to match the code
2021-05-26 19:04:41 +02:00
Ian Lynagh
f0bec74ce3
python: Correct the ReturnValueIgnored.qhelp docs
2021-05-26 17:40:57 +01:00
Ian Lynagh
f9ede97fcd
C++: Update the ReturnValueIgnored.qhelp docs to match the code
2021-05-26 17:38:49 +01:00
Rasmus Wriedt Larsen
795a1c7006
Merge pull request #5443 from jorgectf/jorgectf/python/ldapInjection
...
Python: Add LDAP Injection query
2021-05-26 11:52:31 +02:00
Rasmus Wriedt Larsen
f807c2f52b
Python: autoformat
2021-05-26 11:07:48 +02:00
Rasmus Wriedt Larsen
d5f2846394
Merge branch 'main' into jorgectf/python/ldapInjection
2021-05-26 11:01:48 +02:00
ihsinme
9088475339
Update DoubleFree.qhelp
2021-05-26 09:44:03 +03:00
ihsinme
2909dde179
Update test.c
2021-05-26 09:31:15 +03:00
ihsinme
fbf95df537
Update DoubleFree.c
2021-05-26 09:27:20 +03:00
ihsinme
7c2100efd9
Apply suggestions from code review
...
thanks for your corrections.
and of course sorry for my text.
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-26 09:15:46 +03:00
Evgenii Protsenko
55045626df
C++: SqlPqxxTainted.ql style fixes
2021-05-25 22:38:27 +03:00
Mathias Vorreiter Pedersen
b2bdf95a9d
C++: Remove large antijoin in SwitchCase.getAStmt().
2021-05-25 17:25:42 +02:00
Timo Mueller
75f6ec1f0d
Updated test cases to include test for java10+ CREDENTIALS_FILTER_PATTERN constant
2021-05-25 17:08:58 +02:00
Timo Mueller
72901e3724
Merge branch 'insecureJmxRmiServerEnvironment' of github.com:mogwailabs/codeql into insecureJmxRmiServerEnvironment
2021-05-25 16:41:17 +02:00
Timo Mueller
59ebe08c78
Added stup for RMIConnectorServer for valid test case
2021-05-25 16:40:41 +02:00
Rasmus Wriedt Larsen
1b3f857a2f
Python: Promote ClickHouse SQL models
2021-05-25 16:27:23 +02:00
Rasmus Wriedt Larsen
eb1da152a0
Python: Rewrite ClickHouse SQL lib modeling
...
This did turn into a few changes, that maybe could have been split into
separate PRs 🤷
* Rename `ClickHouseDriver` => `ClickhouseDriver`, to better follow
import name in `.qll` name
* Rewrote modeling to use API graphs
* Split modeling of `aioch` into separate `.qll` file, which does re-use
the `getExecuteMethodName` predicate. I feel that sharing code between
the modeling like this was the best approach, and stuck the
`INTERNAL: Do not use.` labels on both modules.
* I also added handling of keyword arguments (see change in .py files)
2021-05-25 16:13:31 +02:00
Rasmus Wriedt Larsen
c9a9535dbc
Python: Use ConceptsTests for ClickHouse SQL libs
...
This did reveal a few places where we do not detect the incoming SQL
2021-05-25 16:10:06 +02:00
Geoffrey White
2fd461e984
Merge pull request #5938 from MathiasVP/promote-access-of-memory-location-after-end-of-buffer-using-strncat
...
C++: Promote `cpp/access-memory-location-after-end-buffer-strncat` out of experimental
2021-05-25 14:36:53 +01:00
Tamás Vajk
1997f500c2
Merge pull request #5832 from tamasvajk/feature/csv-coverage-report
...
Java: github action for CSV coverage report
2021-05-25 14:51:19 +02:00
Anders Schack-Mulligen
d05f524759
Merge pull request #5941 from aschackmull/java/virt-disp-perf
...
Java: Improve performance of virtual dispatch calculation.
2021-05-25 14:44:51 +02:00
Rasmus Wriedt Larsen
ee3477c20a
Python: Remove dummy clickhouse SQL injection query
2021-05-25 14:27:29 +02:00
Rasmus Wriedt Larsen
35793a10bb
Merge pull request #5889 from japroc/python-clickhouse-driver
...
Python: Implement module ClickHouseDriver.qll
2021-05-25 14:25:28 +02:00
Mathias Vorreiter Pedersen
78cc8f01d6
C++: Shorter description.
2021-05-25 14:11:03 +02:00
Tamas Vajk
70b3066bb8
Add regenerated CSV reports
2021-05-25 13:38:22 +02:00
Tamas Vajk
8880d0055e
Fix file formatting
2021-05-25 13:33:26 +02:00
Tamas Vajk
b17ffbd2a4
Include all .ql and .qll files in PR path triggers
2021-05-25 13:33:26 +02:00
Tamas Vajk
d4f1cbe8d8
Add updated coverage report
2021-05-25 13:33:26 +02:00
Tamas Vajk
511486d045
Rework file diff (show line differences)
2021-05-25 13:33:26 +02:00
Tamas Vajk
ce53586002
Refactor file comparison
2021-05-25 13:33:26 +02:00
Tamas Vajk
3db22ba482
Add Java coverage report files
2021-05-25 13:33:26 +02:00
Tamas Vajk
f09352620f
Add comparison step to workflow
2021-05-25 13:33:26 +02:00
Tamas Vajk
f1911e338d
Move and generate files to documentation folder + clean up after the script is executed
2021-05-25 13:33:26 +02:00
Tamas Vajk
6dc46ec1ee
Add org.apache.commons.io to frameworks, and handle overlapping package prefixes
2021-05-25 13:33:25 +02:00
Tamas Vajk
663e6a8d73
Use non-breaking hyphen in CWE identifier
2021-05-25 13:33:25 +02:00
Tamas Vajk
dda401f62a
Inline CSV table into RST page
2021-05-25 13:33:25 +02:00
Tamas Vajk
2e67a3216c
Add option to manually trigger the workflow
2021-05-25 13:33:25 +02:00
Tamas Vajk
1297d1c744
Add framework and cwe static data
2021-05-25 13:33:25 +02:00
Tamas Vajk
2adb3e992a
Code quality improvements on coverage report generator script
2021-05-25 13:33:25 +02:00
Tamas Vajk
d0a46eb7b7
Adjust formatting
2021-05-25 13:33:25 +02:00
Tamas Vajk
f26dba67ac
Adjust 'Total' label to 'Totals'
2021-05-25 13:33:25 +02:00
Tamas Vajk
564fca0da4
Adjust workflow triggers and uploads
2021-05-25 13:33:25 +02:00
Tamas Vajk
ef414681be
Add RST documentation page
2021-05-25 13:33:25 +02:00
Tamas Vajk
beea36191b
Add CSV file with framework and CWE info to be used in RST file
2021-05-25 13:33:25 +02:00
Tamas Vajk
979034a17f
Add github action to generate CSV coverage report
2021-05-25 13:33:25 +02:00
Mathias Vorreiter Pedersen
5382ef7761
C++: Split the overview section of qhelp into a couple of paragraphs.
2021-05-25 13:18:15 +02:00
Mathias Vorreiter Pedersen
f842d09a16
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-05-25 13:16:04 +02:00
Timo Müller
f44b97c1c3
Apply suggestions from code review
...
Improved variable naming in examples and some documentation clearup
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-25 13:03:07 +02:00
Timo Müller
e7021ffbee
Apply suggestions from code review
...
More clear or precise wording within the documentation
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-25 12:53:47 +02:00
shati-patel
bfc8845f23
Update wording
2021-05-25 11:36:18 +01:00
Erik Krogh Kristensen
c70651b6fe
always have arrayLikeElement as TypeTracking properties
2021-05-25 11:48:54 +02:00
Anders Schack-Mulligen
4884da363f
Java: Bugfix.
2021-05-25 11:48:35 +02:00
Anders Schack-Mulligen
017bf68906
Dataflow: Fix bad join order.
2021-05-25 11:40:53 +02:00
Tom Hvitved
8cbb3caaa4
Merge pull request #5947 from hvitved/csharp/encode-display-name
...
C#: Encode `"` in `BuildDisplayName`
2021-05-25 10:58:31 +02:00
Mathias Vorreiter Pedersen
b33adb8630
Merge pull request #5930 from MathiasVP/promote-incorrect-allocation-error-out
...
C++: Promote `cpp/incorrect-allocation-error-handling`
2021-05-25 10:57:31 +02:00
Tom Hvitved
b55bce46f8
C#: Restrict non-returning CIL analysis to methods not from source
2021-05-25 10:41:58 +02:00
Mathias Vorreiter Pedersen
eb244c0eb2
C++: Fix documentation.
2021-05-25 10:16:22 +02:00
Mathias Vorreiter Pedersen
e857ac1149
C++: Add more tests and remove redundant conjunct.
2021-05-25 09:17:42 +02:00
Tom Hvitved
2a33756bdf
C#: Encode " in BuildDisplayName
2021-05-23 14:44:48 +02:00
Tom Hvitved
0d14b9413d
C#: Avoid recomputing ControlFlowTree::Range outside the CFG construction stage
2021-05-23 14:14:43 +02:00
Tom Hvitved
088a1a9707
C#: Simplify TriedControlFlowElement::getAThrownException()
2021-05-23 14:14:43 +02:00
Tom Hvitved
3162e12082
C#: Redefine ControlFlowElement::getAssembly
2021-05-23 14:14:43 +02:00
Tom Hvitved
5102fcd5f3
C#: Rewrite predicates from using forall to using unique
...
This avoids generation of expensive anti-join predicates with Cartesian products.
2021-05-23 14:14:43 +02:00
Tom Hvitved
2361476966
C#: Improve join-order in SplitImpl::hasSuccessor
...
Joining on `succ` first gets rid of bad join-orders like
```
Tuple counts for Splitting::SplitImpl::hasSuccessor_dispred#ffff/4@i4#f49ebw:
59306 ~2% {3} r1 = JOIN Splitting::SplitImpl::appliesTo#ff#prev_delta WITH Splitting::Cached::TAssertionSplit#ffff_30#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'this', Lhs.1 'pred'
454395 ~0% {3} r2 = JOIN r1 WITH Splitting::AssertionSplitting::getAnAssertionDescendant#ff ON FIRST 1 OUTPUT Lhs.2 'pred', Rhs.1 'succ', Lhs.1 'this'
12157 ~0% {4} r3 = JOIN r2 WITH ControlFlowGraphImpl::succ#fff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'pred', Lhs.1 'succ', Rhs.2 'c'
0 ~0% {4} r4 = JOIN Splitting::LoopSplitting::LoopUnrollingSplitImpl::appliesToPredecessor_dispred#fff#prev_delta WITH Splitting::Cached::TLoopSplit#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'pred', Lhs.2 'c', Rhs.1, Rhs.0
0 ~0% {5} r5 = JOIN r4 WITH ControlFlowGraphImpl::succ#fff_021#join_rhs ON FIRST 2 OUTPUT Lhs.2, Lhs.3 'this', Lhs.0 'pred', Lhs.1 'c', Rhs.2 'succ'
0 ~0% {5} r6 = r5 AND NOT Splitting::SplitImpl::hasSuccessor_dispred#ffff#antijoin_rhs#2(Lhs.2 'pred', Lhs.4 'succ', Lhs.3 'c', Lhs.0)
0 ~0% {4} r7 = SCAN r6 OUTPUT In.1 'this', In.2 'pred', In.4 'succ', In.3 'c'
12157 ~0% {4} r8 = r3 UNION r7
0 ~0% {3} r9 = SCAN Splitting::BooleanSplitting::BooleanSplitImpl::appliesToBlock_dispred#fff#prev_delta OUTPUT In.1, In.0 'this', In.2
0 ~0% {4} r10 = JOIN r9 WITH project#PreBasicBlocks::PreBasicBlock::getElement_dispred#fff ON FIRST 1 OUTPUT Rhs.1 'pred', Lhs.1 'this', Lhs.0, Lhs.2
0 ~0% {6} r11 = JOIN r10 WITH ControlFlowGraphImpl::succ#fff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.2, Lhs.3, Lhs.0 'pred', Rhs.1, Rhs.2 'c'
0 ~0% {6} r12 = r11 AND NOT PreBasicBlocks::PreBasicBlock::getLastElement_dispred#ff(Lhs.1, Lhs.3 'pred')
0 ~0% {4} r13 = SCAN r12 OUTPUT In.0 'this', In.3 'pred', In.4 'succ', In.5 'c'
35244 ~1% {3} r14 = JOIN Splitting::SplitImpl::appliesTo#ff#prev_delta WITH Splitting::Cached::TInitializerSplit#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'this', Lhs.1 'pred'
24640675 ~6% {3} r15 = JOIN r14 WITH Splitting::InitializerSplitting::constructorInitializes#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred'
24640675 ~21147% {3} r16 = JOIN r15 WITH Splitting::InitializerSplitting::InitializedInstanceMember::getInitializer_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred'
470227342920 ~481608% {3} r17 = JOIN r16 WITH Splitting::InitializerSplitting::InitializedInstanceMember::getAnInitializerDescendant#ff ON FIRST 1 OUTPUT Lhs.2 'pred', Rhs.1 'succ', Lhs.1 'this'
24560447 ~66468% {4} r18 = JOIN r17 WITH ControlFlowGraphImpl::succ#fff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'pred', Lhs.1 'succ', Rhs.2 'c'
24560447 ~66468% {4} r19 = r13 UNION r18
24572604 ~48162% {4} r20 = r8 UNION r19
0 ~0% {3} r21 = JOIN r9 WITH project#PreBasicBlocks::PreBasicBlock::getElement_dispred#fff ON FIRST 1 OUTPUT Rhs.1 'pred', Lhs.2, Lhs.1 'this'
0 ~0% {4} r22 = JOIN r21 WITH ControlFlowGraphImpl::succ#fff_021#join_rhs ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'pred', Rhs.2 'succ', Rhs.1
0 ~0% {5} r23 = JOIN r22 WITH Splitting::Cached::TBooleanSplit#fff_20#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.2 'succ', Lhs.0 'this', Lhs.1 'pred', Lhs.3 'c'
0 ~0% {4} r24 = JOIN r23 WITH Splitting::BooleanSplitting::SsaBooleanSplitSubKind::canReachCorrelatedCondition#ff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.3 'pred', Lhs.1 'succ', Lhs.4 'c'
0 ~0% {2} r25 = SCAN Splitting::FinallySplitting::FinallySplitImpl::appliesToPredecessor_dispred#ff#prev_delta OUTPUT In.1 'pred', In.0 'this'
0 ~0% {4} r26 = JOIN r25 WITH ControlFlowGraphImpl::succ#fff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.0 'pred', Rhs.1, Rhs.2 'c'
0 ~0% {4} r27 = r26 AND NOT Splitting::FinallySplitting::FinallyControlFlowElement::isEntryNode_dispred#f(Lhs.2 'succ')
0 ~0% {5} r28 = JOIN r27 WITH Splitting::Cached::TFinallySplit#fff_21#join_rhs ON FIRST 1 OUTPUT Lhs.2 'succ', Lhs.0 'this', Lhs.1 'pred', Lhs.3 'c', Rhs.1
0 ~0% {6} r29 = JOIN r28 WITH ControlFlowGraphImpl::Statements::TryStmtTree::getAFinallyDescendant#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred', Lhs.0 'succ', Lhs.3 'c', Lhs.4
0 ~0% {7} r30 = JOIN r29 WITH ControlFlowGraphImpl::Statements::TryStmtTree::nestLevel_dispred#ff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.2 'pred', Lhs.3 'succ', Lhs.4 'c', Lhs.5, Lhs.0, Rhs.1
0 ~0% {7} r31 = SELECT r30 ON In.6 >= In.4
0 ~0% {4} r32 = SCAN r31 OUTPUT In.0 'this', In.1 'pred', In.2 'succ', In.3 'c'
0 ~0% {4} r33 = r24 UNION r32
0 ~0% {4} r34 = JOIN r25 WITH ControlFlowGraphImpl::succ#fff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.0 'pred', Rhs.2 'c'
0 ~0% {4} r35 = JOIN r34 WITH Splitting::FinallySplitting::FinallyControlFlowElement::isEntryNode_dispred#f ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.2 'pred', Lhs.0 'succ', Lhs.3 'c'
0 ~0% {5} r36 = JOIN r35 WITH Splitting::Cached::TFinallySplit#fff_21#join_rhs ON FIRST 1 OUTPUT Lhs.2 'succ', Lhs.0 'this', Lhs.1 'pred', Lhs.3 'c', Rhs.1
0 ~0% {6} r37 = JOIN r36 WITH ControlFlowGraphImpl::Statements::TryStmtTree::getAFinallyDescendant#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred', Lhs.0 'succ', Lhs.3 'c', Lhs.4
0 ~0% {7} r38 = JOIN r37 WITH ControlFlowGraphImpl::Statements::TryStmtTree::nestLevel_dispred#ff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.2 'pred', Lhs.3 'succ', Lhs.4 'c', Lhs.5, Lhs.0, Rhs.1
0 ~0% {7} r39 = SELECT r38 ON In.6 > In.4
0 ~0% {4} r40 = SCAN r39 OUTPUT In.0 'this', In.1 'pred', In.2 'succ', In.3 'c'
0 ~0% {3} r41 = SCAN Splitting::ExceptionHandlerSplitting::ExceptionHandlerSplitImpl::appliesToPredecessor_dispred#fff#prev_delta OUTPUT In.1 'pred', In.2 'c', In.0 'this'
0 ~0% {4} r42 = JOIN r41 WITH ControlFlowGraphImpl::last#fff_120#join_rhs ON FIRST 2 OUTPUT Rhs.2, Lhs.2 'this', Lhs.0 'pred', Lhs.1 'c'
0 ~0% {5} r43 = JOIN r42 WITH Stmt::TryStmt::getCatchClause_dispred#fff_201#join_rhs ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Lhs.1 'this', Lhs.2 'pred', Lhs.3 'c'
0 ~0% {4} r44 = JOIN r43 WITH Stmt::TryStmt::getCatchClause_dispred#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.2 'this', Lhs.3 'pred', Lhs.4 'c'
0 ~0% {5} r45 = JOIN r44 WITH Stmt::CatchClause::isLast_dispred#f ON FIRST 1 OUTPUT Lhs.0, 1, Lhs.1 'this', Lhs.2 'pred', Lhs.3 'c'
0 ~0% {3} r46 = JOIN r45 WITH catch_type_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.3 'pred', Lhs.4 'c'
0 {3} r47 = MATERIALIZE r46 AS unknown
0 ~0% {3} r48 = Splitting::ExceptionHandlerSplitting::ExceptionHandlerSplitImpl::appliesToPredecessor_dispred#fff#prev_delta AND NOT r47(Lhs.0 'this', Lhs.1 'pred', Lhs.2 'c')
0 ~0% {3} r49 = SCAN r48 OUTPUT In.1 'pred', In.2 'c', In.0 'this'
0 ~0% {4} r50 = JOIN r49 WITH ControlFlowGraphImpl::succ#fff_021#join_rhs ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'pred', Lhs.1 'c', Rhs.2 'succ'
0 ~0% {4} r51 = JOIN r49 WITH ControlFlowGraphImpl::succ#fff_021#join_rhs ON FIRST 2 OUTPUT Rhs.2 'succ', Lhs.2 'this', Lhs.0 'pred', Lhs.1 'c'
0 ~0% {5} r52 = JOIN r51 WITH ControlFlowGraphImpl::ControlFlowTree::first_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred', Lhs.3 'c', Lhs.0 'succ'
0 ~0% {6} r53 = JOIN r52 WITH Stmt::CatchClause::getBlock_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, 1, Lhs.1 'this', Lhs.2 'pred', Lhs.3 'c', Lhs.4 'succ'
0 ~0% {4} r54 = JOIN r53 WITH catch_type_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.3 'pred', Lhs.4 'c', Lhs.5 'succ'
0 {4} r55 = MATERIALIZE r54 AS unknown
0 ~0% {4} r56 = r50 AND NOT r55(Lhs.0 'this', Lhs.1 'pred', Lhs.2 'c', Lhs.3 'succ')
0 ~0% {4} r57 = r56 AND NOT ControlFlowGraphImpl::Statements::StandardStmt::getChildElement0_dispred#fff#antijoin_rhs#2(Lhs.3 'succ')
0 ~0% {4} r58 = SCAN r57 OUTPUT In.0 'this', In.1 'pred', In.3 'succ', In.2 'c'
0 ~0% {4} r59 = r40 UNION r58
0 ~0% {4} r60 = r33 UNION r59
24572604 ~48162% {4} r61 = r20 UNION r60
24572604 ~48162% {4} r62 = r61 AND NOT Splitting::SplitImpl::hasSuccessor_dispred#ffff#prev(Lhs.0 'this', Lhs.1 'pred', Lhs.2 'succ', Lhs.3 'c')
return r62
```
2021-05-23 14:14:43 +02:00
Artem Smotrakov
1b51dd47ec
Added an example with deserialization filter to UnsafeDeserializationRmi.qhelp
2021-05-23 13:24:42 +02:00
Artem Smotrakov
c837605c85
Added test cases with sanitizers for UnsafeDeserializationRmi.ql
2021-05-23 13:01:22 +02:00
Artem Smotrakov
d2e29fc72c
Renamed RmiUnsafeDeserialization.ql -> UnsafeDeserializationRmi.ql
2021-05-23 10:21:05 +02:00
Artem Smotrakov
2d93eeae33
Covered deserialization filters in RmiUnsafeDeserialization.ql
2021-05-23 10:21:05 +02:00
Artem Smotrakov
e28f919f3d
Look for remote callable method only in RmiUnsafeDeserialization.ql
2021-05-23 10:21:05 +02:00
Artem Smotrakov
0182dfe1c0
Added RmiUnsafeDeserialization.qhelp
2021-05-23 10:21:04 +02:00
Artem Smotrakov
5ffe04d6a5
Updated expected output for RmiUnsafeDeserialization.java test
2021-05-23 10:21:04 +02:00
Artem Smotrakov
3d20330a92
More tests for RmiUnsafeDeserialization
2021-05-23 10:21:04 +02:00
Artem Smotrakov
ec6186a1c5
Draft of tests for RmiUnsafeDeserialization.ql
2021-05-23 10:21:04 +02:00
Artem Smotrakov
efa4b4f414
Cover Registry in RmiUnsafeDeserialization.ql
2021-05-23 10:21:04 +02:00
Artem Smotrakov
8b96ff9601
First draft of RmiUnsafeDeserialization.ql
2021-05-23 10:21:04 +02:00
shati-patel
254c769089
Docs: Describe custom log directory setting in VS Code extension
2021-05-21 21:41:09 +01:00
Robert Marsh
7ac04a8650
Merge pull request #5942 from MathiasVP/fix-change-note-dates
...
C++: Convert yyyy-dd-mm change-notes to yyyy-mm-dd
2021-05-21 12:34:30 -07:00
Ian Lynagh
23081f0193
Merge pull request #5922 from AlexDenisov/ref-qualifiers
...
C++: Add ref qualifiers
2021-05-21 17:35:57 +01:00
jorgectf
37d6ff76a3
Update tests and .expected
2021-05-21 17:47:53 +02:00
Tamás Vajk
f5acc51d6f
Merge pull request #5909 from tamasvajk/fix/foreach-ir-temp-var
...
C#: Fix type of temp foreach variable in IR
2021-05-21 17:24:08 +02:00
Rasmus Wriedt Larsen
71a93ad311
Python: Fix QLDoc for PyYAML to follow convention
2021-05-21 17:17:23 +02:00
Rasmus Wriedt Larsen
6f50b12333
Python: Fix QLDoc for Werkzeug
2021-05-21 17:16:09 +02:00
Rasmus Wriedt Larsen
c4e244eb80
Python: Add getAwaited to API::Node
...
I _really_ wanted to call this `.await()`, but that did not fit in with
the convention, or the corresponding `getPromised` in JS.
54f191cfe3/javascript/ql/src/semmle/javascript/ApiGraphs.qll (L184)
2021-05-21 17:11:20 +02:00
Mathias Vorreiter Pedersen
d086ba618f
C++: Convert the yyyy-dd-mm change-notes to yyyy-mm-dd.
2021-05-21 16:24:15 +02:00
Jorge
9e9678b3ca
Apply documentation suggestions
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-05-21 16:17:39 +02:00
Rasmus Wriedt Larsen
e29b7568bf
Python: Add missing QLDoc for subclass label
2021-05-21 16:17:17 +02:00
Rasmus Wriedt Larsen
2408573a0a
Python: Add API graph test for calling coroutines
2021-05-21 16:08:15 +02:00
Rasmus Wriedt Larsen
7a5fd02442
Python: API graph tests: add --max-import-depth=1
...
Before this, I ended up extracting 454 modules locally 😱
2021-05-21 15:58:15 +02:00
Rasmus Wriedt Larsen
9a4709c134
Python: API graph tests: Disallow results outside project
...
Running the tests locally would result in thousands of results before
this 😱
2021-05-21 15:57:10 +02:00
Anders Schack-Mulligen
d00618f4f4
Java: Improve performance of virtual dispatch calculation.
2021-05-21 15:04:08 +02:00
CodeQL CI
131c08e436
Merge pull request #5939 from max-schaefer/js/set-constructor-args
...
Approved by esbena
2021-05-21 05:02:27 -07:00
Mathias Vorreiter Pedersen
3662ec4c83
C++: Credit the original query author in change-note.
2021-05-21 11:12:19 +02:00
Mathias Vorreiter Pedersen
84b0b8c2bd
C++: Add change-note.
2021-05-21 10:57:23 +02:00
Max Schaefer
6e34784fc5
Add new experimental query MultipleArgumentsToSetConstructor.
2021-05-21 09:54:41 +01:00
Mathias Vorreiter Pedersen
12cd09d5d4
C++: Delete the experimental query and its tests, and accept the test changes.
2021-05-21 10:35:57 +02:00
Mathias Vorreiter Pedersen
8d0cfb4e91
C++: Merge tests from 'cpp/access-memory-location-after-end-buffer-strncat' into the tests from 'cpp/unsafe-strncat'.
2021-05-21 10:34:59 +02:00
Anders Schack-Mulligen
f4f257819d
Merge pull request #5932 from zbazztian/spring-improvements
...
Add method invocations of Spring's SavedRequest as remote sources
2021-05-21 10:34:54 +02:00
Mathias Vorreiter Pedersen
5300dd2fa8
C++: Merge the experimental query 'cpp/access-memory-location-after-end-buffer-strncat' into 'cpp/unsafe-strncat'.
2021-05-21 10:33:56 +02:00
Evgenii Protsenko
1e40213abb
use <class> instead of <class>::Range
2021-05-20 22:56:08 +03:00
Sebastian Bauersfeld
ffcca4d5e9
Add change note.
2021-05-20 20:07:14 +07:00
Sebastian Bauersfeld
28f597440f
Add method invocations of Spring's SavedRequest as a remote sources.
2021-05-20 20:00:14 +07:00
Rasmus Wriedt Larsen
f17fe442a2
Python: Expand test of py/use-of-input
2021-05-20 14:52:10 +02:00
Rasmus Wriedt Larsen
0292ca6b67
Merge pull request #5880 from tausbn/python-limit-builtins
...
Python: Limit set of globals that may be built-ins
2021-05-20 14:47:22 +02:00
Tom Hvitved
2a7ceb2e19
Merge pull request #5928 from hvitved/python/type-tracker-split
...
Python: Split up `(small)step` into intra/interprocedural predicates
2021-05-20 14:13:44 +02:00
Tom Hvitved
1fc95a68ca
Python: Add more type tracking QL doc
2021-05-20 13:47:23 +02:00
Taus
c4bb3c27e0
Python: Update python/ql/src/semmle/python/ApiGraphs.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-05-20 13:14:09 +02:00
Alex Denisov
694eba66f3
C++: Adjust tests for new specifiers
2021-05-20 10:49:20 +02:00
CodeQL CI
17afbdf258
Merge pull request #5635 from RasmusWL/port-weak-crypto-algorithm
...
Approved by yoff
2021-05-20 01:22:32 -07:00
Alex Denisov
ab23507e3f
C++: Add ref qualifiers
2021-05-20 10:03:54 +02:00
Mathias Vorreiter Pedersen
b2432158a8
C++: Add change-note.
2021-05-20 10:00:32 +02:00
Mathias Vorreiter Pedersen
152c0161a2
C++: Fix formatting.
2021-05-20 09:48:32 +02:00
Mathias Vorreiter Pedersen
9504592909
C++: Promote cpp/incorrect-allocation-error-handling out of experimental.
2021-05-20 09:47:45 +02:00
Tom Hvitved
f63c1d2383
Python: Split up (small)step into intra/interprocedural predicates
2021-05-19 19:59:25 +02:00
Anders Schack-Mulligen
4406b8e339
Dataflow: Sync.
2021-05-19 19:22:36 +02:00
Anders Schack-Mulligen
bb258813a1
Dataflow: Improve performance for dispatch-join in flow-through.
2021-05-19 19:20:57 +02:00
Rasmus Wriedt Larsen
753dca91b1
Python: weak-crypto: Make algorithm selection less brittle
...
As discussed in https://github.com/github/codeql/pull/5635#discussion_r633477154
2021-05-19 17:47:09 +02:00
Rasmus Wriedt Larsen
22d4d7956a
Python: Fix typo in QLDoc
2021-05-19 17:47:05 +02:00
Rasmus Wriedt Larsen
8d1e7da851
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-05-19 17:42:46 +02:00
Rasmus Wriedt Larsen
61ad5d0673
Python: Allow printing PostUpdateNode in ConceptsTest.qll
...
See how this works in `test_json.py`
2021-05-19 17:10:33 +02:00
Rasmus Wriedt Larsen
9dbb364cca
Python: Move json tests to be part of stdlib
...
This is better, since the modeling is also part of Stdlib.qll
2021-05-19 17:10:33 +02:00
Rasmus Wriedt Larsen
51a25e45fe
Python: Use shared prettyExpr in ConceptsTest.qll
...
This required quite some changes in the expected output. I think it's much more
clear what the selected nodes are now 👍 (but it was a bit boring work to fix
this up)
2021-05-19 17:10:33 +02:00
Rasmus Wriedt Larsen
1af6d97c51
Python: Remove straggling f-: annotations
2021-05-19 17:10:33 +02:00
Rasmus Wriedt Larsen
f66dccafda
Python: Rename prettyExp => prettyExpr
...
So we're consistenly using `expr` and not leaving our the `r`.
2021-05-19 17:10:33 +02:00
Taus
75a43e76e8
Python: Address review comments.
...
- Removes the version check on the set of built-in names.
- Renames the predicate used to represent said set.
- Documents how these lists of names were obtained.
- Gets rid of a superfluous import.
2021-05-19 11:54:47 +00:00
Mathias Vorreiter Pedersen
c4f604bafe
Merge pull request #5896 from geoffw0/weak_crypto
...
C++: Improve cpp/weak-cryptographic-algorithm
2021-05-19 13:17:13 +02:00
Rasmus Wriedt Larsen
c4987e94e0
Python: Re-introduce syntactic handling of str/bytes/unicode
...
I don't want to loose results on this, so until type-tracking/API graphs
can handle this, I want to keep our syntactic handling.
2021-05-19 13:00:11 +02:00
Alexander Eyers-Taylor
c80495fbdd
Merge pull request #5851 from github/alexet/patch
...
Use only_bind_out to force a good join order.
2021-05-19 12:00:07 +01:00
Rasmus Wriedt Larsen
aa8b7306a3
Python: Use more API graphs in TaintTrackingPrivate
...
But now we suddenly don't handle the call to `unicode` :O -- at least
not when I run the test locally (using Python 3).
2021-05-19 12:59:58 +02:00
CodeQL CI
9bdfdb02d3
Merge pull request #5916 from erik-krogh/scriptSink
...
Approved by esbena
2021-05-19 03:46:17 -07:00
Rasmus Wriedt Larsen
a2e8417c11
Python: Use API graphs in TaintTrackingPrivate
...
Some of this modeling could probably go to the standard lib modeling
file, but this chain of commits is already pretty feature creep :|
2021-05-19 12:39:10 +02:00
Rasmus Wriedt Larsen
53f1d2342d
Python: Small refactor of TaintTrackingPrivate
...
Highlight why we need to import `DataFlowPrivate`
2021-05-19 12:19:18 +02:00
Geoffrey White
aaae717328
Merge branch 'main' into weak_crypto
2021-05-19 11:19:08 +01:00
CodeQL CI
c793ac933a
Merge pull request #5921 from erik-krogh/expressChain
...
Approved by esbena
2021-05-19 03:17:40 -07:00
Geoffrey White
e985204a62
C++: Add change note.
2021-05-19 11:14:23 +01:00
Rasmus Wriedt Larsen
3f5602c048
Python: Refactoring of TaintTrackingPrivate
...
To use all the good new stuff 🎉
2021-05-19 12:13:04 +02:00
Rasmus Wriedt Larsen
b02fb90807
Python: Add getObject(string attrName) to AttrRef
...
Now that I got started adding small things that are nice, I've been
missing this one (that is available on an `AttrNode`).
2021-05-19 12:11:49 +02:00
Rasmus Wriedt Larsen
9137f04bd3
Python: Add getPostUpdateNode to DataFlow::Node
...
as discussed in https://github.com/github/codeql/pull/5864#discussion_r634675940
2021-05-19 11:57:49 +02:00
CodeQL CI
23e8092452
Merge pull request #5864 from RasmusWL/some-framework-modeling
...
Approved by tausbn
2021-05-19 02:31:06 -07:00
Geoffrey White
e66b5559a4
Merge pull request #5924 from MathiasVP/cleanup-modelFlow
...
C++: Remove a disjunction from `modelFlow`
2021-05-19 10:12:20 +01:00
Geoffrey White
99833f16e1
Merge pull request #5923 from MathiasVP/range-analysis-in-overflow-static
...
C++: Add range analysis to `cpp/static-buffer-overflow`
2021-05-19 10:12:02 +01:00
Rasmus Wriedt Larsen
904eacf9a2
Python: Use absolute import for PEP249
2021-05-19 11:10:06 +02:00
Mathias Vorreiter Pedersen
4d00513606
C++: Use the isParameterDerefOrQualifierObject predicate to remove a disjunction.
2021-05-19 10:47:04 +02:00
Mathias Vorreiter Pedersen
741eed93b2
C++: Replace minimum(any(...)) with a min aggregate. Also removed the min aggregate further down since it's no longer needed.
2021-05-19 09:03:05 +02:00
yoff
60da193620
Update python/ql/src/semmle/python/frameworks/Cryptodome.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-05-19 08:08:59 +02:00
Erik Krogh Kristensen
9a1f80aa93
accept updated test output for express test
2021-05-18 22:23:29 +02:00
Erik Krogh Kristensen
e9d2dd0b57
support the chaining methods on Express apps
2021-05-18 22:23:27 +02:00
Robert Marsh
db85a215ab
C++: fix alias model for smart pointer setters
2021-05-18 13:16:22 -07:00
Robert Marsh
e590a7bc33
C++: Handle alias models for this/qualifiers
2021-05-18 13:15:38 -07:00
Evgenii Protsenko
af75d85b2e
ClickHouseSQLInjection.qll : add tests
2021-05-18 22:49:11 +03:00
Chris Smowton
0c970b5f1f
Merge pull request #5802 from luchua-bc/java/rhino-injection
...
Java: CWE-094 Rhino code injection
2021-05-18 19:25:53 +01:00
Mathias Vorreiter Pedersen
6103aabdce
C++: Add change-note.
2021-05-18 19:17:11 +02:00
luchua-bc
02aa9c6fc7
Optimize the sink and update qldoc
2021-05-18 16:12:23 +00:00
luchua-bc
d4323a4a54
Update qldoc
2021-05-18 16:12:23 +00:00
luchua-bc
9d392263a5
Refactor inconsistent method names
2021-05-18 16:12:23 +00:00
luchua-bc
2fa249a8eb
Update method name and qldoc
2021-05-18 16:12:23 +00:00
luchua-bc
2c1374bdcf
Use inline implementation for ScriptEngineFactory
2021-05-18 16:12:23 +00:00
luchua-bc
0ac8453398
Allow all arguments of methods in ScriptEngineFactory
2021-05-18 16:12:23 +00:00
luchua-bc
e4699f7fa9
Optimize the query
2021-05-18 16:12:22 +00:00
luchua-bc
d664aa6d6a
Include more scenarios and update qldoc
2021-05-18 16:12:22 +00:00
luchua-bc
852bcfb5c7
Refactor the ScriptEngine query and the Rhino code injection query into one
2021-05-18 16:12:22 +00:00
luchua-bc
b0b5338359
Rhino code injection
2021-05-18 16:12:22 +00:00
Mathias Vorreiter Pedersen
26c4a66dc4
C++: Add range analysis to fix FPs.
2021-05-18 17:54:30 +02:00
Mathias Vorreiter Pedersen
df9981de4f
C++: Add testcases with false positives.
2021-05-18 17:53:20 +02:00
Ethan Palm
9deaace756
Merge pull request #5898 from ethanpalm/go-build-commands
...
Docs: Document Go tracer support
2021-05-18 11:49:31 -04:00
Ethan Palm
610e041e28
Add reviewer feedback
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-05-18 11:42:08 -04:00
Chris Smowton
4230869ee2
Merge pull request #5819 from luchua-bc/java/jpython-injection
...
Java: CWE-094 Jython code injection
2021-05-18 16:38:40 +01:00
Chris Smowton
71f540a755
Merge pull request #5844 from haby0/SpringRedirects
...
[Java] CWE-601 Spring url redirection detect
2021-05-18 16:37:40 +01:00
Geoffrey White
cdf261b54b
C++: In fact it's just not good enough to get additional evidence from the declaring type.
2021-05-18 14:31:19 +01:00
Geoffrey White
88dc0861ac
C++: Fix copy-paste error.
2021-05-18 14:27:31 +01:00
Geoffrey White
c7382ee06d
C++: Repair for function call macros.
2021-05-18 14:27:08 +01:00
Geoffrey White
012840e602
C++: Add more test cases.
2021-05-18 14:26:12 +01:00
Geoffrey White
3d8513c1e0
C++: Add 'MAC' as additional evidence.
2021-05-18 13:24:51 +01:00
Geoffrey White
da83e9142b
C++: Replace getAnExpandedElement with getAGeneratedElement as it's all we really need.
2021-05-18 13:23:49 +01:00
luchua-bc
2a0721b2ae
Optimize the sink and update method name
2021-05-18 12:18:14 +00:00
CodeQL CI
1d120824ac
Merge pull request #5920 from erik-krogh/clone
...
Approved by esbena
2021-05-18 05:13:57 -07:00
Rasmus Wriedt Larsen
97fadd9970
Merge branch 'main' into port-weak-crypto-algorithm
2021-05-18 14:04:18 +02:00
Rasmus Wriedt Larsen
6c755024ac
Python: Refactor code, inline some type-tracking
2021-05-18 14:03:36 +02:00
Rasmus Wriedt Larsen
770429fd68
Python: Autoformat
2021-05-18 14:02:46 +02:00
haby0
e46de44473
Solve errors caused by private ownership
2021-05-18 19:56:32 +08:00
Erik Krogh Kristensen
06514a2bb6
move clone model to Extend.qll
2021-05-18 13:16:41 +02:00
haby0
caf5f4d605
modified comment
2021-05-18 19:10:03 +08:00
Erik Krogh Kristensen
1435ac715a
add support for the clone library
2021-05-18 12:46:34 +02:00
Rasmus Wriedt Larsen
9156316b14
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-05-18 11:53:11 +02:00
Rasmus Wriedt Larsen
0ade23ab2a
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-05-18 11:49:59 +02:00
Erik Krogh Kristensen
cac0ab299b
add writes to textContent on a <script /> as a sink for code-injection
2021-05-18 10:25:25 +02:00
Anders Schack-Mulligen
9b0e3b1950
Merge pull request #5814 from JLLeitschuh/feat/JLL/jackson_as_taint_step
...
[Java] Add taint tracking through Jackson deserialization
2021-05-18 09:31:16 +02:00
haby0
a0cd551bae
Add filtering of String.format
2021-05-18 11:05:10 +08:00
luchua-bc
e652d8771c
Update method name and qldoc
2021-05-17 20:36:15 +00:00
Chris Smowton
ef410b9984
Update java/change-notes/2021-05-14-close-resource-leaks-improvements.md
2021-05-17 19:27:10 +01:00
Henry Mercer
0ad69d11a8
Code Scanning selectors: Include diagnostic queries
2021-05-17 18:39:33 +01:00
Geoffrey White
3b29920255
C++: Replace getAChild with getAnArgument().
2021-05-17 16:10:39 +01:00
Geoffrey White
09d00b133e
C++: Acknowledge another not detected result in tests.
2021-05-17 15:53:03 +01:00
Geoffrey White
930b9fe3e5
C++: Add triple-DES to the bad algorithms list.
2021-05-17 15:51:17 +01:00
Geoffrey White
57354def9e
C++: Real world diffs suggest that 'Cipher' should be an encryption word as well.
2021-05-17 15:36:27 +01:00
Geoffrey White
9e75f53798
C++: Prefer matches to regexpMatch.
2021-05-17 15:35:19 +01:00
Tom Hvitved
ae6326b1f3
Merge pull request #5882 from hvitved/csharp/autobuilder/shared-compilation
2021-05-17 16:05:08 +02:00
Tamas Vajk
6853f6affa
C#: Fix type of temp foreach variable in IR
2021-05-17 15:53:57 +02:00
Mathias Vorreiter Pedersen
d46452e8de
Merge pull request #5903 from MathiasVP/tainted-allocation-size-barrier
...
C++: Add barriers to `cpp/uncontrolled-allocation-size`
2021-05-17 15:24:45 +02:00
CodeQL CI
12b1bbe484
Merge pull request #5897 from erik-krogh/uid
...
Approved by RasmusWL, esbena
2021-05-17 06:01:04 -07:00
haby0
689c28a178
modified JsonIoSafeOptionalArgs
2021-05-17 19:00:59 +08:00
haby0
95c33a240f
Update java/change-notes/2021-05-17-add-unsafe-deserialization-sinks.md
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-17 18:49:16 +08:00
Anders Schack-Mulligen
77c93dcf26
Make private
2021-05-17 10:35:04 +02:00
Tom Hvitved
b142ecb1db
C#: Address review comment
2021-05-17 10:33:06 +02:00
haby0
58d774ae85
add change notes
2021-05-17 14:52:05 +08:00
Mathias Vorreiter Pedersen
31091c66c1
C++: Add a test containing a guarded long.
2021-05-17 08:06:06 +02:00
Robert Marsh
d706d7b7a4
Merge pull request #5887 from MathiasVP/fewer-rand-sources-in-uncontrolled-arithmetic
...
C++: Add more sanitizers to `cpp/uncontrolled-arithmetic`
2021-05-14 15:35:56 -07:00
Marcono1234
e205e4bbce
Java: Add change note for close resource query changes
2021-05-14 22:31:14 +02:00
Marcono1234
73c7e15580
Java: Add back StringInputStream to CloseReader.ql
2021-05-14 22:25:00 +02:00
Ethan P
58c746e42b
fix formatting
2021-05-14 14:09:07 -04:00
Ethan P
0e99d5e379
Add examples of both tracing mechanisms
2021-05-14 14:05:55 -04:00
Ethan Palm
6dd30ee5e2
clarify options for tracing
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-14 14:00:33 -04:00
Robin Neatherway
17b74319fa
Merge pull request #5902 from github/rneatherway/lines-of-code-tags
...
Add lines-of-code tags
2021-05-14 17:16:50 +01:00
Ethan Palm
4cf695b5ab
specify `--command` option
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-05-14 10:00:17 -04:00
Mathias Vorreiter Pedersen
58dde68b10
C++: Add change-note.
2021-05-14 14:16:00 +02:00
Mathias Vorreiter Pedersen
2d0a56128d
C++: Prevent flow out of pointer-difference expressions.
2021-05-14 13:49:48 +02:00
Mathias Vorreiter Pedersen
c1d41b3169
C++: Add false positive result from pointer-difference expressions.
2021-05-14 13:47:23 +02:00
luchua-bc
1497fba6f2
Remove the isAdditionalTaintStep predicate
2021-05-14 11:43:49 +00:00
Mathias Vorreiter Pedersen
5031b73f35
C++: Add barrier to cpp/uncontrolled-allocation-size that blocks flow when overflow isn't possible.
2021-05-14 13:43:20 +02:00
Erik Krogh Kristensen
3766678d60
move RegexpMetaChars into Regexp.qll
2021-05-14 13:23:36 +02:00
CodeQL CI
af0d31695a
Merge pull request #5862 from asgerf/js/has-underlying-type
...
Approved by erik-krogh, max-schaefer
2021-05-14 04:10:43 -07:00
Robin Neatherway
f378513ea3
Add lines-of-code tags
...
This is a proposed method for advertising which queries are measuring
the lines of code in a project in a more robust manner than inspecting
the rule id.
Note that the python "LinesOfUserCode" query should _not_ have this
property, as otherwise the results of the two queries will be summed.
2021-05-14 11:20:43 +01:00
haby0
60fc607449
Modify ql
2021-05-14 18:17:05 +08:00
Erik Krogh Kristensen
33641c84f6
recognize sanitizing string replace call for regexp-injection
2021-05-14 11:58:27 +02:00
haby0
498c99e26c
Add left value, Add return expression tracing flow
2021-05-14 16:31:59 +08:00
Ethan P
406fb1e383
Update with Go custom build options
2021-05-13 17:29:34 -04:00
Erik Krogh Kristensen
9d60ec035f
fix casing on the uid regexp
2021-05-13 23:04:30 +02:00
Erik Krogh Kristensen
662e335424
keep python in sync
2021-05-13 22:54:39 +02:00
Erik Krogh Kristensen
51067af784
add "uid" (and friends) as maybe being sensitive account info
2021-05-13 22:34:10 +02:00
Geoffrey White
9cdf838981
C++: Bug fix.
2021-05-13 16:20:52 +01:00
Geoffrey White
a9d57450c8
C++: Autoformat.
2021-05-13 16:19:09 +01:00
CodeQL CI
9b0c24abc2
Merge pull request #5876 from erik-krogh/moreAxios
...
Approved by asgerf
2021-05-13 08:03:33 -07:00
Geoffrey White
3a83ff54e6
C++: Add support for class methods.
2021-05-13 16:02:00 +01:00
Geoffrey White
2576075b98
C++: Repair result message.
2021-05-13 15:52:28 +01:00
Geoffrey White
5d1ef49f8f
C++: Add support for enum constants.
2021-05-13 15:42:42 +01:00
Geoffrey White
e4d2c7cfc4
C++: Rewrite so that we look for additional evidence.
2021-05-13 13:19:39 +01:00
Geoffrey White
123889a671
C++: Fix 'triple DES' false positives.
2021-05-13 10:21:06 +01:00
haby0
02e415045f
Delete RedirectBuilderFlowConfig
2021-05-13 15:48:15 +08:00
Geoffrey White
40cf29b625
C++: Rearrange the library.
2021-05-13 08:39:37 +01:00
haby0
effa2b162a
Add spring url redirection detect
2021-05-13 09:55:37 +08:00
Taus
79cfe5aca2
Python: Limit py/use-of-input to Python 2
2021-05-12 21:23:16 +00:00
Taus
fad55b3635
Python: Reimplement py/use-of-input
2021-05-12 21:09:51 +00:00
Evgenii Protsenko
470e3eb089
[python] ClickHouseDriver.qll: add support for subclasses
2021-05-13 00:03:53 +03:00
Erik Krogh Kristensen
34fbafafde
remove redundant "put" case
2021-05-12 22:34:44 +02:00
Evgenii Protsenko
2efa0ad105
[C++] Implement module ClickHouseDriver.qll
2021-05-12 22:36:24 +03:00
Taus
fe12e620dd
Python: Avoid clobbering range in test
...
This was an unwanted interaction between two unrelated tests, so I
switched to a different built-in in the second test. I also added a test
case that shows an unfortunate side effect of this more restricted
handling of built-ins.
2021-05-12 18:42:10 +00:00
Geoffrey White
0450caa73d
C++: Exclude array initializers.
2021-05-12 19:39:30 +01:00
Geoffrey White
52a88af6c1
C++: Exclude macro invocations in switch case expressions.
2021-05-12 19:33:18 +01:00
Geoffrey White
9404d0676d
C++: Exclude macros that don't generate anything.
2021-05-12 19:28:08 +01:00
Geoffrey White
b6d5f7c315
C++: Fix FPs caused by substring regexp.
2021-05-12 19:23:49 +01:00
Geoffrey White
109fa4d38e
C++: Add test cases for BrokenCryptoAlgorithm.ql.
2021-05-12 19:16:00 +01:00
Taus
ff2b6b9737
Python: Correctly locate stores to built-ins
2021-05-12 18:07:18 +00:00
Mathias Vorreiter Pedersen
7d26aca793
C++: Add change-note.
2021-05-12 16:34:23 +02:00
Erik Krogh Kristensen
e0f78dde56
make the axios error catch match the non-error case
2021-05-12 16:23:37 +02:00
Mathias Vorreiter Pedersen
e94dab70b5
C++: Add sanitizers to cpp/uncontrolled-arithmetic.
2021-05-12 15:44:09 +02:00
Jonathan Leitschuh
48b50f93c2
Update java/ql/src/semmle/code/java/frameworks/jackson/JacksonSerializability.qll
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2021-05-12 08:58:01 -04:00
Taus
3d30efed11
Python: Add exec as a shared built-in
...
This is _slightly_ wrong, since `exec` isn't a built-in function in
Python 2. It should be harmless, however, since `exec` is a keyword,
and so cannot be redefined anyway.
2021-05-12 11:07:16 +00:00
Anders Schack-Mulligen
7974e3ad38
Merge pull request #5883 from zbazztian/consider-boxed-booleans-to-avoid-xxe-fps
...
Consider boxed booleans to avoid false positives for XXE.ql
2021-05-12 12:51:22 +02:00
Sebastian Bauersfeld
b05512a958
Add change notes.
2021-05-12 16:58:24 +07:00
Taus
5c7e73d485
Python: Add exception types
2021-05-12 09:53:09 +00:00
Sebastian Bauersfeld
bf4d88175c
Consider boxed booleans to avoid false positives for XXE.ql
2021-05-12 16:40:00 +07:00
Geoffrey White
8f152b7380
Merge pull request #5877 from MathiasVP/detect-more-abs-in-overflow-library
...
C++: Detect more uses of `abs`
2021-05-12 10:02:12 +01:00
Tom Hvitved
fc121e1cbd
Merge pull request #5865 from tamasvajk/feature/remove-base-class-dependency-id
...
C#: Remove base class from type IDs in trap files
2021-05-12 10:30:31 +02:00
Taus
07a70af344
Python: Limit set of globals that may be built-ins
...
I am very tempted to leave out the constants, or at the very least
`False`, `True`, and `None`, as these have _many_ occurrences in the
average codebase, and are not terribly useful at the API-graph level.
If we really do want to capture "nodes that refer to such and such
constant", then I think a better solution would be to create classes
extending `DataFlow::Node` to facilitate this.
2021-05-12 08:19:35 +00:00
Tom Hvitved
961467e06e
C#: Always pass /p:UseSharedCompilation=false to dotnet build in auto builder
2021-05-12 10:15:04 +02:00
Anders Schack-Mulligen
a247ae4357
Merge pull request #5843 from JLLeitschuh/feat/JLL/improve_kryo_support
...
[Java] Fix Kryo FP & Kryo 5 Support
2021-05-12 09:52:24 +02:00
Anders Schack-Mulligen
74ae2e0857
Merge pull request #5773 from hvitved/dataflow/aggressive-caching
...
Data flow: Cache most language-dependent predicates
2021-05-12 09:41:55 +02:00
haby0
12f47bcf24
Add UnsafeDeserialization
2021-05-12 12:37:16 +08:00
Tamas Vajk
8e371fd05a
Adjust expected IR test file
2021-05-11 21:54:05 +02:00
Mathias Vorreiter Pedersen
948f1d8e34
C++: Add testcase with INTMAX_MIN.
2021-05-11 19:43:21 +02:00
Marcono1234
8969da7775
Java: Improve not closing resource query; add tests
2021-05-11 19:32:02 +02:00
luchua-bc
e7cd6c9972
Optimize the query
2021-05-11 16:56:12 +00:00
Jonathan Leitschuh
5a68ac88ef
Cleanup Jackson logic after code review
2021-05-11 10:48:22 -04:00
Jonathan Leitschuh
bacc3ef5b3
[Java] Jackson add support for 2 step deserialization taint flow
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
e97bad3b33
Support field access data flow for JacksonDeserializedTaintStep
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
83d527ed19
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
b871f48c50
[Java] Add release note to Jackson change
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
d0b0b767a2
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
d0638db6e7
[Java] Add data flow through Iterator deserializers for Jackson
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
56b1f15dda
[Java] Add taint tracking through Jackson deserialization
2021-05-11 10:36:47 -04:00
Geoffrey White
d7e560c611
Merge pull request #5767 from ihsinme/ihsinme-patch-268
...
CPP: Add query for CWE-1126: Declaration of Variable with Unnecessarily Wide Scope
2021-05-11 15:24:25 +01:00
Mathias Vorreiter Pedersen
3e21f479a9
C++: Add change-note.
2021-05-11 14:58:48 +02:00
Tom Hvitved
d66506b0a3
Data flow: Rename {Argument,Parameter}NodeExt to {Arg,Param}Node
2021-05-11 14:40:10 +02:00
Mathias Vorreiter Pedersen
48e783184c
C++: Fix false positive by recognizing more absolute value functions in Overflow.qll
2021-05-11 14:30:28 +02:00
Jonathan Leitschuh
0d9a85ca6b
Update java/change-notes/2021-05-05-kryo-improvements.md
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-05-11 08:29:50 -04:00
Mathias Vorreiter Pedersen
24d8abd2c2
C++: Add false positive testcase when an absolute value is used in comparison.
2021-05-11 14:27:53 +02:00
CodeQL CI
922b276fac
Merge pull request #5728 from asgerf/js/source-sink-queries
...
Approved by erik-krogh
2021-05-11 05:04:47 -07:00
Tamas Vajk
717070c7e4
Fix/cleanup passed and default arguments values
2021-05-11 13:11:35 +02:00
yoff
a7f97895ac
Merge pull request #5863 from erik-krogh/printReg
...
JS: add printAst.ql support for regular expressions
2021-05-11 12:45:49 +02:00
yoff
0e5a2c4573
Merge pull request #5442 from jorgectf/jorgectf/python/redos
...
Python: Add Regular Expression Injection query
2021-05-11 12:11:35 +02:00
yoff
549c9eee1a
Merge pull request #5739 from RasmusWL/share-sensitive-data-modeling
...
Python/JS: Share sensitive data modeling
2021-05-11 11:53:59 +02:00
CodeQL CI
a87731115a
Merge pull request #5860 from max-schaefer/js/improve-sql-modelling
...
Approved by asgerf
2021-05-11 02:24:52 -07:00
Erik Krogh Kristensen
99e98419dc
add support for error values in an axios client request
2021-05-11 11:24:21 +02:00
Erik Krogh Kristensen
52991dc4a1
rewrite the axios model to use API graphs
2021-05-11 11:23:51 +02:00
Erik Krogh Kristensen
54f191cfe3
add support for rejected promise values in API graphs
2021-05-11 11:23:03 +02:00
CodeQL CI
beb66fc4db
Merge pull request #5719 from asgerf/js/nestjs
...
Approved by esbena
2021-05-11 02:08:27 -07:00
Anders Schack-Mulligen
744c495ac2
Merge pull request #5824 from JLLeitschuh/feat/JLL/guava_first_non_null
...
[Java] Add support for com.google.common.base.MoreObjects#firstNonNull
2021-05-11 09:42:20 +02:00
AlexDenisov
2905bb8b9a
Merge pull request #5861 from AlexDenisov/alexdenisov/adjust-user-defined-literals-test
...
C++: Adjust user-defined literals test' expectations
2021-05-11 09:31:54 +02:00
Anders Schack-Mulligen
7d6a497136
Merge pull request #5857 from dbartol/container/work
...
Java: Fix QLDoc for `Container.toString()`
2021-05-11 08:37:41 +02:00
Dave Bartolomeo
f85aff869c
Java: Fix PR feedback
2021-05-10 16:37:23 -04:00
Marcono1234
2e098f050e
Java: Ignore char array based closeables for CloseReader.ql and CloseWriter.ql
2021-05-10 18:33:07 +02:00
Mathias Vorreiter Pedersen
5016c6436a
Merge pull request #5859 from MathiasVP/fix-fp-in-comparison-with-wider-type
...
C++: Fix false positive in `cpp/comparison-with-wider-type`
2021-05-10 17:58:31 +02:00
Jonathan Leitschuh
d27316eb3e
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-10 11:55:31 -04:00
Chris Smowton
0afe22d60c
Merge pull request #5710 from p0wn4j/jsch-os-injection
...
[Java] CWE-078: Add JSch lib OS Command Injection sink
2021-05-10 16:12:00 +01:00
Tamas Vajk
dd86da3f24
C#: Remove base class from type IDs in trap files
2021-05-10 17:06:10 +02:00
Tamas Vajk
31ac6442e8
C#: Fix default parameter value generation in case of error symbols
2021-05-10 17:03:08 +02:00
Rasmus Wriedt Larsen
1b0d5053e7
Python: simplejson load/dump only works with lib installed
...
Which I had done locally. Problem is the same about not having PostUpdateNode
when points-to is not able to resolve the call, so I'm happy to just make CI
happy right now, and hopefully we'll get a fix to the underlying problem soon 😊
2021-05-10 16:21:29 +02:00
Mathias Vorreiter Pedersen
d55db836cb
C++: Remove implied conjunct.
2021-05-10 16:13:54 +02:00
Tom Hvitved
498f9b2547
Merge pull request #5848 from hvitved/csharp/trap-key-escape
...
C#: Escape IDs in TRAP label definitions
2021-05-10 16:13:13 +02:00
Mathias Vorreiter Pedersen
51d04cb5b3
C++: Correct test annotation.
2021-05-10 15:30:35 +02:00
Mathias Vorreiter Pedersen
c0b65314be
C++: Fix false positive by restricting _both_ the old (unconverted) expression _and_ all of the conversions.
2021-05-10 15:18:42 +02:00
Rasmus Wriedt Larsen
c2a6b811fc
Python: Add modeling of ujson PyPI package
...
The problem with `tainted_filelike` not having taint, is that in the call
`ujson.dump(tainted_obj, tainted_filelike)`
there is no PostUpdateNote for `tainted_filelike` :( The reason is that
points-to is not able to resolve the call, so none of the clauses in
`argumentPreUpdateNode` matches
See 08731fc6cf/python/ql/src/semmle/python/dataflow/new/internal/DataFlowPrivate.qll (L101-L111)
Let's deal with that issue in an other PR though
2021-05-10 15:10:31 +02:00
Rasmus Wriedt Larsen
72d08f4d6e
Python: Model json load/dump
2021-05-10 15:10:30 +02:00
Rasmus Wriedt Larsen
63f28d7d9b
Python: Model keyword args to json loads/dumps
2021-05-10 15:10:29 +02:00
Rasmus Wriedt Larsen
784e0cdb96
Python: Improve tests of json module
...
Inspired by the work on previous commit
2021-05-10 15:10:28 +02:00
Rasmus Wriedt Larsen
3fe9a3d933
Python: Add modeling of simplejson PyPI package
...
I noticed that we don't handle PostUpdateNote very well in the concept tests,
for exmaple for `json.dump(...)` there _should_ have been an `encodeOutput` as
part of the inline expectations.
I'll work on fixing that up in a separate PR, to keep things clean.
2021-05-10 15:10:27 +02:00
Mathias Vorreiter Pedersen
c7cd75437f
C++: Add testcase demonstrating false positive from conversions.
2021-05-10 14:58:33 +02:00
CodeQL CI
a3d17a1437
Merge pull request #5769 from erik-krogh/libXss
...
Approved by esbena
2021-05-10 05:58:07 -07:00
yoff
78370cf63f
Update python/ql/src/experimental/semmle/python/frameworks/Stdlib.qll
2021-05-10 14:53:40 +02:00
Erik Krogh Kristensen
504c34ed2c
use shouldPrint to filter out regular expressions from other files
2021-05-10 14:51:13 +02:00
Erik Krogh Kristensen
d6f9e37e39
add printAst.ql support for regular expressions
2021-05-10 13:31:00 +02:00
ihsinme
9e5a38debd
Update DeclarationOfVariableWithUnnecessarilyWideScope.expected
2021-05-10 14:17:40 +03:00
Asger Feldthaus
3e5dc1efb7
JS: More robust hasUnderlyingType
2021-05-10 13:17:25 +02:00
ihsinme
d3c6093f37
Update test.c
2021-05-10 14:16:38 +03:00
ihsinme
c8f2937df9
Update DeclarationOfVariableWithUnnecessarilyWideScope.ql
2021-05-10 14:16:11 +03:00
Tom Hvitved
7f1f2b4dd3
C#: Fix GetHashCode/Equals on EscapingTextWriter
2021-05-10 13:05:51 +02:00
Alex Denisov
dcdd54593e
C++: Adjust user-defined literals test' expectations
2021-05-10 13:03:40 +02:00
Max Schaefer
8f91e9eba0
JavaScript: Model chaining calls in sqlite3.
2021-05-10 10:58:58 +01:00
Rasmus Wriedt Larsen
8afdf26540
Python: Add modeling of idna PyPI package
2021-05-10 11:47:11 +02:00
Asger F
f4e636dcd6
Update javascript/ql/src/semmle/javascript/frameworks/ClassValidator.qll
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-05-10 10:08:10 +01:00
CodeQL CI
097b6e5e33
Merge pull request #5794 from erik-krogh/rxPipe
...
Approved by asgerf
2021-05-10 02:06:34 -07:00
Erik Krogh Kristensen
d913668943
move hasPathWithoutUnmatchedReturn to Configuration.qll
2021-05-10 10:55:33 +02:00
Rasmus Wriedt Larsen
7ed20a8b2c
Python: Add reminder to update docs for new frameworks
2021-05-10 10:55:21 +02:00
Erik Krogh Kristensen
b4e35f54d9
fix typo
2021-05-10 10:48:43 +02:00
Erik Krogh Kristensen
646bf99489
rewrite the qhelp to focus more on documenting unsafe functions
2021-05-10 10:48:40 +02:00
Asger Feldthaus
df5eab33f9
JS: Update relevantTaintSource()
2021-05-10 09:43:33 +01:00
CodeQL CI
b1f28afcbd
Merge pull request #5741 from asgerf/js/more-cheat-sheet
...
Approved by erik-krogh
2021-05-10 01:34:56 -07:00
Mathias Vorreiter Pedersen
474b337eeb
C++: Add change-note.
2021-05-10 10:22:44 +02:00
Mathias Vorreiter Pedersen
c91ed80e6c
C++: Fix false positive by computing range of the converted expression.
2021-05-10 10:12:43 +02:00
Mathias Vorreiter Pedersen
7ac7830973
C++: Add testcase with false positive involving a conversion on the large-expression side of the comparison.
2021-05-10 10:11:31 +02:00
Erik Krogh Kristensen
3fe5dd0f35
add comment about filtering away jQuery from the source
2021-05-10 10:05:18 +02:00
Tom Hvitved
8b465e86e0
Merge pull request #5820 from hvitved/csharp/cfg/constructor-same-compilation
...
C#: Improve CFG for constructors when there are multiple implementations
2021-05-10 09:23:16 +02:00
jorgectf
8665747316
Update sink and sanitizer to match new naming
2021-05-08 18:08:50 +02:00
Dave Bartolomeo
d9f243d18a
Java: Fix QLDoc for Container.toString()
...
Fixes #5828
The QLDoc was just too specific about the default implementation. I've improved the wording.
2021-05-08 11:14:02 -04:00
Hayk Andriasyan
fd88b72101
Delete JSchOSInjection.qhelp
2021-05-08 12:51:15 +04:00
Dave Bartolomeo
773e5f2e2e
Merge remote-tracking branch 'upstream/main' into side-effects
2021-05-07 16:50:48 -04:00
Dave Bartolomeo
187e136ecc
C++: Generate IR side effects for smart pointer indirections
...
When inserting side effect instructions for argument indirections, we now insert side effects for smart pointers as we would for raw pointers. The address operand of the side effect instruction is the smart pointer object, which is a bit odd. However, I'd like to think through the design of a more principled solution before doing additional work.
A few new tests are added to the existing IR tests. In addition, the IR tests now `#include` some of the shared STL headers. I've disabled IR dumps for functions from those headers, since they only get in the way of the test cases we intended.
2021-05-07 16:50:03 -04:00
Dave Bartolomeo
f0a994a570
C++: Fix pointer flow modeling for smart pointer setters
2021-05-07 16:33:15 -04:00
jorgectf
2ad72ad693
Add LDAP framework entry in Frameworks.qll
2021-05-07 22:16:12 +02:00
jorgectf
6159fbea2b
Update functions naming
2021-05-07 22:15:51 +02:00
jorgectf
34b8af30ac
Move structure to LDAP.qll
2021-05-07 22:09:57 +02:00
Dave Bartolomeo
653ef9d257
C++: Improve consistency failure message for multiple MemoryLocations on a memory access.
2021-05-07 16:04:01 -04:00
Dave Bartolomeo
54b9f2175d
C++: Allow annotating IR dumps with Alias Analysis info
...
This commit adds a `PrintAliasAnalysis.qll` module, which can be imported alongside `PrintIR.qll` to annotate those dumps with alias analysis results.
2021-05-07 16:03:11 -04:00
Jorge
c2b96b3a5e
Add documentation to main classes' functions.
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-05-07 21:51:10 +02:00
Geoffrey White
65ac5b862d
Merge pull request #5847 from MathiasVP/improve-wrong-in-detecting-and-handling-memory-allocation-errors
...
Improve wrong in detecting and handling memory allocation errors
2021-05-07 17:39:04 +01:00
Mathias Vorreiter Pedersen
2241d7b359
Merge pull request #5616 from geoffw0/unsigneddiff2
...
C++: Improve cpp/unsigned-difference-expression-compared-zero
2021-05-07 17:58:53 +02:00
Geoffrey White
75edcf0b4f
Merge branch 'main' into unsigneddiff2
2021-05-07 16:35:16 +01:00
Geoffrey White
69468514f0
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:26:42 +01:00
Geoffrey White
91be483c57
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:26:36 +01:00
Geoffrey White
fc96c1c400
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:26:23 +01:00
Geoffrey White
5db6abe2f4
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:22:48 +01:00
Geoffrey White
894f5d523c
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:19:48 +01:00
Felicity Chapman
10e76ff28f
Merge pull request #5831 from github/3893-code-scanning
...
Update CodeQL CLI article to use different query suite example
2021-05-07 12:37:47 +01:00
Tony Torralba
e78e5b9ee4
Merge branch 'main' into promote-jexl-injection
2021-05-07 12:36:49 +02:00
Mathias Vorreiter Pedersen
fc7d9c2c09
C++: Fix missing result by properly specifying that the function with unknown code actually didn't throw an exception.
2021-05-07 12:34:38 +02:00
Tony Torralba
b37b15cea4
Re-structure imports, add some new comments to tests
2021-05-07 12:33:51 +02:00
Mathias Vorreiter Pedersen
90e8368258
C++: Properly handle conversions in convertedExprMayThrow. This recursive implementation idea is stolen from convertedExprMightOverflow in SimpleRangeAnalysis.
2021-05-07 12:31:43 +02:00
Mathias Vorreiter Pedersen
7adb7b67f2
C++: Add false positive testcase involving conversions.
2021-05-07 12:19:19 +02:00
Anders Schack-Mulligen
8783746516
Merge pull request #5774 from atorralba/promote-xpath-injection
...
Java: Promote XPath Injection query from experimental
2021-05-07 12:04:49 +02:00
Mathias Vorreiter Pedersen
88e6cbaacd
C++: Include Assignments in exprMayThrow and accept test changes.
2021-05-07 11:49:25 +02:00
Mathias Vorreiter Pedersen
80d41d9fe5
C++: Add false positive testcase involving assignments.
2021-05-07 11:48:09 +02:00
Tom Hvitved
ca89560849
C#: Remove unnecessary !
2021-05-07 11:42:53 +02:00
Mathias Vorreiter Pedersen
08fa611700
C++: Avoid calling SwitchCase.getAStmt for performance reasons. This turns out to not be needed as the statements inside the switch case will get picked up by the BlockStmt.getAStmt case already.
2021-05-07 11:18:50 +02:00
Tony Torralba
2a501956b3
Mark a MISSING test result as suggested in code review
2021-05-07 11:17:51 +02:00
Tony Torralba
b69be30b88
Fix imports as suggested in code review
2021-05-07 11:07:06 +02:00
Robert Marsh
9ac55aff0e
C++: One more join order fix
2021-05-06 17:43:28 -07:00
Erik Krogh Kristensen
b53759c5a0
corrections after code review
2021-05-06 22:49:25 +02:00
CodeQL CI
7a7586488a
Merge pull request #5833 from erik-krogh/filterStep
...
Approved by esbena
2021-05-06 13:47:23 -07:00
Erik Krogh Kristensen
be69c3a458
Apply suggestions from code review
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-05-06 21:59:35 +02:00
Erik Krogh Kristensen
2d1ba59e6d
Apply suggestions from code review
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-05-06 21:55:30 +02:00
Aditya Sharad
68e53054c6
Merge pull request #5840 from github/henrymercer/update-code-scanning-selectors
...
Update code scanning selectors to include summary metrics and `@kind alert` aliases
2021-05-06 11:51:12 -07:00
Tom Hvitved
fab8400ecd
C#: Escape IDs in TRAP label definitions
2021-05-06 19:12:13 +02:00
alexet
852134023d
Use only bind-out to fix join order.
2021-05-06 18:11:28 +01:00
Mathias Vorreiter Pedersen
856d512aa6
C++: Simplify noThrowInTryBlock.
2021-05-06 18:36:09 +02:00
Mathias Vorreiter Pedersen
7c1720a1d1
C++: Remove NoThrowAllocator and inline its (corrected) definition in ThrowingAllocator.
2021-05-06 18:02:05 +02:00
Mathias Vorreiter Pedersen
5437bd7a41
C++: Fix annotation.
2021-05-06 17:57:57 +02:00
Shati Patel
cf80773453
Merge pull request #5830 from Marcono1234/marcono1234/guides-link-updates
...
Docs: Use GitHub links for guides, improve formatting
2021-05-06 16:44:11 +01:00
Robert Marsh
b3e598c1a7
C++/C#: fix another join order in SSA construction
2021-05-06 08:14:49 -07:00
Robert Marsh
5318aa8ead
C++: autoformat
2021-05-06 08:14:48 -07:00
Robert Marsh
35594eac22
C++: fix bad join order in phi node sharing
2021-05-06 08:14:47 -07:00
Robert Marsh
5406783e9c
C++: autoformat
2021-05-06 08:14:46 -07:00
Robert Marsh
230f4bcae8
C++: accept test changes from IR sharing
2021-05-06 08:14:45 -07:00
Robert Marsh
b2811022d7
C#: sync IR files and update for C++ SSA reuse
2021-05-06 08:14:45 -07:00
Robert Marsh
5d7d26bed1
C++: fixups and file sync for SSA sharing
2021-05-06 08:14:44 -07:00
Robert Marsh
1f69b31239
C++: test changes in annotate_sinks_only
2021-05-06 08:14:43 -07:00
Robert Marsh
195b811422
C++: handle phi operands from unreachable blocks
2021-05-06 08:14:42 -07:00
Robert Marsh
6600436dd9
C++: handle degenerate phi nodes
2021-05-06 08:14:41 -07:00
Robert Marsh
7930c4ab19
C++: tests for phi nodes after unreachable blocks
2021-05-06 08:14:41 -07:00
Dave Bartolomeo
922cf640f4
C++/C#: Add combineOverlap() predicate
2021-05-06 08:14:40 -07:00
Robert Marsh
86b1d032ae
C++: accept test regressions
2021-05-06 08:14:38 -07:00
Robert Marsh
f9e0ba17e0
C++: remove points-to expectations for reused SSA
2021-05-06 08:14:37 -07:00
Robert Marsh
1c72ea97a7
C++: accept phi node reorderings in IR tests
2021-05-06 08:14:37 -07:00
Robert Marsh
8bc7e5993e
autoformat and sync C++ files
2021-05-06 08:14:36 -07:00
Robert Marsh
deff5c3af1
C++: Reuse SSA from earlier stages
...
This refactors the SSA stages of the IR so that instructions which have
a modeled memory result in the unaliased SSA stage do not have SSA
recomputed in the aliased SSA stage.
2021-05-06 08:14:34 -07:00
Robert Marsh
a9d7990596
C++: make unaliased_ssa IR stage sound
2021-05-06 08:14:33 -07:00
Robert Marsh
d95ef89cee
C++: add test for IR alias analysis soundness
2021-05-06 08:14:32 -07:00
Mathias Vorreiter Pedersen
d1eb774737
C++: Remove implied conjunction.
2021-05-06 17:03:42 +02:00
Mathias Vorreiter Pedersen
e0606d61b6
C++: Fix qldoc.
2021-05-06 16:58:49 +02:00
Mathias Vorreiter Pedersen
c12837cff0
C++: Fix false negative.
2021-05-06 16:57:09 +02:00
Mathias Vorreiter Pedersen
7b8a51f995
C++: Add test with missing result.
2021-05-06 16:56:11 +02:00
Mathias Vorreiter Pedersen
47a419a5f1
C++: Respond to review comments. First: Avoid using locations to detect constructor and destructor calls. Second: Include missing statements in stmtMayThrow.
2021-05-06 16:37:26 +02:00
Mathias Vorreiter Pedersen
4463293dc4
C++: Move common code from NewExpr and NewArrayExpr into the NewOrNewArrayExpr class.
2021-05-06 16:35:41 +02:00
Tony Torralba
f16605b3c1
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-05-06 15:17:55 +02:00
Mathias Vorreiter Pedersen
167dc86f7a
C++: Accept test changes.
2021-05-06 14:36:35 +02:00
Mathias Vorreiter Pedersen
95e65dec8f
C++: Make sure a CatchBlock that catches a const std::bad_alloc& is also a BadAllocCatchBlock.
2021-05-06 14:35:27 +02:00
Mathias Vorreiter Pedersen
42b8f923be
C++: Call noexcept constructor instead.
2021-05-06 14:30:43 +02:00
Mathias Vorreiter Pedersen
6cdef782c8
Merge branch 'main' into improve-wrong-in-detecting-and-handling-memory-allocation-errors
2021-05-06 13:37:21 +02:00
Mathias Vorreiter Pedersen
420215931c
C++: Rename query.
2021-05-06 13:35:08 +02:00
Mathias Vorreiter Pedersen
d3576b9c92
C++: Accept test changes.
2021-05-06 13:29:28 +02:00
Mathias Vorreiter Pedersen
56d7342398
C++: Improve the cpp/detect-and-handle-memory-allocation-errors query.
2021-05-06 13:29:20 +02:00
Mathias Vorreiter Pedersen
58f3048808
C++: Add more testcases.
2021-05-06 13:15:34 +02:00
Tony Torralba
f1fab854c4
Fix tests for XXE, introduced a dependency with jaxen
2021-05-06 12:11:55 +02:00
Evgenii Protsenko
b1a6394959
C++: SqlPqxxTainted.ql. Change @id in query metadata
2021-05-06 12:36:48 +03:00
Erik Krogh Kristensen
3815797dda
add sanitizers from DOM and jQuery queries
2021-05-06 11:05:03 +02:00
Erik Krogh Kristensen
8ba5bddae8
add jQuery options objects as sources
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
5c37e6a435
add change note
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
7ef641e7b2
add qhelp
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
ee0140e704
share code between unsafe-shell and unsafe-html queries
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
23908f9ec2
remove flowpaths that has a returns without a matching call
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
6e754c70aa
add test for js/html-constructed-from-input
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
e86a3b5e57
add js/html-constructed-from-input query
2021-05-06 11:04:49 +02:00
Erik Krogh Kristensen
a400a1e9d4
split the markdown steps into a separate class
2021-05-06 10:44:39 +02:00
Tony Torralba
76468559ba
Add safe example for dom4j
2021-05-06 10:17:25 +02:00
Tony Torralba
926fedb7fb
Update java/ql/test/query-tests/security/CWE-643/XPathInjectionTest.java
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-06 09:18:50 +02:00
Tony Torralba
00a7576679
Rename XPath Injection test file
2021-05-06 09:18:50 +02:00
Tony Torralba
8af7f4a484
New sinks and test cases
2021-05-06 09:18:49 +02:00
Tony Torralba
ccb3ea4453
Fix XPath Injection tests classpath
2021-05-06 09:18:49 +02:00
Tony Torralba
509fc8a640
Add missing docs to stubs
2021-05-06 09:18:49 +02:00
Tony Torralba
26c3ff2cee
Move from experimental to standard
2021-05-06 09:18:49 +02:00
Tony Torralba
215118c7ea
Fixes in QLDocs and imports
2021-05-06 09:18:49 +02:00
Tony Torralba
720b5d6da3
Refactored sto use CSV sink model. Also, added more sinks
2021-05-06 09:18:49 +02:00
Tony Torralba
ab62bb66f4
Consider second parameter of Node.selectNodes
2021-05-06 09:18:49 +02:00
Tony Torralba
d72dd9b861
javax.xml.xpath.XPath is an interface
2021-05-06 09:18:49 +02:00
Tony Torralba
2bb2baf6f7
Support more methods that evaluate XPath expressions
2021-05-06 09:18:49 +02:00
Tony Torralba
3705970bfd
Refactored XPath.qll to remove redundant classes and restrict visibility
2021-05-06 09:18:49 +02:00
Tony Torralba
d739a8cac2
Moved configuration from XPath.qll back to XPath Injection query
2021-05-06 09:18:48 +02:00
Tony Torralba
ee269fbc69
Added missing doc comments
2021-05-06 09:18:48 +02:00
Tony Torralba
fb3e56eac8
Fix imports and stubs so that tests pass
2021-05-06 09:18:48 +02:00
Tony Torralba
a62997463f
Remove unused imports; use set literals in hasName
2021-05-06 09:18:48 +02:00
Tony Torralba
ed5619498c
WIP: XPath Injection promotion
2021-05-06 09:18:48 +02:00
Jonathan Leitschuh
67e9f06304
[Java] Fix Kryo FP & Kryo 5 Support
...
Closes #4992
2021-05-05 17:38:34 -04:00
ihsinme
976ccda135
Update DeclarationOfVariableWithUnnecessarilyWideScope.ql
2021-05-05 23:34:21 +03:00
ihsinme
b277082462
Update DeclarationOfVariableWithUnnecessarilyWideScope.qhelp
2021-05-05 23:28:04 +03:00
Evgenii Protsenko
330eaea467
C++: SqlPqxxTainted.ql style fixes
2021-05-05 21:48:14 +03:00
Evgenii Protsenko
955d97f6be
C++: Init SqlPqxxTainted.ql
2021-05-05 21:25:36 +03:00
Henry Mercer
a3c57c43c8
Code Scanning selectors: Include summary metrics
2021-05-05 16:38:39 +01:00
Henry Mercer
74c9994305
Code Scanning selectors: Add alert aliases
2021-05-05 16:36:39 +01:00
Shati Patel
059a5f35fa
Merge pull request #5812 from mario-campos/patch-1
...
Add React Native to JavaScript frameworks docs
2021-05-05 16:03:41 +01:00
Erik Krogh Kristensen
4ac21e9f3f
make the .filter step more precise
2021-05-05 14:53:09 +02:00
Rasmus Wriedt Larsen
d50f22504e
Python: Fix .expected
2021-05-05 14:07:15 +02:00
CodeQL CI
69cd9dfb7d
Merge pull request #5826 from erik-krogh/moreLib
...
Approved by esbena
2021-05-05 04:40:49 -07:00
Felicity Chapman
8b2009cfb1
Minor updates to qhelp file
2021-05-05 12:36:29 +01:00
Rasmus Wriedt Larsen
668bfd3a41
Python: Support EC keygen without class-instance for cryptography
...
I also added a new test to show off how what the origin ends up looking
like... I think it looks ok
2021-05-05 12:29:55 +02:00
Erik Krogh Kristensen
ab53f3b380
add array.filter() as a taint-step
2021-05-05 12:03:14 +02:00
Erik Krogh Kristensen
e333267e69
require that the factory function is in a main module file
2021-05-05 12:00:38 +02:00
Erik Krogh Kristensen
fc3f5adbbb
more source code examples in PackageExports.qll
2021-05-05 11:48:41 +02:00
Erik Krogh Kristensen
28eef264e5
recognize the define(..) call in PackageExports.qll
2021-05-05 11:23:25 +02:00
Jonas Jensen
390ee3a6b8
Merge pull request #5829 from MathiasVP/reorder-get-instruction-opcode
...
C++: Reorder getInstructionOpcode
2021-05-05 11:13:15 +02:00
Erik Krogh Kristensen
3ca670146e
remove outdated comment
2021-05-05 11:10:45 +02:00
Rasmus Wriedt Larsen
3ceb8bbcc6
Python: Add cryptography test for EC
...
Apparently, passing in the class (without instantiating it) is allowed
2021-05-05 10:52:57 +02:00
Rasmus Wriedt Larsen
dc4a0c1d38
Python/JS: Fix typo
2021-05-05 10:13:54 +02:00
Mathias Vorreiter Pedersen
066cdb55d7
C++: Add qldoc explaining column order.
2021-05-05 09:30:12 +02:00
Mathias Vorreiter Pedersen
f03c99ab03
Merge pull request #5835 from hmakholm/hmakholm/pr/blowup-fix
...
CPP: fix semi-unused variables in WrongInDetectingAndHandlingMemoryAllocationErrors.q
2021-05-05 08:15:37 +02:00
Henning Makholm
4964ce347b
CPP: fix semi-unused variables in WrongInDetectingAndHandlingMemoryAllocationErrors.ql
...
The fact that `aex` and `it` was each used in just one disjunct of the
exists() body caused the optimizer to generate perfectly horrible
code, including a pointless cartesian product between them that caused
the evaluation to blow up.
Fix it such that each variable is logically scoped. That makes the
compiler much happier.
2021-05-05 02:31:11 +02:00
CodeQL CI
95f26aadd3
Merge pull request #5681 from yoff/python-support-pathlib
...
Approved by tausbn
2021-05-04 09:20:24 -07:00
Robert Marsh
5ee74d269a
Merge pull request #5822 from MathiasVP/more-cwe-tags-in-code-scanning
...
C++: Add more CWE tags to queries in the Code Scanning suite
2021-05-04 09:01:00 -07:00
Timo Müller
a65481d24b
Apply suggestions from code review more precise help text
2021-05-04 17:30:49 +02:00
Timo Müller
65642df1a0
Apply suggestions from code review for help text
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 17:28:34 +02:00
Timo Mueller
152f4862ec
Reworked the references a bit
2021-05-04 16:10:15 +02:00
Timo Mueller
81363a8843
Some better (and more styleguide compliant) descriptions within the query.
2021-05-04 15:57:47 +02:00
Timo Mueller
f7437422c1
InstanceOf check instead of comparing classnames
2021-05-04 15:51:40 +02:00
Timo Mueller
fd52135f29
Removed unnecessary check for type
2021-05-04 15:45:30 +02:00
Timo Mueller
787a4ede85
Fixed file reference in test cases
2021-05-04 15:33:53 +02:00
Timo Mueller
374ed851a0
Fixed file reference in test cases
2021-05-04 15:12:50 +02:00
Mathias Vorreiter Pedersen
d5793418f9
C++: Remove parent CWE tags.
2021-05-04 14:39:23 +02:00
Timo Müller
c476b6c088
Fix accordance to style guide
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 14:00:01 +02:00
Timo Müller
030e2bdd9b
Fix accordance to style guide
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:59:52 +02:00
Timo Müller
ab308b5e9e
Fix accordance to style guide
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:59:43 +02:00
Timo Müller
485a3a139a
Fixed content to confirm with the style guide
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:58:38 +02:00
Timo Müller
45443baf84
Fixed Typo
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:58:00 +02:00
Timo Müller
1fd2be3879
Added more clear reference
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:57:19 +02:00
Timo Müller
7026d82a72
Fixed typo
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:53:14 +02:00
Timo Müller
f28e994121
Update java/ql/src/experimental/Security/CWE/CWE-665/InsecureRmiJmxEnvironmentConfiguration.qhelp
...
More descriptive (and PC) description.
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:52:47 +02:00
CodeQL CI
b160badbf6
Merge pull request #5768 from erik-krogh/cacheMore
...
Approved by esbena
2021-05-04 04:16:15 -07:00
Tony Torralba
6e94dc5b85
Autoformatting
2021-05-04 13:15:20 +02:00
Felicity Chapman
616a57d6d4
Update article with code scanning example
2021-05-04 12:11:18 +01:00
Tamás Vajk
05c045070e
Merge pull request #5810 from tamasvajk/feature/culture
...
C#: Use invariant culture in the extractor
2021-05-04 13:09:38 +02:00
Mathias Vorreiter Pedersen
568724bffd
C#: Fix getInstructionOpcode to make sure IRConstruction.qll compiles for C#.
2021-05-04 13:00:40 +02:00
Marcono1234
ab90fe18fd
Docs: Use GitHub links for guides, improve formatting
2021-05-04 12:35:23 +02:00
Mathias Vorreiter Pedersen
ded377bcd2
C++: Reorder getInstructionOpcode to produce better RA.
2021-05-04 12:13:34 +02:00
Tony Torralba
f79d2e06f9
Fix failing checks
2021-05-04 11:29:09 +02:00
Tamas Vajk
c547907784
C#: Use invariant culture in the extractor
2021-05-04 11:17:33 +02:00
Anders Schack-Mulligen
5bcf810a7c
Merge pull request #5821 from JarLob/patch-1
...
Update UncaughtServletException.qhelp
2021-05-04 10:39:02 +02:00
Anders Schack-Mulligen
9ee9186a1a
Merge pull request #5825 from github/yo-h/java-diagnostic-queries
...
Java: split extractor diagnostics query into two
2021-05-04 10:12:32 +02:00
Erik Krogh Kristensen
aaf754ebf5
recognize more library input
2021-05-04 10:06:14 +02:00
Tony Torralba
6b79ca6403
Fix warning
2021-05-04 09:32:03 +02:00
CodeQL CI
6931d9a6f7
Merge pull request #5785 from edvraa/httponlyjs
...
Approved by esbena
2021-05-03 23:14:26 -07:00
luchua-bc
703fbf139a
Add more methods and update the library name
2021-05-04 02:54:49 +00:00
yo-h
edf1a90161
Java: split extractor diagnostics query into two
2021-05-03 20:27:07 -04:00
edvraa
6fa2f1e653
update test message
2021-05-04 00:32:01 +03:00
Jonathan Leitschuh
dfad1fc740
[Java] Add support for com.google.common.base.MoreObjects#firstNonNull
2021-05-03 12:58:00 -04:00
Taus
483199878d
Merge pull request #5793 from RasmusWL/fix-qldoc
...
Python: Minor fix to Django RawSQL QLDoc
2021-05-03 18:18:02 +02:00
Tony Torralba
e68c6e66a5
Remove qlref file
2021-05-03 17:53:37 +02:00
Tony Torralba
745a6f6fb4
Getters called on parameters propagate taint
2021-05-03 17:43:33 +02:00
Mathias Vorreiter Pedersen
2912c2e7f5
C++: Add more CWE tags to queries in the code scanning suite.
2021-05-03 16:58:47 +02:00
Edwin
27c680e28b
Apply suggestions from code review
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-05-03 16:41:09 +03:00
Jaroslav Lobačevski
38bce39baa
Update UncaughtServletException.qhelp
...
There is no single word in https://cwe.mitre.org/data/definitions/600.html about possible DoS or unexpected state.
2021-05-03 15:06:57 +03:00
Tony Torralba
4d5ec87de9
Use InlineTest
2021-05-03 13:27:24 +02:00
Tony Torralba
4bfd34b1fe
Moved from experimental
2021-05-03 13:15:24 +02:00
edvraa
cef845ac47
Support string expressions
2021-05-03 13:46:56 +03:00
Tony Torralba
38e052482c
More csv sinks and sources
2021-05-03 12:44:53 +02:00
edvraa
ea38f0d3bd
a new test for simple flow
2021-05-03 12:19:05 +03:00
edvraa
000826af11
typo
2021-05-03 12:18:43 +03:00
Tom Hvitved
182b2d0457
C#: Improve CFG for constructors when there are multiple implementations
2021-05-03 10:46:36 +02:00
Tom Hvitved
633f228dc2
C#: Add CFG tests for partial classes
2021-05-03 10:23:29 +02:00
Tom Hvitved
bb1cb73675
Merge pull request #5795 from hvitved/csharp/implicit-constructor-inits
...
C#: Extract implicit constructor initializer calls
2021-05-03 10:21:04 +02:00
Tom Hvitved
b77b3da8d6
C#: Add change note
2021-05-03 09:40:13 +02:00
Jonas Jensen
c05ef1225c
Merge pull request #5803 from MathiasVP/no-magic-in-getUnspecifiedType
...
C++: Add nomagic to getUnspecifiedType
2021-05-03 09:03:58 +02:00
edvraa
65183cde80
Move to experimental
2021-05-03 09:59:52 +03:00
edvraa
bd99114cd6
Comments added
2021-05-03 09:55:04 +03:00
luchua-bc
4709e8139d
JPython code injection
2021-05-03 01:43:56 +00:00
edvraa
a24c1c8114
fix comment
2021-05-03 00:36:38 +03:00
edvraa
fa94fedfc3
simple dataflow for sensitive name
2021-05-03 00:36:26 +03:00
edvraa
97bc7e38d2
check for sensitive property name
2021-05-03 00:31:29 +03:00
edvraa
7ab91bb185
Inline getOptionsArgument
2021-05-03 00:09:15 +03:00
ihsinme
bb97507ebc
Update test.c
2021-05-02 22:59:56 +03:00
ihsinme
21f43252e6
Update DeclarationOfVariableWithUnnecessarilyWideScope.expected
2021-05-02 22:59:04 +03:00
ihsinme
0935c5a0f2
Update DeclarationOfVariableWithUnnecessarilyWideScope.ql
2021-05-02 22:58:30 +03:00
ihsinme
8c3980d80b
Update cpp/ql/src/experimental/Security/CWE/CWE-1126/DeclarationOfVariableWithUnnecessarilyWideScope.c
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-05-02 22:54:43 +03:00
Tony Torralba
53e04d0d96
Refactor to CSV sink model
2021-04-30 17:53:43 +02:00
Mario Campos
ae857db657
Add React Native to JavaScript frameworks
...
According to @asgerf, React Native is already supported 🎉
2021-04-30 10:47:08 -05:00
Timo Mueller
c22eeacbfc
Fixed accidential double init of variable
2021-04-30 16:28:56 +02:00
Timo Mueller
61d053f6b3
Fixed missing metadata description
2021-04-30 16:28:17 +02:00
Timo Mueller
15a3068f8a
Added query for insecure environment configuration RMI JMX (CVE-2016-8735)
2021-04-30 16:23:17 +02:00
Chris Smowton
b2c0259197
Merge pull request #5631 from haby0/UseOfLessTrustedSource
...
[Java] CWE-348: Using a client-supplied IP address in a security check
2021-04-30 15:20:53 +01:00
haby0
fdcc517b9f
UseOfLessTrustedSource -> ClientSuppliedIpUsedInSecurityCheck"
2021-04-30 17:43:34 +08:00
haby0
f41301f8f5
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.java
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-30 16:55:17 +08:00
haby0
0691cac5ab
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSourceLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-30 16:54:41 +08:00
haby0
8142810455
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-30 16:54:28 +08:00
Tom Hvitved
ecd40e5cae
Merge pull request #5808 from intrigus-lgtm/fix-lambda-typos
...
Fix typo.
2021-04-30 09:08:28 +02:00
haby0
711a74c9c9
Eliminate false positives\
2021-04-30 10:31:40 +08:00
intrigus
08731fc6cf
Fix typo.
2021-04-29 20:26:34 +02:00
Jorge
bd4b189373
Polish documentation consistency
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-29 16:26:28 +02:00
Chris Smowton
ad9ea40954
Merge pull request #5597 from intrigus-lgtm/java/jwt-insecure-parse
...
[Java] JWT without signature check.
2021-04-29 14:41:11 +01:00
Geoffrey White
c4069362ce
Merge pull request #5804 from MathiasVP/improve-detect-and-handle-memory-allocation-errors
...
C++: Improve qhelp and tests for cpp/detect-and-handle-memory-allocation-errors
2021-04-29 14:34:41 +01:00
haby0
e813257431
use hardCode
2021-04-29 21:23:52 +08:00
Anders Schack-Mulligen
404a6c1506
Merge pull request #5805 from smowton/smowton/admin/spring-setter-method-docs
...
Document `SpringProperty::getSetterMethod`.
2021-04-29 15:10:58 +02:00
Anders Schack-Mulligen
c78285e557
Merge pull request #5784 from Marcono1234/marcono1234/switch-expr-stmt-parent
...
Java: Add StmtParent as superclass of SwitchExpr
2021-04-29 15:02:05 +02:00
Tom Hvitved
c3890a9435
C#: Adjust CFG for instance constructors
2021-04-29 14:05:42 +02:00
Tom Hvitved
ee62522c51
C#: Extract implicit constructor initializer calls
2021-04-29 14:05:42 +02:00
Mathias Vorreiter Pedersen
c67ab8f1f0
C++: Respond to review comments.
2021-04-29 14:01:04 +02:00
Chris Smowton
2787c2f874
Document SpringProperty::getSetterMethod.
2021-04-29 12:28:26 +01:00
Mathias Vorreiter Pedersen
e81b40978e
C++: Improve the description tag.
2021-04-29 12:10:29 +02:00
Arthur Baars
6693c5bdd0
Merge pull request #5395 from tausbn/python-share-typetracker
...
Python: Make the type tracking implementation shareable
2021-04-29 12:06:12 +02:00
Mathias Vorreiter Pedersen
9e39b08325
C++: Improve the qhelp for cpp/detect-and-handle-memory-allocation-errors.
2021-04-29 11:58:36 +02:00
Mathias Vorreiter Pedersen
44de127bff
C++: Extend and improve the testcases for cpp/detect-and-handle-memory-allocation-errors.
2021-04-29 11:57:43 +02:00
Rasmus Wriedt Larsen
af0723c185
Merge pull request #5656 from asgerf/js/files-diagnostics
...
JS: Add file diagnostics queries
2021-04-29 11:53:11 +02:00
CodeQL CI
84d43946de
Merge pull request #5755 from RasmusWL/non-alert-data-part1
...
Approved by tausbn
2021-04-29 02:51:34 -07:00
jorgectf
213d011a8c
Edit code example in CompiledRegex
...
Signed-off-by: jorgectf <jorgectf@protonmail.com >
2021-04-29 11:10:03 +02:00
Mathias Vorreiter Pedersen
39c7816ede
C++: Dont allow magic in getUnspecifiedType.
2021-04-29 10:09:46 +02:00
Tom Hvitved
0cb826a511
Merge pull request #5797 from hvitved/cpp/has-multi-scope-node-noinline
...
C++: Do not inline `Dominance::hasMultiScopeNode`
2021-04-29 09:51:05 +02:00
CodeQL CI
3240536d0e
Merge pull request #5798 from erik-krogh/trackLoc
...
Approved by esbena
2021-04-29 00:45:21 -07:00
Aditya Sharad
4d2db08934
Merge pull request #5801 from github/aeisenberg/fix-codescanning
...
Actions: Fix code scanning workflow
2021-04-28 15:21:43 -07:00
Andrew Eisenberg
0376a13dd8
Actions: Fix code scanning workflow
2021-04-28 15:05:13 -07:00
intrigus
a8865e2fa2
Java: Cleanup jwt stubs.
2021-04-28 20:46:09 +02:00
Erik Krogh Kristensen
dfd63e5d5a
track window object to where .location is read
2021-04-28 18:52:00 +02:00
Shati Patel
d288b9216e
Merge pull request #5790 from github/cklin-find-the-thief-conditions-sync
...
Fix inconsistency in the find-the-thief exercise
2021-04-28 17:16:58 +01:00
CodeQL CI
9c5ad44e27
Merge pull request #5782 from erik-krogh/domFP
...
Approved by esbena
2021-04-28 09:12:00 -07:00
Rasmus Lerchedahl Petersen
16bde2729d
Python: add flow from methods to calls
2021-04-28 17:02:24 +02:00
Tom Hvitved
058925cca9
C++: Do not inline Dominance::hasMultiScopeNode
2021-04-28 16:50:08 +02:00
yoff
73521e22de
Merge pull request #5791 from tausbn/python-limit-absolute-imports
...
Python: Limit absolute imports
2021-04-28 16:22:08 +02:00
Tom Hvitved
c35a2b959a
Python: Update data-flow caching
2021-04-28 14:49:05 +02:00
Tom Hvitved
e8347c2c20
C++: Update data-flow caching
2021-04-28 14:49:05 +02:00
Erik Krogh Kristensen
902a4368a1
assume that all pipe elements that return something, return outputs
2021-04-28 12:36:07 +02:00
Erik Krogh Kristensen
2f14a6218a
generalize RxJS pipes
2021-04-28 12:26:02 +02:00
Rasmus Wriedt Larsen
baa926359e
Python: Minor fix to Django RawSQL QLDoc
2021-04-28 12:18:27 +02:00
Rasmus Wriedt Larsen
8b9c5f8228
Python/JS: Remove "Only added to aid with internal rewrite"
2021-04-28 11:50:06 +02:00
Erik Krogh Kristensen
d5450f1df6
use isWildcardLike in MetacharEscapeSanitizer
2021-04-28 11:46:50 +02:00
Erik Krogh Kristensen
d07c71c99d
unlimited repetition of a wildcard is also a wildcard
2021-04-28 11:46:35 +02:00
Erik Krogh Kristensen
160fa148f1
move InfiniteRepetitionQuantifier to Regexp.qll
2021-04-28 11:39:28 +02:00
Erik Krogh Kristensen
e60628d463
add global replacements using inverted char classes as a sanitizer for DOM based XSS
2021-04-28 11:29:30 +02:00
Rasmus Wriedt Larsen
f2b4e31e7f
Python: Make Diagnostics tests pass
...
I had comitted a bad .expected file it seems, and since the encoding for UTF-8
is named differently from Python 2 to Python 3, we're only going to run the test
for one version.
2021-04-28 10:21:59 +02:00
Tamás Vajk
310baab73f
Merge pull request #5740 from tamasvajk/feature/diag
...
C#: Add extraction error diagnostic query
2021-04-28 08:46:35 +02:00
haby0
b0f745365d
Node type restriction
2021-04-28 14:32:25 +08:00
Taus
4ae3a23089
Python: Limit absolute imports
...
Limits the behaviour of github/codeql#5614 in two ways:
First, we only consider files that are contained in the source archive.
This prevents unnecessary computation involving files in e.g. the
standard library.
Secondly, we ignore any relative imports (e.g. `from .foo import ...`),
as these only work inside packages anyway.
This fixes an observed performance regression on projects that include
`google-cloud-sdk` as part of their source code.
2021-04-27 21:47:38 +00:00
CodeQL CI
2b9fb79b1d
Merge pull request #5786 from erik-krogh/anser
...
Approved by esbena
2021-04-27 14:40:48 -07:00
Chuan-kai Lin
c27363cea5
Fix inconsistencies in information about the thief
...
The find-the-thief exercise is inconsistent. The first part lists 10 answered questions about the thief, but later discussion silently adds a new question as question 8, so there are a total of 11 answered questions.
This commit updates the first list of answered questions so that it matches later discussions and the sample solution.
2021-04-27 13:57:16 -07:00
Mathias Vorreiter Pedersen
0f141edbc3
Merge pull request #5737 from dbartol/dbartol/smart-pointers/work
...
C++: IR Alias Analysis for smart pointers
2021-04-27 21:40:14 +02:00
jorgectf
21e01b809f
Add code example in CompiledRegex
...
Signed-off-by: jorgectf <jorgectf@protonmail.com >
2021-04-27 19:54:42 +02:00
jorgectf
8a800986a2
Remove unused class variables
...
Signed-off-by: jorgectf <jorgectf@protonmail.com >
2021-04-27 19:54:42 +02:00
jorgectf
20b532ec5e
Update to-cast sink's naming
...
Signed-off-by: jorgectf <jorgectf@protonmail.com >
2021-04-27 19:54:41 +02:00
Jorge
c0c71c509c
Apply suggestions from code review
...
Update `RegexExecution` docs and use `flowsTo()` instead of `getALocalSource()`.
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-27 19:54:41 +02:00
jorgectf
c4322848ec
Polish qhelp
2021-04-27 19:54:40 +02:00
jorgectf
12ccd7e3b6
Update .expected
2021-04-27 19:54:39 +02:00
jorgectf
05ee853c4e
Remove wrong comment
2021-04-27 19:54:39 +02:00
jorgectf
3fae3fd93e
Take ApiGraphs out of Concepts.qll
2021-04-27 19:54:39 +02:00
jorgectf
6a20a4dcc3
Add newline to qhelp
2021-04-27 19:54:38 +02:00
jorgectf
d968eea914
Move expected to /test
2021-04-27 19:54:38 +02:00
jorgectf
81d23c066c
Move tests and qlref from /src to /test
2021-04-27 19:54:37 +02:00
jorgectf
d401d18e71
Add .expected and qlref
2021-04-27 19:54:36 +02:00
jorgectf
ec85ee4537
Sink's predicate typo
2021-04-27 19:54:36 +02:00
jorgectf
03825a6052
Add comment to Sink's predicates
2021-04-27 19:54:36 +02:00
jorgectf
fc27c6c547
Fix RegexExecution ambiguity
2021-04-27 19:54:35 +02:00
jorgectf
3655514924
Fix ambiguity
2021-04-27 19:54:35 +02:00
jorgectf
b6721971dd
Improve code comments
2021-04-27 19:54:35 +02:00
jorgectf
d4a89b2fd8
Fix qhelp typo while converting to python's regex injection
2021-04-27 19:54:34 +02:00
jorgectf
d49c23fe67
Improve tests' readability
2021-04-27 19:54:34 +02:00
jorgectf
0e169ba10e
Format qhelp
2021-04-27 19:54:33 +02:00
jorgectf
c54f08f33a
Improve qhelp
2021-04-27 19:54:33 +02:00
jorgectf
66ee67a781
Polished select statement
2021-04-27 19:54:32 +02:00
jorgectf
f75110365f
Fix Sink utilization in select
2021-04-27 19:54:32 +02:00
jorgectf
a5850f4a99
Use getRegexModule to know used lib
2021-04-27 19:54:31 +02:00
jorgectf
e78e2ac266
Get rid of (get)regexMethod
2021-04-27 19:54:30 +02:00
jorgectf
18ce257fc8
Move RegexInjectionSink to query config (qll)
2021-04-27 19:54:29 +02:00
jorgectf
53d61c4fb6
Use custom Sink
2021-04-27 19:54:29 +02:00
jorgectf
36cc7b5e3f
Fix CompiledRegex
2021-04-27 19:54:28 +02:00
jorgectf
35f1c45d32
Change from Attribute to DataFlow::CallCfgNode in getRegexMethod()
2021-04-27 19:54:28 +02:00
jorgectf
c127b109d0
Create re.compile().ReMethod test
2021-04-27 19:54:27 +02:00
jorgectf
be09ffec3f
Create RegexEscape Range
2021-04-27 19:54:27 +02:00
jorgectf
805f86a5cf
Polish RegexEscape
2021-04-27 19:54:26 +02:00
jorgectf
3d990c5950
Get back to ApiGraphs
2021-04-27 19:54:26 +02:00
jorgectf
30554a16da
Format
2021-04-27 19:54:24 +02:00
jorgectf
ee1d2b645b
Delete DirectRegex and CompiledRegex
2021-04-27 19:54:24 +02:00
jorgectf
ce23db2e9c
Move Sanitizer to ReEscapeCall
2021-04-27 19:54:23 +02:00
jorgectf
b5ea41fcca
Fix CompiledRegex
2021-04-27 19:54:22 +02:00
jorgectf
d61adccd3c
Take main Concepts.qll out of the PR
2021-04-27 19:54:22 +02:00
jorgectf
a1a3c98d92
Undo main Concepts.qll change
2021-04-27 19:54:21 +02:00
jorgectf
28fdeba4fa
Structure development
2021-04-27 19:54:20 +02:00
jorgectf
444a15a461
Polish imports
2021-04-27 19:54:20 +02:00
Jorge
0f20eeb395
Apply suggestions
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-27 19:54:19 +02:00
Jorge
b27b77c38f
Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-27 19:54:18 +02:00
Jorge
249e4097e3
Change query ID
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-27 19:54:17 +02:00
jorgectf
b207929e0a
RegexExecution restructuring
2021-04-27 19:54:16 +02:00
jorgectf
3daec8e6a2
Enclose Sinks and ReMethods in a module
2021-04-27 19:54:15 +02:00
jorgectf
caaf5436c6
Attempt to restructuring ReMethods and RegexExecution's modules
2021-04-27 19:54:14 +02:00
jorgectf
6d5a0f2f84
Limit Sanitizer to re.escape(arg)
2021-04-27 19:54:13 +02:00
jorgectf
a1b5cc3bc6
Typo
2021-04-27 19:54:13 +02:00
jorgectf
e4736d064e
Typo
2021-04-27 19:54:12 +02:00
jorgectf
f45307f990
Apply rebase
2021-04-27 19:54:12 +02:00
jorgectf
5dae920783
Edit filenames to match consistent naming
2021-04-27 19:54:11 +02:00
jorgectf
63f708dd57
Apply suggestions
2021-04-27 19:54:10 +02:00
Jorge
6cc714464c
Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-27 19:54:09 +02:00
jorgectf
21f8135fa6
Move to experimental folder
2021-04-27 19:54:08 +02:00
jorgectf
afc4f51e9c
Remove CWE references
2021-04-27 19:54:07 +02:00
jorgectf
bd3d2ec686
Update to match consistent naming across languages
2021-04-27 19:54:07 +02:00
jorgectf
7adc3c2fba
Upload ReDoS query, qhelp and tests
2021-04-27 19:54:05 +02:00
edvraa
5eb96c1e45
Remove Class cast
2021-04-27 20:26:29 +03:00
Tom Hvitved
bd0a196a39
Java: Update data-flow caching
2021-04-27 19:06:39 +02:00
Tom Hvitved
befc80b3cb
C#: Update data-flow caching
2021-04-27 19:06:39 +02:00
Tom Hvitved
914184f3dd
Data flow: Sync files
2021-04-27 19:06:39 +02:00
Tom Hvitved
0c8886967b
Data flow: Cache nodeIsHidden
2021-04-27 19:05:11 +02:00
Tom Hvitved
1112c0f994
Data flow: Cache ParameterNode
2021-04-27 19:05:11 +02:00
Tom Hvitved
7d4feaca2f
Data flow: Cache ArgumentNode
2021-04-27 19:05:11 +02:00
Tom Hvitved
ade99c2c2b
Data flow: Cache Cast(ing)Node
2021-04-27 19:05:11 +02:00
Tom Hvitved
346af4f97a
Data flow: Cache ReturnNodeExt
2021-04-27 19:05:10 +02:00
Tom Hvitved
9738de2cb9
Data flow: Cache OutNodeExt
2021-04-27 19:05:10 +02:00
Tom Hvitved
23113c4ff7
Data flow: Cache isUnreachableInCall
2021-04-27 19:05:10 +02:00
Tom Hvitved
1bf0e01a83
Data flow: Cache clearsContent
2021-04-27 19:05:10 +02:00
Tom Hvitved
4009c01558
Data flow: Cache readStep
2021-04-27 19:05:10 +02:00
Tom Hvitved
96aa182893
Data flow: Cache jumpStep
2021-04-27 19:05:10 +02:00
Tom Hvitved
8bfeae768f
Data flow: Cache simpleLocalFlowStep
2021-04-27 19:05:10 +02:00
Tom Hvitved
1a56f0b79c
Data flow: Cache getNodeType
2021-04-27 19:05:10 +02:00
Tom Hvitved
044c92016b
Data flow: Cache enclosing callable predicates
2021-04-27 19:05:09 +02:00
Tom Hvitved
37377644c9
Merge pull request #5781 from hvitved/java/predictable-seed-df6
...
Java: Use separate data-flow copy for `PredictableSeedFlowConfiguration`
2021-04-27 19:01:55 +02:00
Andrew Eisenberg
c6db90e9b7
Merge pull request #5775 from aeisenberg/aeisenberg/codeql-action-main
...
Actions: Use the main branch of the codeql action
2021-04-27 09:36:33 -07:00
Tamás Vajk
4cc88662e2
Merge pull request #5557 from tamasvajk/feature/java-sinks-csv
...
Java: convert sinks to CSV
2021-04-27 15:58:09 +02:00
Erik Krogh Kristensen
9178f4b1c5
add support for the anser library
2021-04-27 15:57:17 +02:00
Tamas Vajk
51e08d4940
Fix error severity
2021-04-27 15:47:16 +02:00
edvraa
3aec9c1a41
Cookies without HttpOnly
2021-04-27 16:28:32 +03:00
Marcono1234
05ce49adaf
Java: Add StmtParent as superclass of SwitchExpr
...
Database type `@stmtparent` already includes `@switchexpr`, this commit merely
changes the class SwitchExpr to also accordingly extend StmtParent.
2021-04-27 15:17:55 +02:00
Tamas Vajk
5b79094f34
Fix naming in HTTPS URL check
2021-04-27 14:59:52 +02:00
Rasmus Wriedt Larsen
523ed8272d
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-27 14:42:05 +02:00
yoff
0509a12790
Merge pull request #5770 from tausbn/python-small-api-graph-fix
...
Python: Use only `TApiNode` in `API::Impl`
2021-04-27 14:06:09 +02:00
Geoffrey White
afa89256c5
Merge pull request #5780 from MathiasVP/cleanup-missingGuard-predicates-after-range-analysis-fix
...
C++: Cleanup missingGuardAgainstOverflow
2021-04-27 12:56:10 +01:00
Chris Smowton
64a2320be7
Merge pull request #5757 from smowton/smowton/admin/fix-dead-qhelp-links
...
Fix all dead qhelp links
2021-04-27 12:17:08 +01:00
Tom Hvitved
2e266c7ddd
Merge pull request #5756 from hvitved/csharp/string-builder-fluent
...
C#: Add missing `StringBuilder` flow summaries
2021-04-27 11:24:56 +02:00
Tom Hvitved
fb606112fa
Merge pull request #5754 from hvitved/csharp/guards/performance
...
C#: Improve performance of guards library
2021-04-27 10:53:01 +02:00
Tamas Vajk
e08b629cb5
Add documentation for URL opening sinks
2021-04-27 10:32:41 +02:00
Tom Hvitved
017beb6786
Java: Use separate data-flow copy for PredictableSeedFlowConfiguration
2021-04-27 10:07:33 +02:00
CodeQL CI
79ed94b22c
Merge pull request #5779 from erik-krogh/updateJSAndTSVersionDoc
...
Approved by esbena
2021-04-27 00:51:58 -07:00
Mathias Vorreiter Pedersen
04a785b9fb
C++: Accept test changes.
2021-04-27 09:43:27 +02:00
Mathias Vorreiter Pedersen
a41e9055c5
C++: Delete the fix that was introduced in bb447d7174. This is no longer needed after #5678 .
2021-04-27 09:43:02 +02:00
Mathias Vorreiter Pedersen
05d693e3bb
C++: Also include the assignment versions in exprThatCanOverflow.
2021-04-27 09:41:13 +02:00
Rasmus Wriedt Larsen
37db21d269
Merge pull request #5284 from yoff/python-port-insecure-protocol
...
Python: port py/insecure-protocol
2021-04-27 09:30:18 +02:00
ihsinme
0c3e2b9ab7
Update test.c
2021-04-27 10:11:32 +03:00
Erik Krogh Kristensen
0b322a3143
update JS/TS versions to reflect supported versions
2021-04-27 08:53:15 +02:00
haby0
5be9fbbc5a
Remove LogOperationSink and PrintSink
2021-04-27 14:12:33 +08:00
ihsinme
c31a761750
Add files via upload
2021-04-26 23:05:08 +03:00
ihsinme
b7de370918
Add files via upload
2021-04-26 23:04:08 +03:00
Andrew Eisenberg
0e53ad33f6
Actions: Add permissions block to code scanning workflow
2021-04-26 10:53:29 -07:00
Geoffrey White
0e7eeb3051
Merge pull request #5678 from MathiasVP/sound-expr-might-overflow-predicate
...
C++: Make exprMightOverflowPositively sound for unanalyzable expressions
2021-04-26 17:38:23 +01:00
Andrew Eisenberg
3670c729c0
Actions: Use the main branch of the codeql action
...
This commit switches to the bleeding edge, main branch of the
codeql action. This helps us test the action before merging all
of the new changes into main, which occurs roughly once a week.
If there are commits that introduce bugs in codeql-action, then
we will be more likely to catch it before releasing to the world
if we are using it in this extension.
2021-04-26 08:43:28 -07:00
Taus
3889c8afec
Python: Use only TApiNode in API::Impl
...
This ensures that changes to `API::Node` does not invalidate the cached
`module Impl`. At present, I don't expect this to have any effect (as
the `Node` class is also fairly static, though not explicitly cached),
but I can imagine us making some of the `Node` methods have
user-extensible behaviour, in which case we definitely do not want this
to result in reevaluation of `API::Impl`.
2021-04-26 13:10:15 +00:00
Shati Patel
a09c12acfe
Merge pull request #5537 from alexet/ambig-super
...
Docs: Update the language specification for changes to super.
2021-04-26 13:34:50 +01:00
Hayk Andriasyan
7455b1b4f0
Update JSchOSInjectionSanitized.java
2021-04-26 15:17:57 +04:00
p0wn4j
3d891f0b39
[Java] CWE-078: Add JSch OS command injection sink
2021-04-26 18:20:32 +04:00
Chris Smowton
d717fc7b1f
Use Microsoft archive of vijaysk's blog
2021-04-26 10:13:04 +01:00
Tom Hvitved
824c243268
C#: Add change note
2021-04-26 10:50:17 +02:00
Mathias Vorreiter Pedersen
772d5eacca
C++: Add change note.
2021-04-26 09:55:32 +02:00
Erik Krogh Kristensen
4e8ae77b6f
cache more predicates
2021-04-26 08:57:20 +02:00
ihsinme
98f7f70814
Add files via upload
2021-04-25 22:35:40 +03:00
ihsinme
50c63a88c3
Add files via upload
2021-04-25 22:34:41 +03:00
ihsinme
c1d125b378
Add files via upload
2021-04-25 22:25:17 +03:00
ihsinme
f2b2300da9
Add files via upload
2021-04-25 22:23:31 +03:00
intrigus
b1a3633495
Java: Remove redundant condition + docs.
2021-04-23 22:06:04 +02:00
Rasmus Lerchedahl Petersen
7cc97836a9
Python: More cleanup from reviewer suggestions
2021-04-23 20:26:13 +02:00
Chris Smowton
78b9682a4e
Fix dead links in JS externs too
2021-04-23 15:46:48 +01:00
Tamás Vajk
a7030c7fed
Merge pull request #5308 from tamasvajk/feature/flow-sources-sinks
...
C#: Add Console.Read* to local flow sources
2021-04-23 16:36:16 +02:00
Tamás Vajk
c3058f4744
Merge pull request #5749 from tamasvajk/feature/fix-fromsource
...
C#: Adjust 'fromSource' to hold only on files passed to the compiler as a source file
2021-04-23 16:35:40 +02:00
Chris Smowton
455b840712
Fix all dead qhelp links
...
For those documents with no obvious new home I've pointed the links to the Internet Archive.
2021-04-23 15:20:21 +01:00
Tom Hvitved
004450b201
C#: Add missing StringBuilder flow summaries
2021-04-23 16:17:49 +02:00
Mathias Vorreiter Pedersen
86822f6c61
C++: Exclude pointer results from cpp/integer-overflow-tainted.
2021-04-23 16:01:53 +02:00
Mathias Vorreiter Pedersen
3cf4f1f956
C++: Accept test changes.
2021-04-23 16:00:23 +02:00
Shati Patel
6f2103f312
Merge pull request #5722 from github/tamasvajk-patch-1
...
C#: Add Dapper to supported frameworks
2021-04-23 14:32:22 +01:00
Jonas Jensen
9b5bb95766
Merge pull request #5696 from jbj/reapply-inconsistency-workaround
...
Revert "Revert "C++: Work around extractor issue CPP-383""
2021-04-23 14:49:32 +02:00
Asger Feldthaus
0da0670a79
JS: Add Nest.js to list of supported framworks
2021-04-23 13:15:35 +01:00
Asger Feldthaus
71e3041370
JS: Fewer spurious reflected xss sinks
2021-04-23 13:15:35 +01:00
Asger Feldthaus
4f53a1ab40
JS: Cache ClassNode::Range
2021-04-23 13:15:35 +01:00
Asger Feldthaus
d0b8b32345
JS: Add change notes
2021-04-23 13:15:35 +01:00
Asger Feldthaus
671e968936
JS: Model NestJS
2021-04-23 13:15:35 +01:00
Anders Schack-Mulligen
bc8c55836a
Merge pull request #5743 from aschackmull/java/flow-summary-tweaks
...
Java/C#: Move a couple of flow summary tweaks to the shared implementation.
2021-04-23 13:46:04 +02:00
Tamas Vajk
1b4c3c7415
Fix code review findings
2021-04-23 13:44:34 +02:00
Tamás Vajk
819be43ce7
Fix alphabetical order of supported frameworks
2021-04-23 13:41:59 +02:00
Tamas Vajk
b4bd7af9c8
Add change note
2021-04-23 13:40:12 +02:00
Tamas Vajk
e3f10c0e32
Cleanup DiagnosticError classes
2021-04-23 13:37:42 +02:00
Rasmus Wriedt Larsen
deb3db3f95
Python: Add non-alert data for extractor diagnostics
...
This is basically just a port of the C++/JS queries added in:
- https://github.com/github/codeql/pull/5414 (C++)
- https://github.com/github/codeql/pull/5656 (JS)
SyntaxError should capture all errors we have information about. At least in
`python/ql/src/semmlecode.python.dbscheme` the only match for `error` is
`py_syntax_error_versioned` (which `SyntaxError` is based on).
2021-04-23 13:29:44 +02:00
Rasmus Wriedt Larsen
354dee1b09
Python: Add non-alert data for lines of code
...
`py/summary/lines-of-code` is just a port of the C++/JS queries added in:
- https://github.com/github/codeql/pull/5271 (C++)
- https://github.com/github/codeql/pull/5304 (JS)
We are the first to implement the `lines-of-user-code` query, so nothing to
compare with in other languages -- but it makes a lot of sense to do for Python 👍
2021-04-23 13:22:18 +02:00
Asger Feldthaus
109d1ad27f
JS: Model fs.promises
2021-04-23 11:59:48 +01:00
Asger Feldthaus
822d4525af
JS: Drive-by change in LogInjection
2021-04-23 11:59:48 +01:00
Asger Feldthaus
ad12f383d9
JS: Reduce reliance on RouteHandler in Express model
2021-04-23 11:59:48 +01:00
Tamás Vajk
43dc9bbc94
Merge pull request #5744 from tamasvajk/feature/java-loc
...
Java: Introduce LoC summary metric query
2021-04-23 11:39:42 +02:00
Mathias Vorreiter Pedersen
e6077127be
C++: Only unary and binary arithmetic operations and left shifts are now
...
reported as overflowing when we cannot analyze them.
2021-04-23 11:13:34 +02:00
Tom Hvitved
956507b5fa
C#: Add guards stress test
2021-04-23 10:25:31 +02:00
yoff
1954c0ba84
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-23 10:20:18 +02:00
Tom Hvitved
4c597dd467
C#: Improve performance of guards library
2021-04-23 10:09:43 +02:00
Jonas Jensen
6de5b3021e
C++: Replace Jira ticket reference with GH issue
2021-04-23 09:58:39 +02:00
Jonas Jensen
6e059ea002
C++: Remove reference to obsolete issue CPP-383
2021-04-23 09:58:15 +02:00
Shati Patel
96a4d91a6c
Merge pull request #5731 from shati-patel/docs/unbind-pragmas
...
Docs: New "directional binding" pragmas
2021-04-23 08:37:02 +01:00
intrigus
98dcd4e52b
Java: Tighten definition of sink.
2021-04-23 00:14:48 +02:00
CodeQL CI
635fb4c25a
Merge pull request #5685 from erik-krogh/markdownIt
...
Approved by asgerf
2021-04-22 14:55:31 -07:00
intrigus
a385b30c29
Java: Factor common expr into class.
2021-04-22 23:51:27 +02:00
intrigus-lgtm
958e2fab05
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-22 23:36:17 +02:00
Dave Bartolomeo
3b04bedee0
Stub out additional bits of Alias model for C#
2021-04-22 17:19:00 -04:00
Dave Bartolomeo
5d0a4cae90
C++: Add {AllAliased} side effects for smart pointers
...
Smart pointer constructors, assignments, and `reset()` can actually have fairly large side effects, especially with custom deleters, destructors for objects being destroyed, and so on. I've re-introduced `{AllAliased}` side effects for these functions. There was no immediate effect on analysis results.
2021-04-22 16:51:36 -04:00
Taus
3e4ff9e472
Merge pull request #5742 from RasmusWL/django-3.2
...
Python: Add support for new features in Django 3.2
2021-04-22 17:39:02 +02:00
Rasmus Wriedt Larsen
f9383a31bf
Python: Fix BrokenCryptoAlgorithm.qhelp
2021-04-22 15:58:28 +02:00
Rasmus Wriedt Larsen
222c087e8c
Python: Remove type-tracking performance workaround
...
Since we shouldn't need it anymore (yay)
2021-04-22 15:31:49 +02:00
Rasmus Wriedt Larsen
b82209964a
Python: Add change-note for new weak crypto queries
2021-04-22 15:23:42 +02:00
Rasmus Wriedt Larsen
fc1a6d0e32
Python: Say salting is not part of py/weak-sensitive-data-hashing
2021-04-22 15:23:41 +02:00
Rasmus Wriedt Larsen
ac83c695ad
Python: Add py/weak-sensitive-data-hashing query
2021-04-22 15:23:41 +02:00
Rasmus Wriedt Larsen
499adc26a3
Python: Extend SensitiveDataSource tests
...
Now it contains all the sort of things we actually support 👍
2021-04-22 15:23:40 +02:00
Rasmus Wriedt Larsen
794a86a6b0
Python: Add SensitiveDataSource
2021-04-22 15:23:39 +02:00
Rasmus Wriedt Larsen
56c409737d
Python: Port py/weak-cryptographic-algorithm
...
The other query (py/weak-sensitive-data-hashing) is added in future commit
2021-04-22 15:23:38 +02:00
Rasmus Wriedt Larsen
59edd18c34
Python: Move framework test-files out of experimental
...
This PR was rebased on newest main, but was written a long time ago when all the
framework test-files were still in experimental. I have not re-written my local
git-history, since there are MANY updates to those files (and I dare not risk
it).
2021-04-22 15:23:37 +02:00
Rasmus Wriedt Larsen
1616975e06
Python: Model hashlib from standard library
2021-04-22 15:23:37 +02:00
Rasmus Lerchedahl Petersen
5a4e661e60
Merge branch 'main' of github.com:github/codeql into python-support-pathlib
2021-04-22 15:04:21 +02:00
CodeQL CI
bdb41423e2
Merge pull request #5748 from asgerf/js/rate-limiting-fixes
...
Approved by erik-krogh
2021-04-22 05:56:50 -07:00
Rasmus Wriedt Larsen
7ffbfa8043
Python: Expand stdlib md5 tests with keyword-arguments
2021-04-22 14:51:20 +02:00
Rasmus Wriedt Larsen
fa88f22453
Python: Model hashing operations in cryptography package
2021-04-22 14:51:20 +02:00
Rasmus Wriedt Larsen
c5f826580b
Python: Model encrypt/decrypt in cryptography package
...
I introduced a InternalTypeTracking module, since the type-tracking code got so
verbose, that it was impossible to get an overview of the relevant predicates.
(this means the "first" type-tracking predicate that is usually private, cannot
be marked private anymore, since it needs to be exposed in the private module.
2021-04-22 14:51:19 +02:00
Rasmus Wriedt Larsen
bf6f5074c2
Python: Port cryptodome tests to crypto
...
I don't know if this is really a smart test-setup... I feel a bit stupid when
doing this xD
2021-04-22 14:51:19 +02:00
Rasmus Wriedt Larsen
f8254381f3
Python: Add MISSING: CryptographicOperationAlgorithm annotations
...
For RSA it's unclear what the algorithm name should even be. Signatures based on
RSA private keys with PSS scheme is ok, but with pkcs#1 v1.5 they are
weak/vulnerable. So clearly just putting RSA as the algorithm name is not enough
information...
and that problem is also why I wanted to do this commit separetely (to call
extra atten to this).
2021-04-22 14:51:18 +02:00
Rasmus Wriedt Larsen
23140dfb76
Python: Add CryptographicOperation modeling for Cryptodome
2021-04-22 14:51:17 +02:00
Rasmus Wriedt Larsen
1b2ed9d99a
Python: Align cryptodome tests
2021-04-22 14:51:16 +02:00
Rasmus Wriedt Larsen
2c0df8e656
Python: Add MD5 tests
2021-04-22 14:51:16 +02:00
Rasmus Wriedt Larsen
a8de2aba3b
Python: Move CryptoAlgorithms implementation
2021-04-22 14:51:15 +02:00
Rasmus Wriedt Larsen
65c8d9605e
Python: Add CryptographicOperation Concept
...
I considered using `getInput` like in JS, but things like signature verification
has multiple inputs (message and signature).
Using getAnInput also aligns better with Decoding/Encoding.
2021-04-22 14:51:14 +02:00
Rasmus Wriedt Larsen
d18fbb7f07
Python: Add working tests of AES and RC4
2021-04-22 14:51:14 +02:00
Rasmus Wriedt Larsen
cf64701bcb
Python: Move weak-crypto-algorithm tests to own folder
2021-04-22 14:51:13 +02:00
Tamas Vajk
ed42c878b0
Adjust 'fromSource' to hold only on '.cs' files
2021-04-22 14:17:16 +02:00
Tamas Vajk
b36d35bf1e
Revert "C#: Adjust 'fromSource' to hold only on files passed to the compiler as a source file"
...
This reverts commit 1dab1590ea .
2021-04-22 14:16:10 +02:00
haby0
407dcea751
add String type startsWith
2021-04-22 19:20:54 +08:00
haby0
1712d01b74
Merge branch 'UseOfLessTrustedSource' of https://github.com/haby0/codeql into UseOfLessTrustedSource
2021-04-22 19:02:23 +08:00
haby0
9b4442be8b
Fix some errors
2021-04-22 19:01:55 +08:00
haby0
aaef4ef22b
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSourceLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-22 18:52:55 +08:00
Tamás Vajk
cb28bc80b7
Merge branch 'main' into feature/java-sinks-csv
2021-04-22 11:41:18 +02:00
Tamas Vajk
7134eb9079
Improve documentation of csv sink models
2021-04-22 11:37:41 +02:00
Mathias Vorreiter Pedersen
2b8afe55e8
Merge pull request #5747 from rdmarsh2/rdmarsh2/cpp/deprecate-return-stack-allocated-object
...
C++: deprecate cpp/return-stack-allocated-object
2021-04-22 11:37:07 +02:00
Tamas Vajk
1caa5c4780
Adjust hostname verifier sink identifier name
2021-04-22 11:22:18 +02:00
Tamas Vajk
6c78a247f2
Revert erroneous refactoring in header splitting sink base class
2021-04-22 11:20:39 +02:00
Tamas Vajk
9b1c54e81b
Add argument indices to HTTP header splitting sinks
2021-04-22 11:17:25 +02:00
Tamas Vajk
180904e9f6
Revert "Java: Convert Google HTTP client API parseAs sink to CSV format"
...
This reverts commit 3e53484bb3 .
2021-04-22 11:14:51 +02:00
Owen Mansel-Chan
fea9f5f431
Merge pull request #5746 from owen-mc/java/refactor-exec-tainted
...
Make ExecTainted easier to extend
2021-04-22 10:14:28 +01:00
Tamas Vajk
a8a920c8f0
Add change note
2021-04-22 11:01:12 +02:00
Owen Mansel-Chan
8a01799fb8
Make imports private
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-04-22 09:46:49 +01:00
Rasmus Lerchedahl Petersen
b724e51cab
Python: Improvements from review suggestions
2021-04-22 10:40:42 +02:00
Owen Mansel-Chan
4b8d4f5bbd
Update docs
2021-04-22 09:30:50 +01:00
Owen Mansel-Chan
e448dcb725
Avoid bad join order
...
We want to avoid joining on `i` first.
2021-04-22 09:30:49 +01:00
Owen Mansel-Chan
9f1704560b
Include constructors in abstract class
2021-04-22 09:30:48 +01:00
Tamas Vajk
1dab1590ea
C#: Adjust 'fromSource' to hold only on files passed to the compiler as a source file
2021-04-22 10:21:28 +02:00
Tamas Vajk
1a708affbf
Include compilation errors in diagnostic check
2021-04-22 10:08:33 +02:00
Asger Feldthaus
d2646ea4ad
JS: More consistent section capitalization
2021-04-22 09:06:44 +01:00
Asger Feldthaus
0dceabe704
JS: Reference specific section of cheat sheet
2021-04-22 09:06:09 +01:00
Tamas Vajk
64354bbfaa
Fix test results after rebase
2021-04-22 09:23:59 +02:00
Tamas Vajk
ff9327a035
Add diagnostic query to get correctly extracted files
2021-04-22 09:21:46 +02:00
Tamas Vajk
b05e211e21
Fix failing test
2021-04-22 09:21:45 +02:00
Tamas Vajk
353d43a039
Log model errors even in standalone extraction
2021-04-22 09:13:06 +02:00
Tamas Vajk
5149ffdd16
C#: Add extraction error diagnostic query
2021-04-22 09:13:06 +02:00
edvraa
ade238307f
Add a test
2021-04-22 10:02:06 +03:00
Tamás Vajk
9c936867fa
Exclude code from XML files
...
Co-authored-by: yo-h <55373593+yo-h@users.noreply.github.com >
2021-04-22 09:00:31 +02:00
Tamás Vajk
a7cc9f98ef
Merge pull request #5745 from tamasvajk/feature/fix-arg-default
...
C#: Fix special case of default argument value extraction
2021-04-22 08:58:13 +02:00
edvraa
86444bfa09
Use set literal expression
2021-04-22 09:48:46 +03:00
edvraa
9774b24c4e
Use TypeString
2021-04-22 09:44:07 +03:00
haby0
454324781d
delete IfStmt
2021-04-22 11:59:33 +08:00
Robert Marsh
cac1bef6ea
C++: deprecate cpp/return-stack-allocated-object
2021-04-21 15:17:31 -07:00
Asger Feldthaus
fe8deeaf6b
JS: Autoformat
2021-04-21 23:13:57 +01:00
Dave Bartolomeo
383210096c
C++: Isolate models from AST dataflow's reference/object conflation
...
`DataFlowFunction` models treat references a pointers - an explicit level of indirection. The AST dataflow library generally treats references as if they were the referred-to object. This commit removes a workaround in the dataflow model for unary `operator*` on smart pointers, and makes the AST dataflow library adjust the results of querying the model so that a returned reference only gets flow that was modeled as going to the dereference of the return value.
This fixes some missing flow in IR dataflow, and recovers some (presumably) missing reverse taint flow in AST taint tracking as well.
2021-04-21 18:09:44 -04:00
Asger Feldthaus
e98bfe921e
JS: QLDoc
2021-04-21 22:14:50 +01:00
Asger Feldthaus
bb7934b381
JS: Change note
2021-04-21 21:20:12 +01:00
Asger Feldthaus
c113cfd8b7
JS: Autoformat
2021-04-21 21:13:07 +01:00
Dave Bartolomeo
0bc4b0421d
C++: Remove unnecessary cast
2021-04-21 12:12:01 -04:00
Rasmus Wriedt Larsen
5a9e27c6fc
Merge branch 'main' into django-3.2
2021-04-21 17:15:47 +02:00
Chris Smowton
76091f0f8d
Use ArrayElement accessor where needed
2021-04-21 15:58:41 +01:00
Chris Smowton
2c95b7539f
Remove now-redundant steps
2021-04-21 15:57:09 +01:00
Chris Smowton
874733a61b
Argument -> specific Argument indices
2021-04-21 15:53:55 +01:00
Chris Smowton
fce1d6122f
Add change note
2021-04-21 15:47:20 +01:00
Chris Smowton
6589460357
Add models for Commons ToStringBuilder
...
These don't include support for reflectionToString yet, which is coming up in a subsequent PR.
2021-04-21 15:47:19 +01:00
Chris Smowton
94f0a1532d
Merge pull request #5682 from smowton/smowton/docs/fix-has-modifier-comment
...
Fix documentation of Modifier.qll
2021-04-21 15:41:29 +01:00
Tamas Vajk
a0f5e45ae9
C#: Fix special case of default argument value extraction
2021-04-21 16:34:29 +02:00
Geoffrey White
ba335089c4
Merge pull request #5601 from ihsinme/ihsinme-patch-259
...
CPP: Add query for CWE-691 Insufficient Control Flow Management After Refactoring The Code
2021-04-21 15:13:38 +01:00
Owen Mansel-Chan
9c72e73a82
Make ExecTainted easier to extend
...
To add a method that executes a command, you can now define a class
extending ExecMethod.
2021-04-21 14:55:37 +01:00
CodeQL CI
30d7f0dc98
Merge pull request #5687 from RasmusWL/inline-taint-tests
...
Approved by yoff
2021-04-21 06:24:12 -07:00
Taus
71780228ae
Python: Rename TypeTrackerPrivate.qll
2021-04-21 13:08:26 +00:00
Asger Feldthaus
2c9a6e7bef
JS: Cache function-wrapping steps in type-tracking stage
2021-04-21 13:45:58 +01:00
Tamas Vajk
e25305e3cc
Java: Introduce LoC summary metric query
2021-04-21 14:27:00 +02:00
Anders Schack-Mulligen
f9599da32d
Java/C#: Move a couple of flow summary tweaks to the shared implementation.
2021-04-21 14:24:15 +02:00
Rasmus Wriedt Larsen
be9cbd79d6
Python: Add change-note for Django 3.2 support
2021-04-21 13:58:34 +02:00
Rasmus Wriedt Larsen
59c6f76457
Python: Add test for new response.headers in Django
...
See https://docs.djangoproject.com/en/3.2/ref/request-response/#setting-header-fields
2021-04-21 13:55:22 +02:00
Rasmus Wriedt Larsen
2302c8d5fa
Python: Model new alias method on django QuerySets
2021-04-21 13:52:38 +02:00
yoff
a19373ab54
Merge pull request #5727 from tausbn/python-use-localsource-in-stepsummary
...
Python: Use `LocalSourceNode` in `StepSummary::step`
2021-04-21 13:50:31 +02:00
Tamás Vajk
205469316c
Merge pull request #5738 from tamasvajk/feature/loc
...
C# Add line of code metric query
2021-04-21 13:49:32 +02:00
Taus
489e1e94e4
Python: Prevent bad joins
...
Adds a few unbinds to prevent bad joins from occurring.
Firstly, we never want to join `StepSummary::step` with
`TypeTracker::append` on `summary` as the first join, as the resulting
relation is absolutely massive. So we decouple the two occurrences of
`summary` by unbinding each of them.
Secondly, in some cases the node we're stepping to (`nodeTo` for type
trackers, `nodeFrom` for type backtrackers) will get joined eagerly
with the typetracker one is defining, and again this produces an
uncomfortably large intermediate join. A bit of unbinding prevents this
as well.
2021-04-21 11:44:34 +00:00
Taus
9e95f6e7c1
Python: Remove typePreservingStep
...
This requires a bit of explanation, so strap in.
Firstly, because we use `LocalSourceNode`s as the start and end points
of our `StepSummary::step` relation, there's no need to include
`simpleLocalFlowStep` (via `typePreservingStep`) in `smallstep`. Indeed,
since the successor node for a `step` is a `LocalSourceNode`, and local
sources never have incoming flow, this is entirely futile -- we can find
values for `mid` and `nodeTo` that satisfy the body of `step`, but
`nodeTo` will never be a `LocalSourceNode`.
With this in mind, we can simplify `smallstep` to only refer to
`jumpStep`.
This then brings the other uses of `typePreservingStep` into question.
The only other place we use this predicate is in the `TypeTracker` and
`TypeBackTracker` `smallstep` predicates. Note, however, that here we
no longer need `jumpStep` to be part of `typeTrackingStep` (as it is
already accounted for in `StepSummary::smallstep`) so we can simplify
to `simpleLocalFlowStep`. At this point, `typePreservingStep` is unused.
Finally, because of the way `smallstep` is used in `step` (inside
`StepSummary`), `nodeTo` must always be a `LocalSourceNode`, so I have
propagated this restriction to `smallstep` as well. We can always lift
this restriction later, but for now it seems like it's likely to cause
fewer surprises to have made this explicit.
2021-04-21 11:12:06 +00:00
asgerf
226792c73a
JS: Expand RemoteFlowSource and move into own section
2021-04-21 12:04:09 +01:00
asgerf
5df8583056
JS: Mention isUserControlledObject
2021-04-21 11:40:27 +01:00
asgerf
ff73c0b247
JS: Add section with access paths to cheat sheet
2021-04-21 11:40:27 +01:00
edvraa
452ec8c43f
comments
2021-04-21 13:12:53 +03:00
edvraa
13655b5d80
Add RegExUtils
2021-04-21 13:08:35 +03:00
asgerf
f611d06ed0
JS: Add getALocalUse to cheat sheet
2021-04-21 10:53:10 +01:00
Rasmus Wriedt Larsen
08e86fdfe5
JS: Make CredentialsFunctionName use nameIndicatesSensitiveData
...
Someone from JS team needs to verify that this is actually OK.
2021-04-21 11:38:52 +02:00
Rasmus Wriedt Larsen
e977d6eb75
JS: Rewrite to use notSensitiveRegexp
2021-04-21 11:36:39 +02:00
Rasmus Wriedt Larsen
b9a1a1fd5c
JS: Rewrite to use nameIndicatesSensitiveData
...
I added this predicate mostly because it was nice with an easy shortcut for it,
but also since I spotted the `CredentialsFunctionName` not checking agaisnt the
regexps in `notSensitive`, which looked suspicious. So the main goal of adding
`nameIndicatesSensitiveData` is that you don't accidentially forget to ensure
that the name doesn't match against `notSensitve`.
2021-04-21 11:36:38 +02:00
Rasmus Wriedt Larsen
b6f8e5057b
JS: Rewrite to use SensitiveDataClassification::password (and like)
2021-04-21 11:36:17 +02:00
Rasmus Wriedt Larsen
94fec5f8b7
JS: Rewrite to use SensitiveDataClassification
2021-04-21 11:34:02 +02:00
Rasmus Wriedt Larsen
0d08718f08
JS: Adapt SensitiveActions to use shared lib
...
Although there are warnings for the new deprecated classes/predicates, the test
in javascript/ql/test/library-tests/SensitiveActions/ passes 👍
2021-04-21 11:34:01 +02:00
Rasmus Wriedt Larsen
775ed41592
Python: Update SensitiveDataHeuristics with newer JS version
...
which also prompted me to rewrite the QLDoc for `nameIndicatesSensitiveData`
2021-04-21 11:34:01 +02:00
Rasmus Wriedt Larsen
16b62486e9
Python: Extract SensitiveDataHeuristics to be shared with JS
...
Initially I had called `nameIndicatesSensitiveData` for `maybeSensitiveName`,
which made the relationship with `maybeSensitive` and `notSensitive` quite
strange -- and therefore I added the more informative `maybeSensitiveRegexp` and
`notSensitiveRegexp`.
Although I'm no longer using `maybeSensitiveName`, and I no longer have a strong
argument for making this name change, I still like it. If someone thinks this is
a terrible idea, I'm happy to change it though 👍
2021-04-21 11:31:28 +02:00
Tamas Vajk
2a6f979ce6
C# Add line of code metric query
2021-04-21 10:42:06 +02:00
Anders Schack-Mulligen
9362ae0687
Merge pull request #5422 from tamasvajk/feature/sink-migration-ldap
...
Java: Migrate LDAP injection sinks to CSV format
2021-04-21 10:05:28 +02:00
Rasmus Wriedt Larsen
63a2657aef
Merge branch 'main' into inline-taint-tests
2021-04-21 10:02:55 +02:00
Tom Hvitved
7080b256fb
Merge pull request #5715 from hvitved/csharp/ssa/perf-tweaks
...
C#: A few minor SSA performance tweaks
2021-04-21 09:59:12 +02:00
Tom Hvitved
def62e8c22
Merge pull request #5718 from hvitved/csharp/hardcoded-cred-remove-cp
...
C#: Remove CP from `HardcodedCredentials::getCredentialSink`
2021-04-21 09:58:56 +02:00
Tom Hvitved
1ed11b297b
Merge pull request #5725 from hvitved/csharp/dataflow/performance
...
C#: Various data-flow performance tweaks
2021-04-21 09:46:15 +02:00
haby0
84f00c21df
update IfConditionSink.
2021-04-21 15:38:41 +08:00
Dave Bartolomeo
1d0cb0407d
Merge from main
2021-04-20 23:37:04 -04:00
Dave Bartolomeo
b9da6ce04a
C++: Prepare for merge of smart pointer models
2021-04-20 23:12:05 -04:00
Dave Bartolomeo
a447b049fc
C++: Impoved alias analysis of smart pointers
2021-04-20 19:42:06 -04:00
Dave Bartolomeo
63fe4fb317
C++: More general model for pointer flow
2021-04-20 19:41:15 -04:00
Dave Bartolomeo
078d2522d2
C++: Add missing shared_ptr<T> members
2021-04-20 19:40:36 -04:00
Dave Bartolomeo
45968efd28
C++: Add shared test headers to emulate standard library types
2021-04-20 18:21:50 -04:00
intrigus
231b07795c
Java: Ignore results in test directories.
2021-04-20 23:25:13 +02:00
intrigus
fcaf5e7657
Java: Plural type name -> singular type name.
2021-04-20 23:09:44 +02:00
intrigus
3acec94773
Java: Fix typos.
2021-04-20 23:04:06 +02:00
intrigus
149c4491ce
Java: Simplify qldoc.
2021-04-20 23:03:10 +02:00
intrigus
9e4fa90f6e
Java: Refer to Java types in qldoc instead of ql types.
2021-04-20 23:02:18 +02:00
intrigus
26502881d7
Java: Consistently use this in charpred.
2021-04-20 22:56:58 +02:00
yoff
0c4181178d
Update python/ql/src/semmle/python/frameworks/Stdlib.qll
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-20 22:15:09 +02:00
yoff
ef0ea247c4
Merge pull request #5679 from tausbn/python-fix-bad-points-to-joins
...
Python: Fix bad points-to joins
2021-04-20 21:19:32 +02:00
Asger Feldthaus
02707f0777
JS: informational -> info
2021-04-20 19:51:16 +01:00
Dave Bartolomeo
5085e462b0
C++: Allow alias propagation to/from side effects (part 1)
2021-04-20 14:09:41 -04:00
Dave Bartolomeo
01a95316c2
C++: Add Instruction::getAParameterSideEffect().
2021-04-20 14:03:48 -04:00
Rasmus Lerchedahl Petersen
6408ee2eaf
Python: Fix bad join
2021-04-20 20:03:06 +02:00
Tom Hvitved
3eba5b0aac
Merge pull request #5676 from hvitved/csharp/dispatch/get-a-viable-overrider-perf
...
C#: Speedup `DispatchMethodOrAccessorCall::getAViableOverrider()`
2021-04-20 19:57:59 +02:00
Erik Krogh Kristensen
357e1c0802
Update javascript/ql/src/semmle/javascript/frameworks/Markdown.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2021-04-20 19:57:47 +02:00
yo-h
00137f2905
Merge pull request #5721 from github/yo-h/java-diagnostic-queries
...
Java: add extractor `diagnostic` queries
2021-04-20 13:36:49 -04:00
Shati Patel
98a0959784
Docs: New "directional binding" pragmas
2021-04-20 18:12:35 +01:00
Rasmus Lerchedahl Petersen
fc2c62350e
Python: Fix bad join
...
Also fixed up the QLDoc
2021-04-20 18:54:03 +02:00
Asger Feldthaus
9f8a9b9cad
JS: Add taint source/sink summary queries
2021-04-20 17:10:31 +01:00
Taus
890f96d9b5
Python: Prevent bad joins in TypeBackTracker
...
Perhaps unsurprisingly, the join orderer was eager and willing to find
the wrong join order in this predicate as well. Applying a similar
fix to the one used in `TypeTracker::step` fixes the problem.
2021-04-20 15:01:04 +00:00
Taus
c0569da65c
Python: Move track/backtrack to LocalSourceNode
...
This is merely making explicit what was implicitly enforced. The move
to change the return type of `step` already meant that `this` and
`result` had to be `LocalSourceNode`. By moving these methods to their
rightful place, we should hopefully avoid a bit of suprising behaviour.
2021-04-20 14:39:56 +00:00
Taus
2a07441c19
Python: ModuleVariableNodes are not API uses
...
This caused some suprising test changes, where suddenly we had flow from
a `ModuleVariableNode` (as a `RemoteFlowSource`) to a sink. This of
course makes little sense, so instead we simply exclude these nodes as
uses in the first place.
2021-04-20 14:33:42 +00:00
Rasmus Lerchedahl Petersen
9c893cb0f4
Merge branch 'main' of github.com:github/codeql into python-port-insecure-protocol
2021-04-20 16:33:03 +02:00
Taus
7581cbade6
Python: Fix forgotten type tracker
...
This was the last remaining type tracker that did not use
`LocalSourceNode`.
2021-04-20 14:32:56 +00:00
Tamas Vajk
583513bafd
Fix review findings
2021-04-20 16:28:47 +02:00
Asger Feldthaus
43ca8ea5f7
JS: Fix perf issue in forwardsParameter
2021-04-20 15:15:12 +01:00
Chris Smowton
a5cfdd2cfe
Merge pull request #5467 from p0wn4j/groovy-execute
...
[Java] CWE-094: Query to detect Groovy Code Injections
2021-04-20 14:49:56 +01:00
Erik Krogh Kristensen
62dfd1fa7d
improve the markdown-it model
2021-04-20 15:23:03 +02:00
Taus
38548c9acd
Python: Simplify charpred for LocalSourceNode
...
The somewhat convoluted `comes_from_cfgnode` was originally introduced
in order to have local sources for instances of global variables. This
was needed because global variables have an implicit "scope entry" SSA
definition that flows to the first actual use of the variable (and so
would not fit the strict "has no incoming flow" definition of a local
source node).
However, a subsequent change means that we include all global variable
reads anyway, and so the old definition is no longer needed.
(See commit 3fafb47b16 for further
context.)
2021-04-20 13:19:36 +00:00
Taus
038bf612be
Python: Add change note
2021-04-20 13:06:30 +00:00
Jonas Jensen
f02c86cb22
Merge pull request #5726 from MathiasVP/fix-false-positive-in-return-stack-allocated-memory-2
...
C++: Fix false positive in return stack allocated memory (second attempt)
2021-04-20 15:05:11 +02:00
Taus
a55b43b67e
Python: Use LocalSourceNode throughout step
...
This commit does a lot of stuff all at once, so here are the main
highlights:
In `TypeTracker.qll`, we change `StepSummary::step` to step only between
source nodes. Because reads and writes of global variables happen in two
different (jump) steps, this requires the intermediate
`ModuleVariableNode` to _also_ be a `LocalSourceNode`, and we therefore
modify the charpred for that class accordingly. (This also means
changing a few of the tests to account for these new source nodes.)
In addition, we change `TypeTracker::step` to likewise step between
local source nodes.
Next, to enable the use of the `track` convenience method on nodes, we
add some pragmas to `TypeTracker::step` that prevent bad joins from
occurring. With this, we can eliminate all of the manual type tracker
join predicates.
Next, we observe that because `StepSummary::step` now uses `flowsTo`, it
automatically encapsulates all local-flow steps. In particular this
means we do not have to use `typePreservingStep` in `smallstep`, but can
use `jumpStep` directly. A similar observation applies to
`TypeTracker::smallstep`.
Having done this, we no longer need `typePreservingStep`, so we get rid
of it.
2021-04-20 12:59:33 +00:00
Taus
31bd701bd5
Python: Final LocalSourceNode fixes
2021-04-20 12:59:33 +00:00
Chris Smowton
9bfb0d93ca
Autoformat QL
2021-04-20 13:59:09 +01:00
Rasmus Wriedt Larsen
897105de02
Merge pull request #5717 from tausbn/python-use-api-graphs-in-django
...
Python: Use API graphs in Django model
2021-04-20 14:57:55 +02:00
Erik Krogh Kristensen
19c5889775
use mayHaveBooleanValue
2021-04-20 14:39:54 +02:00
Erik Krogh Kristensen
13d915927b
add change note
2021-04-20 14:39:54 +02:00
Erik Krogh Kristensen
7046f1a902
add taint-step for markdown-it when the HTML flag is set
2021-04-20 14:39:54 +02:00
Taus
76700d17d6
Merge pull request #5684 from RasmusWL/flask-more-taint-tests
...
Python: Add taint tests for .get() in flask
2021-04-20 14:08:08 +02:00
Asger Feldthaus
f8d428cb2d
JS: Use function-forwarding steps when tracking rate limiters
2021-04-20 13:00:42 +01:00
Mathias Vorreiter Pedersen
93e55e2631
C++: Fix FP in cpp/return-stack-allocated-memory.
2021-04-20 13:58:12 +02:00
Mathias Vorreiter Pedersen
1797b6c7f9
C++: Add FP test from the work on smart pointers in dataflow.
2021-04-20 13:54:57 +02:00
Asger Feldthaus
581f4ed757
JS: Generalize handling of route handler wrapper functions
2021-04-20 12:46:40 +01:00
Chris Smowton
0ec3ee29e4
Style last use of SecureASTCustomizer
2021-04-20 12:44:49 +01:00
Hayk Andriasyan
bb58a50503
Update GroovyInjection.qhelp
2021-04-20 15:41:58 +04:00
p0wn4j
f2de440886
[Java] CWE-094: Query to detect Groovy Code Injections
2021-04-20 19:18:24 +04:00
haby0
3e376f95c4
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:36:16 +08:00
haby0
b1ee864ad9
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:35:52 +08:00
haby0
9e87f4ec4e
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:35:34 +08:00
haby0
408dd31d3c
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:34:37 +08:00
haby0
9ece4dac0f
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:33:47 +08:00
haby0
d82878ac3b
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:33:06 +08:00
haby0
0b1637a409
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:32:39 +08:00
haby0
b60bffaf83
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSourceLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:31:59 +08:00
Jonas Jensen
d4fdd50e2c
Merge pull request #5723 from MathiasVP/cleanup-smart-ptr-model
...
C++: Simplify smart pointer model
2021-04-20 13:25:02 +02:00
Tom Hvitved
dd1bb18938
C#: Various data-flow performance tweaks
...
- Cache `DataFlowCall::getEnclosingCallable()`.
- Cache `ParameterNode`.
- Cache `ArgumentNode`.
- Force proper join-orders for uses of `getNodeType()`.
- Inline `localFlow` to prevent calculating full TC.
2021-04-20 11:56:25 +02:00
Tom Hvitved
1f9239089f
Merge pull request #5695 from hvitved/csharp/dispose-not-called-on-exc-perf
...
C#: Improve performance of `DisposeNotCalledOnException.ql`
2021-04-20 11:52:18 +02:00
Tom Hvitved
b2a7a3ed30
Merge pull request #5674 from hvitved/csharp/ssa/call-graph-perf
...
C#: Improve performance of `SsaImpl::CallGraph::SimpleDelegateAnalysis`
2021-04-20 11:51:52 +02:00
Geoffrey White
2b7e599dc4
Merge pull request #5703 from MathiasVP/improve-access-of-memory-location-after-end-of-buffer-using-strncat
...
C++: Improve cpp/access-memory-location-after-end-buffer-strncat
2021-04-20 10:44:24 +01:00
Mathias Vorreiter Pedersen
61d4d17225
C++: Simplify smart pointer model and accept test changes.
2021-04-20 09:57:58 +02:00
Tamás Vajk
408954e4d8
C#: Add Dapper to supported frameworks
2021-04-20 09:30:47 +02:00
haby0
0053158884
update qhelp file and ql comments
2021-04-20 10:58:54 +08:00
yo-h
87cd72496c
Java: add extractor diagnostic queries
2021-04-19 15:34:16 -04:00
yo-h
cb524b6c19
Merge pull request #5611 from github/yo-h/java16
...
Java: adjust test `options` for JDK 16 upgrade
2021-04-19 15:12:23 -04:00
Taus
bc6685aa3f
Python: Fix typo
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-19 19:57:35 +02:00
Anders Schack-Mulligen
5458c02cc2
Merge pull request #5456 from aschackmull/java/adopt-flow-summary
...
Java: Use shared flow summary library for CSV models.
2021-04-19 16:21:10 +02:00
Anders Schack-Mulligen
33db0c13cd
Merge pull request #5689 from github/aeisenberg/rework-staleness
...
Actions: Change staleness calculation
2021-04-19 15:57:41 +02:00
Tom Hvitved
9128ec72ad
C#: A few minor SSA performance tweaks
2021-04-19 15:51:14 +02:00
Anders Schack-Mulligen
80eb0a2df6
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-19 15:45:58 +02:00
CodeQL CI
437bba1e3c
Merge pull request #5716 from erik-krogh/vscodeRegress
...
Approved by esbena
2021-04-19 06:30:02 -07:00
Tom Hvitved
15e4b7f95d
C#: Remove CP from HardcodedCredentials::getCredentialSink
2021-04-19 15:03:11 +02:00
haby0
0159956fa5
Fix Modify the ql query (the qhelp part is not modified).
2021-04-19 21:03:01 +08:00
Rasmus Wriedt Larsen
d607c13ab6
Python: Taint tests: include elment for forgotten MISSING
2021-04-19 15:01:42 +02:00
haby0
8296abcea8
Fix Modify the ql query (the qhelp part is not modified).
2021-04-19 20:59:47 +08:00
Rasmus Wriedt Larsen
9585390941
Python: Taint tests, report error location first
...
To better match the standard output from inline expectation tests
2021-04-19 14:59:47 +02:00
Rasmus Wriedt Larsen
b2cb284ff2
Python: Add more examples of what is ok with new taint tests
2021-04-19 14:56:20 +02:00
Anders Schack-Mulligen
7d84cfacef
Java: Add MapKeyContent and MapValueContent.
2021-04-19 14:06:27 +02:00
Anders Schack-Mulligen
39862740e0
Java: Convert support for fluent interfaces.
2021-04-19 14:06:27 +02:00
Anders Schack-Mulligen
579c955892
Java: Adjust some tests.
2021-04-19 14:06:27 +02:00
Anders Schack-Mulligen
175c71221a
Java: Adjust some test output with more edges/nodes.
2021-04-19 14:06:27 +02:00
haby0
23b508c5e7
Merge remote-tracking branch 'upstream/main' into UseOfLessTrustedSource
2021-04-19 20:05:49 +08:00
Anders Schack-Mulligen
60965b0d8c
Java: Adjust some csv models.
2021-04-19 14:02:19 +02:00
Anders Schack-Mulligen
a27dac029f
Java: Use shared flow summary library for csv models.
2021-04-19 14:02:19 +02:00
Chris Smowton
36abf8733e
Merge pull request #5714 from aschackmull/java/add-misc-qltests
...
Java: Add a few qltests
2021-04-19 13:00:10 +01:00
Taus
9acc71a7cb
Python: Get rid of all _attr methods in Django.qll
2021-04-19 11:54:10 +00:00
Erik Krogh Kristensen
9e6f28e335
fix bad join order in Xss.qll
2021-04-19 13:17:49 +02:00
Anders Schack-Mulligen
29aec0d770
Java: Adjust expected output.
2021-04-19 13:16:46 +02:00
Anders Schack-Mulligen
c5193cf03f
Apply suggestions from code review
2021-04-19 13:14:56 +02:00
Anders Schack-Mulligen
06514159be
Java: Add XXE tests.
2021-04-19 10:58:21 +02:00
Anders Schack-Mulligen
daad62c4e0
Java: Add TaintedPath test.
2021-04-19 10:07:03 +02:00
Jonas Jensen
1ab75eb6f4
Merge pull request #5708 from github/fix-id-in-JsonpInjection-1
...
Java: Fix id in experimental JsonpInjection.ql query
2021-04-19 08:23:34 +02:00
yoff
118840dad4
Merge pull request #5690 from tausbn/python-disallow-post-update-nodes-as-local-source-nodes
...
Python: Disallow `PostUpdateNode` as `LocalSourceNode`
2021-04-19 06:56:11 +02:00
ihsinme
c2d97b98e2
Merge branch 'main' into ihsinme-patch-259
2021-04-18 21:01:56 +03:00
Mathias Vorreiter Pedersen
e36b42a03f
Java: Fix invalid id in experimental query
...
The invalid id broke CI here: https://github.com/github/codeql/pull/5703 (see https://github.slack.com/archives/CPSEA0G22/p1618602834224600 )
2021-04-17 09:47:15 +02:00
edvraa
29e320627f
Regex injection
2021-04-16 23:29:08 +03:00
Taus
f3661c34ee
Python: Clean up Django models using API graphs
...
First sweep. Takes care of most of the models.
2021-04-16 19:53:36 +00:00
Mathias Vorreiter Pedersen
95742aec69
C++: Accept test changes for the other experimental query in the directory. This is only a change in line numbers.
2021-04-16 21:29:17 +02:00
Mathias Vorreiter Pedersen
64f8316a6d
C++: Tidy up the ql file and accept test changes.
2021-04-16 21:22:13 +02:00
Mathias Vorreiter Pedersen
1e327289b2
C++: Add false negative test.
2021-04-16 18:38:51 +02:00
Mathias Vorreiter Pedersen
50abb6e3a1
C++: Cleanup test.c
2021-04-16 17:32:44 +02:00
Shati Patel
5c2bf68a05
Merge pull request #5692 from tamasvajk/feature/doc-cs9
...
Update supported C#/.NET versions
2021-04-16 16:22:06 +01:00
Jonas Jensen
f8d45f04ed
Revert "Revert "C++: Work around extractor issue CPP-383""
...
**Revert the revert** of the workaround for CFG issues when a
`FunctionCall` has a `getTarget` that does not exist. While we've fixed
the main cause of the problem, it can apparently still happen in rare
cases as a result of extractor crashes.
This reverts commit ee5eaef5e4 .
2021-04-16 16:44:58 +02:00
Tom Hvitved
40b74167e0
C#: Improve performance of DisposeNotCalledOnException.ql
2021-04-16 14:34:16 +02:00
Rasmus Wriedt Larsen
3c8ea167c4
Merge pull request #5668 from tausbn/python-use-api-graphs-in-fabric
...
Python: Use API graphs in Fabric model
2021-04-16 14:27:55 +02:00
Rasmus Wriedt Larsen
6ed1016bb8
Merge pull request #5669 from tausbn/python-use-api-graphs-for-invoke
...
Python: Use API graphs for Invoke
2021-04-16 14:27:19 +02:00
Taus
92b4eb7f02
Python: Cleanup and more explanation
...
Goes into some detail about the intended semantics of local source nodes
and `flowsTo`.
2021-04-16 11:54:20 +00:00
Geoffrey White
e1028a2765
Merge pull request #5667 from MathiasVP/use-range-analysis-in-overflow
...
C++: Use range analysis in Overflow.qll
2021-04-16 12:00:28 +01:00
Taus
5c79ad2412
Python: Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-16 11:38:29 +02:00
Taus
af0c32c01d
Python: Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-16 11:35:12 +02:00
Anders Schack-Mulligen
605f28f741
Merge pull request #5686 from smowton/haby0/JsonHijacking
...
Java: JSONP Injection w/cleanups
2021-04-16 11:09:17 +02:00
Tom Hvitved
946fcf1c82
C#: Speedup DispatchMethodOrAccessorCall::getAViableOverrider()
...
In addition to improved performance, the analysis no longer applies a closed-world
assumption to type parameters. That is, if the type of a receiver is a type parameter,
then the call may target any method of a compatible receiver type, not just the
types that actually instantiate the type parameter.
2021-04-16 10:43:17 +02:00
Tamas Vajk
b0975bb3ea
Update supported C#/.NET versions
2021-04-16 09:15:43 +02:00
Rasmus Lerchedahl Petersen
a8280f9b12
Python: update test expectation
2021-04-16 08:25:29 +02:00
Rasmus Lerchedahl Petersen
0678745677
Python: refactor based on review suggestion
2021-04-16 08:22:00 +02:00
Rasmus Lerchedahl Petersen
341dbcef2e
Python: simplify code following review suggestion
...
also standardise on camelCase.
2021-04-16 07:41:00 +02:00
Rasmus Lerchedahl Petersen
8aa6b1a87c
Python: use standard tracking construction
2021-04-16 07:36:04 +02:00
Taus
451d36dc97
Python: Allow _some_ PostUpdateNodes
...
Specifically, allow the ones arising from calls, but not reads or
writes. This should fix the tests.
2021-04-15 21:26:12 +00:00
Taus
c9c8259ed0
Python: Disallow PostUpdateNode as LocalSourceNode
...
Previously, in cases like
```python
def foo(x):
x.bar()
x.baz()
x.quux()
```
we would have flow from the first `x` to each use _and_ flow from the
post-update node for each method call to each subsequent use, and all
of these would be `LocalSourceNode`s. For large functions with the above
pattern, this would lead to a quadratic blowup in `hasLocalSource`.
With this commit, only the first of these will count as a
`LocalSourceNode`, and the blowup disappears.
2021-04-15 17:56:14 +00:00
Andrew Eisenberg
5d827b6fc8
Actions: Change staleness calculation
...
Calculate staleness on issues that have the
`Stale` label. Leave all other issues untouched.
2021-04-15 10:14:13 -07:00
Rasmus Wriedt Larsen
3e7dc12246
Python: Port taint tests to use inline expectations
...
The meat of this PR is described in the new python/ql/test/experimental/meta/InlineTaintTest.qll file:
> Defines a InlineExpectationsTest for checking whether any arguments in
> `ensure_tainted` and `ensure_not_tainted` calls are tainted.
>
> Also defines query predicates to ensure that:
> - if any arguments to `ensure_not_tainted` are tainted, their annotation is marked with `SPURIOUS`.
> - if any arguments to `ensure_tainted` are not tainted, their annotation is marked with `MISSING`.
>
> The functionality of this module is tested in `ql/test/experimental/meta/inline-taint-test-demo`.
2021-04-15 18:00:33 +02:00
Chris Smowton
c37994089c
Revert changes to unrelated query
2021-04-15 16:24:29 +01:00
Chris Smowton
254de76078
Remove unnecessary stubs
2021-04-15 16:20:27 +01:00
haby0
dedf765542
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-15 22:59:22 +08:00
Rasmus Lerchedahl Petersen
42ae5f4f7d
Python: support / from the right
...
Will also support both operands being paths
2021-04-15 16:07:35 +02:00
Rasmus Wriedt Larsen
b359205d17
Python: Add taint tests for .get() in flask
2021-04-15 14:53:44 +02:00
CodeQL CI
578ce1e512
Merge pull request #5683 from asgerf/js/typescript-template-literal-type-crash
...
Approved by erik-krogh
2021-04-15 05:11:11 -07:00
Mathias Vorreiter Pedersen
7fbc62358e
C++: Accept test changes after making the exprMightOverFlow predicates more sound.
2021-04-15 13:57:44 +02:00
haby0
0e183ab4a4
Finish comment
2021-04-15 19:49:06 +08:00
Chris Smowton
fa36ba901a
Merge pull request #5471 from artem-smotrakov/el-injection
...
Java: Query for detecting Jakarta Expression Language injections
2021-04-15 12:39:34 +01:00
haby0
d269a7e717
CWE-598 reduction
2021-04-15 19:33:15 +08:00
haby0
216f204438
delete FilterClass
2021-04-15 19:28:25 +08:00
haby0
583d0889e2
delete tomcat-embed-core stub, update the ServletGetMethod class
2021-04-15 17:40:51 +08:00
haby0
5d05e4d224
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-15 17:28:53 +08:00
Tom Hvitved
0f24db8759
C#: Improve performance of SsaImpl::CallGraph::SimpleDelegateAnalysis
2021-04-15 11:25:27 +02:00
Asger Feldthaus
f8570bb293
JS: Update TRAP
2021-04-15 10:16:46 +01:00
Rasmus Lerchedahl Petersen
d361d999b7
Python: add some path returning functions
...
that were only listed as file sytem accesses.
2021-04-15 10:55:09 +02:00
Rasmus Lerchedahl Petersen
02e41d8018
Python: update annotations
...
This because `resolve` accesses the file system,
I am open to not include that fact in the modelling.
2021-04-15 10:49:22 +02:00
Rasmus Lerchedahl Petersen
3eb1813584
Python: update test expectations
2021-04-15 10:47:49 +02:00
Asger Feldthaus
cb736c8c82
JS: Change note
2021-04-15 09:37:57 +01:00
Tom Hvitved
972cc47f67
Merge pull request #5673 from hvitved/csharp/customizations
...
C#: Add `Customizations.qll`
2021-04-15 10:24:29 +02:00
Asger Feldthaus
b4a2a9db25
JS: Fix extraction of non-substitution template literal types
2021-04-15 09:23:45 +01:00
Chris Smowton
bd3b3178ba
Fix documentation of Modifier.qll
2021-04-15 09:16:51 +01:00
Rasmus Lerchedahl Petersen
c9b2c7885e
Python: add changenote
2021-04-15 10:14:35 +02:00
Rasmus Lerchedahl Petersen
52a9040d73
Python update tests
2021-04-15 09:46:53 +02:00
Rasmus Lerchedahl Petersen
2387dc640c
Python: Attempts at modelling pathlib-Paths
2021-04-15 09:40:23 +02:00
Rasmus Lerchedahl Petersen
8489403051
Python: Add some tests for pathlib
2021-04-15 09:40:23 +02:00
haby0
b3bdf89fc2
rm VerificationMethodFlowConfig, use springframework-5.2.3 stub
2021-04-15 10:25:40 +08:00
CodeQL CI
4be183c7f6
Merge pull request #5675 from erik-krogh/libXss
...
Approved by esbena
2021-04-14 14:34:23 -07:00
ihsinme
b30ae3980c
Update InsufficientControlFlowManagementAfterRefactoringTheCode.ql
2021-04-14 20:48:20 +03:00
Robert Marsh
fe57876fd8
Merge pull request #5643 from dbartol/smart-pointers/side-effect-refactor
...
C++: Refactor some side effect generation code
2021-04-14 09:59:41 -07:00
Taus
897d12420b
Python: Prevent bad join in isinstanceEvaluatesTo
...
In some cases, we were joining the result of `val.getClass()` against
the first argument of `Types::improperSubclass` before filtering out the
vast majority of tuples by the call to `isinstance_call`.
To fix this, we let `isinstance_call` take care of figuring out the
class of the value being tested. As a bonus, this cleans up the only
other place where `isinstance_call` is used, where we _also_ want to
know the class of the value being tested in the `isinstance` call.
2021-04-14 16:49:12 +00:00
Artem Smotrakov
97186b3d30
Added comments for tests
2021-04-14 19:30:58 +03:00
Andrew Eisenberg
56ba0f080a
Merge pull request #5659 from github/aeisenberg/mark-as-stale
...
Actions: Add workflow for marking stale questions
2021-04-14 08:37:55 -07:00
Taus
a7fcf52267
Python: Fix bad join in total_cost
...
The recent change to `appliesTo` lead to a perturbation in the join
order of this predicate, which resulted in a cartesian product between
`call` and `ctx` being created (before being filtered by `appliesTo`).
By splitting the intermediate result into its own helper predicate,
suitably marked to prevent inlining/magic, we prevent this from
happening again.
2021-04-14 15:36:01 +00:00
Andrew Eisenberg
392adf2a25
Workflows: Remove dry-run flag for labeller
2021-04-14 08:25:34 -07:00
Dave Bartolomeo
b29f35f564
Fix formatting
2021-04-14 11:15:16 -04:00
Geoffrey White
64fed4cb10
Merge pull request #5677 from MathiasVP/fix-duplicate-ids-in-experimental
...
C++: Fix duplicate names in experimental queries
2021-04-14 15:58:49 +01:00
Mathias Vorreiter Pedersen
ed64ed3d8d
C++: Make exprMightOverflowPositively/exprMightOverFlowNegatively hold for unanalyzable expressions. This hopefully means that expressions that do not satisfy these predicates will never overflow/underflow.
2021-04-14 16:45:27 +02:00
Jonas Jensen
b4f01c9afa
Merge pull request #5578 from MathiasVP/ast-flow-smart-pointers
...
C++: AST dataflow through smart pointers
2021-04-14 16:39:05 +02:00
Mathias Vorreiter Pedersen
53a320a810
C++: Fix duplicate names.
2021-04-14 16:33:18 +02:00
Mathias Vorreiter Pedersen
bb447d7174
C++: Make sure missingGuardAgainstOverflow (and underflow) holds when range analysis fails to deduce a bound.
2021-04-14 16:30:43 +02:00
yoff
447f339857
Merge pull request #5641 from tausbn/python-use-localsourcenode-in-typetrackers
...
Python: Use API graphs in PEP249 support
2021-04-14 15:39:49 +02:00
Mathias Vorreiter Pedersen
92508beb82
Merge pull request #5600 from ihsinme/ihsinme-patch-258
...
CPP: Add query for CWE-691 Insufficient Control Flow Management When Using Bit Operations
2021-04-14 14:55:30 +02:00
Anders Schack-Mulligen
f43d427875
Merge pull request #5645 from Marcono1234/marcono1234/primary-ql-class
...
Java: Override getAPrimaryQlClass() for more classes
2021-04-14 14:51:29 +02:00
Mathias Vorreiter Pedersen
bc7cc2f7ce
C++: Remove rule that wasn't needed.
2021-04-14 14:50:27 +02:00
Mathias Vorreiter Pedersen
da36508714
Revert "C++: As response to the review comments this commit adds a reference-to-pointer state to AddressFlow. A call to an unwrapper function now adds a pointer -> reference-to-pointer transition, and a ReferenceDereference adds a reference-to-pointer -> pointer transition."
...
This reverts commit 5aeaab7c6d .
2021-04-14 14:41:22 +02:00
Chris Smowton
591ac38c31
Merge pull request #5591 from Marcono1234/marcono1234/member-nested-type
...
Java: Add MemberType
2021-04-14 12:29:54 +01:00
Taus
54c79bff74
Merge pull request #5666 from RasmusWL/django-refactor
...
Python: Refactoring and exposing of Django views/fields/forms
2021-04-14 13:07:20 +02:00
Mathias Vorreiter Pedersen
2e40d01397
Update cpp/ql/src/semmle/code/cpp/security/Overflow.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-04-14 13:01:31 +02:00
Rasmus Wriedt Larsen
44d2bf42d7
Merge pull request #5671 from tausbn/python-use-api-graphs-in-werkzeug
...
Python: Use API graphs in Werkzeug
2021-04-14 12:57:58 +02:00
Erik Krogh Kristensen
fd23e0bdda
use more API nodes in XmlParsers, and recognize more results from parsing XML
2021-04-14 11:48:31 +02:00
Anders Schack-Mulligen
3b6cd0f681
Merge pull request #5661 from smowton/smowton/cleanup/call-is-exprparent
...
Make Call a subclass of ExprParent.
2021-04-14 10:49:33 +02:00
Rasmus Wriedt Larsen
9de8085571
Merge pull request #5665 from tausbn/python-use-api-graphs-in-tornado
...
Python: Tornado cleanup using API graphs
2021-04-14 10:22:21 +02:00
Rasmus Wriedt Larsen
2d0c9b6bf2
Merge pull request #5670 from tausbn/python-use-api-graphs-in-dill
...
Python: Use API graphs in Dill model
2021-04-14 10:08:02 +02:00
Rasmus Wriedt Larsen
55723618a9
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-14 10:05:50 +02:00
Chris Smowton
2965a1f204
Use Thread$State as an inner-class example
...
Map<>$Entry currently has odd generic notation that may be about to change.
2021-04-14 08:43:05 +01:00
Chris Smowton
5158e7964e
Add change note
2021-04-14 08:25:12 +01:00
Tom Hvitved
36fe72246b
C#: Add change note
2021-04-14 09:22:16 +02:00
Tom Hvitved
4810308b16
C#: Add Customizations.qll
2021-04-14 09:16:31 +02:00
haby0
77208bcc91
Fix the error that there is no VerificationMethodToIfFlowConfig
2021-04-14 13:14:43 +08:00
haby0
e2ed0d02b0
Delete existsFilterVerificationMethod and existsServletVerificationMethod, add from get handler to filter
2021-04-14 12:34:52 +08:00
haby0
37dae67a0d
Fix RequestResponseFlowConfig.isSink error
2021-04-14 09:55:24 +08:00
Robert Marsh
419d25cbcf
Merge pull request #5325 from ihsinme/ihsinme-patch-245
...
CPP: Add query for CWE-783 Operator Precedence Logic Error When Use Bool Type
2021-04-13 13:24:39 -07:00
Taus
981c5deb57
Merge pull request #5639 from tausbn/python-api-graphs-missing-builtins
...
Python: Add missing builtins to `API::builtin`
2021-04-13 21:27:52 +02:00
Marcono1234
d853f0c400
Java: Add MemberType
2021-04-13 18:55:20 +02:00
Taus
a6bb9ebb9f
Python: Re-introduce abstract toString
...
This seems like the easier solution in the short run.
2021-04-13 16:08:41 +00:00
Taus
079c7e089d
Python: Autoformat
2021-04-13 16:05:45 +00:00
Taus
273e8ce4ef
Python: Add change note
2021-04-13 16:04:07 +00:00
haby0
00235ed3b3
Update java/ql/src/semmle/code/java/frameworks/Servlets.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-13 23:58:52 +08:00
haby0
25b012db48
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-13 23:58:28 +08:00
Taus
5f7d3d0d36
Python: Use API graphs in Werkzeug
2021-04-13 15:57:21 +00:00
haby0
7be45e7c5e
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-13 23:56:17 +08:00
haby0
6e73d13670
Update java/ql/src/semmle/code/java/frameworks/Servlets.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-13 23:48:45 +08:00
Taus
2890fe6d61
Python: Use API graphs in Dill model
...
If only all rewrites were this smooth...
2021-04-13 15:26:54 +00:00
Taus
7ed09904b4
Python: Use API graphs for Invoke
...
A few stragglers remain, as they are modelling the use of decorators.
They will be dealt with at a later date.
2021-04-13 15:21:19 +00:00
Mathias Vorreiter Pedersen
aa52585120
C++: Add change-note.
2021-04-13 17:17:05 +02:00
Marcono1234
89a5acf6e8
Java: Revert overriding XMLFile.getAPrimaryQlClass()
...
Library file has to be kept in sync with the other languages, however except
cpp none of them have the getAPrimaryQlClass() predicate declared in a
superclass. Therefore for simplicity revert the change for Java.
2021-04-13 17:09:15 +02:00
Taus
7f131c1f35
Python: Get rid of _attr predicates
2021-04-13 14:55:44 +00:00
Taus
1008411594
Python: Use API graphs in Fabric model
2021-04-13 14:49:44 +00:00
Mathias Vorreiter Pedersen
d1457995dd
C++: Use range analysis in Overflow.qll
2021-04-13 16:39:28 +02:00
Geoffrey White
8daca01c87
C++: Cleaner use of DataFlow::Node in exprIsSubLeftOrLess.
2021-04-13 15:13:11 +01:00
Geoffrey White
4879104568
C++: Add more dataflow cases to replace the loss.
2021-04-13 15:09:12 +01:00
Geoffrey White
b0ad927fdd
C++: Remove useUsePair.
2021-04-13 15:03:06 +01:00
Taus
a404faa302
Python: Use American English in change note
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-04-13 15:05:44 +02:00
Taus
7825a2cdfc
Python: Add change note
2021-04-13 12:48:45 +00:00
Taus
1a4845f417
Python: Restrict types a bit
...
The `CallCfgNode` restrictions are familiar and useful.
Restricting `InstanceSource` to extend `LocalSourceNode` is novel, but I
think it makes sense. It will act as a good reminder to anyone extending
`InstanceSource` that the node in question is a `LocalSourceNode`, which
will be enforced by the return type of the internal type tracker anyway.
2021-04-13 12:28:38 +00:00
Taus
f93b68d4dc
Python: Get rid of _attr methods
2021-04-13 12:25:38 +00:00
Taus
98d936d8b3
Python: Tornado cleanup using API graphs
...
I wasn't able to roll out API graphs as widely in Tornado as I had
hoped, since we're lacking the "def" part. This means most of the
`InstanceSource` machinery will have to stay.
2021-04-13 12:25:38 +00:00
CodeQL CI
f341d5010d
Merge pull request #5662 from asgerf/js/simpler-json-api
...
Approved by erik-krogh
2021-04-13 04:37:56 -07:00
Tom Hvitved
9b0ef2fe21
Merge pull request #5654 from hvitved/csharp/autobuilder/pwsh
...
C#: First try `pwsh` and then `powershell` when calling `dotnet-install.ps1`
2021-04-13 13:15:01 +02:00
Chris Smowton
58d198261e
Merge pull request #5663 from smowton/luchua/java/sensitive-cookie-not-httponly
...
Java: CWE-1004 Query to check sensitive cookies without the HttpOnly flag set w/minor corrections
2021-04-13 12:08:53 +01:00
CodeQL CI
646639bc73
Merge pull request #5460 from erik-krogh/forgery-2
...
Approved by asgerf
2021-04-13 03:57:04 -07:00
Chris Smowton
f22b11881e
Minimise stubs
...
By removing all business logic from the stubs, we better test that our analysis treats them as opaque and does not rely on their internal structure
2021-04-13 10:36:28 +01:00
Chris Smowton
45e1a61d7b
Mark test as bad-but-missed
...
This test ought ideally to be caught, but isn't by the current version of the query.
2021-04-13 10:36:27 +01:00
Rasmus Lerchedahl Petersen
30fbb8f1e7
Python: clean up interface
2021-04-13 11:34:47 +02:00
Asger Feldthaus
e77117f902
JS: Autoformat
2021-04-13 10:29:14 +01:00
Asger Feldthaus
929d9da4b4
JS: Migrate to new JSON API
2021-04-13 10:29:13 +01:00
Asger Feldthaus
7c13163413
JS: Lift JSON accessors to JSONValue
2021-04-13 10:29:13 +01:00
Rasmus Lerchedahl Petersen
178cb6c90f
Python: Bit too eager with the modernisation...
...
Lift type restrictions to recover results.
2021-04-13 11:26:05 +02:00
Rasmus Lerchedahl Petersen
7c0b0642c8
Python: Add imports to make code compile
2021-04-13 11:09:27 +02:00
Tom Hvitved
15c103e42d
C#: Remove code duplication in BuildScripts.cs
2021-04-13 10:57:15 +02:00
Chris Smowton
dee974ff2d
Make Call a subclass of ExprParent. All of its subclasses are in any case (via Expr or Stmt)
2021-04-13 09:13:47 +01:00
Marcono1234
c37dbb2e68
Java: Override getAPrimaryQlClass() for more classes
2021-04-13 08:46:01 +01:00
Mathias Vorreiter Pedersen
3cfd30ef6f
Merge pull request #5629 from hvitved/cpp/remove-unique
...
C++: Remove `unique` wrapper from `DataFlow::Node::getEnclosingCallable`
2021-04-13 09:42:34 +02:00
haby0
be39883166
Change the class name and comment,Use .(CompileTimeConstantExpr).getStringValue()
2021-04-13 14:10:10 +08:00
Dave Bartolomeo
afd2f58f9f
C++: Fix PR feedback
2021-04-12 18:21:05 -04:00
Dave Bartolomeo
697b2dcde8
C++: Add missing store step for single-field struct use
...
We have special code to handle field flow for single-field structs, but that special case was too specific. Some `Store`s to single-field structs have no `Chi` instruction, which is the case that we handled already. However, it is possible for the `Store` to have a `Chi` instruction (e.g. for `{AllAliased}`), but still have a use of the result of the `Store` directly. We now add a `PostUpdateNode` for the result of the `Store` itself in those cases, just like we already did if the `Store` had no `Chi`.
2021-04-12 18:11:41 -04:00
Rasmus Lerchedahl Petersen
b6bd782746
Python: Modernize via CallCfgNode
2021-04-12 23:55:59 +02:00
yoff
e4d74cf098
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-12 23:47:54 +02:00
Robert Marsh
0102d68f38
Merge pull request #5658 from MathiasVP/fix-partial-def-diff-test
...
C++: Fix performance in test
2021-04-12 13:08:30 -07:00
Andrew Eisenberg
e0fcb15739
Actions: Add workflow for marking stale questions
...
This PR adds a workflow for marking and closing issues as stale. Issues must be labeled as _question_. PRs are never marked as stale.
2021-04-12 13:05:53 -07:00
Artem Smotrakov
b96b665262
Renaming in java/ql/src/experimental/Security/CWE/CWE-094
2021-04-12 21:40:49 +03:00
Mathias Vorreiter Pedersen
037e6369ce
C++: Ensure all values are bound in both disjunctions.
2021-04-12 18:27:21 +02:00
luchua-bc
d7f26dfc18
Update stub classes and qldoc
2021-04-12 16:19:23 +00:00
Taus
fda750ef26
Merge pull request #5642 from tausbn/python-use-api-graphs-in-stdlib
...
Python: Use API graphs in `Stdlib.qll`
2021-04-12 18:05:38 +02:00
Chris Smowton
423ff32d04
Merge pull request #5384 from luchua-bc/java/insecure-spring-actuator-config
...
Java: CWE-016 Query to detect insecure configuration of Spring Boot Actuator
2021-04-12 17:04:47 +01:00
Taus
6d4ddc0329
Merge pull request #5614 from tausbn/python-allow-absolute-imports-from-source-directory
...
Python: Allow absolute imports from source directory
2021-04-12 18:02:00 +02:00
CodeQL CI
bc56d16c18
Merge pull request #5485 from RasmusWL/django-queryset-chains
...
Approved by tausbn
2021-04-12 08:49:31 -07:00
Tom Hvitved
dfc91b8331
C#: Simplify dotnet-install.ps1 invocation
...
Using the pattern from https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script .
2021-04-12 17:33:33 +02:00
Chris Smowton
bb23866cec
Add missing doc comments
2021-04-12 16:33:01 +01:00
Tom Hvitved
d35a501121
Merge pull request #5583 from lcartey/cs/restrict-jump-to-def
...
C#: Exclude jump-to-def information for elements with too many locations
2021-04-12 16:52:20 +02:00
ihsinme
a43698802f
Update InsufficientControlFlowManagementWhenUsingBitOperations.ql
2021-04-12 17:36:50 +03:00
CodeQL CI
310a2c8bb3
Merge pull request #5655 from erik-krogh/cert
...
Approved by esbena
2021-04-12 07:31:04 -07:00
Chris Smowton
2656a52880
Merge pull request #5538 from luchua-bc/java/credentials-in-properties
...
Java: CWE-555 Query to detect plaintext credentials in Java properties files
2021-04-12 15:22:21 +01:00
Chris Smowton
abeefcaced
Merge pull request #4947 from porcupineyhairs/DexLoading
...
Java : add query to detect insecure loading of Dex File
2021-04-12 15:22:12 +01:00
Asger Feldthaus
d2fad180f8
JS: Add test
2021-04-12 15:07:45 +01:00
Mathias Vorreiter Pedersen
5aeaab7c6d
C++: As response to the review comments this commit adds a reference-to-pointer state to AddressFlow. A call to an unwrapper function now adds a pointer -> reference-to-pointer transition, and a ReferenceDereference adds a reference-to-pointer -> pointer transition.
2021-04-12 16:01:01 +02:00
ihsinme
58d5ad48d5
Update InsufficientControlFlowManagementAfterRefactoringTheCode.ql
2021-04-12 17:00:34 +03:00
ihsinme
d7c14775bf
Update InsufficientControlFlowManagementAfterRefactoringTheCode.qhelp
2021-04-12 16:56:48 +03:00
Chris Smowton
11bf982728
Remove superfluous linebreaks in qhelp file
2021-04-12 14:36:42 +01:00
Asger Feldthaus
24de826133
JS: Add file diagnostics errors
2021-04-12 14:11:38 +01:00
Erik Krogh Kristensen
32737a17fb
add change note
2021-04-12 15:09:13 +02:00
Erik Krogh Kristensen
172d6139e2
support all ClientRequests in js/disabling-certificate-validation
2021-04-12 15:06:10 +02:00
luchua-bc
c281e54d22
Remove unused files and update qldoc
2021-04-12 13:05:01 +00:00
Tom Hvitved
57016ddbde
C++: Remove unique wrapper from DataFlow::Node::getEnclosingCallable()
2021-04-12 14:41:52 +02:00
Tom Hvitved
7d2a60e910
Merge pull request #5640 from hvitved/dataflow/path-step-perf
...
Data flow: Prevent bad join-order in `pathStep`
2021-04-12 14:40:46 +02:00
Tamas Vajk
b4d35b52c3
C#: Add Console.Read* to local flow sources
2021-04-12 14:19:17 +02:00
Tom Hvitved
5446532e1d
C#: Update auto-builder tests
2021-04-12 14:01:55 +02:00
Anders Schack-Mulligen
acd4cf2878
Merge pull request #5636 from aschackmull/java/shared-flow-summaries
...
Java: Adopt shared flow summaries
2021-04-12 13:35:31 +02:00
CodeQL CI
e8d835b422
Merge pull request #5638 from erik-krogh/smartInliner
...
Approved by esbena
2021-04-12 04:17:25 -07:00
Tom Hvitved
c7686b1838
C#: First try pwsh and then powershell when calling dotnet-install.ps1
2021-04-12 13:01:14 +02:00
Tom Hvitved
cf5f838b13
Data flow: Remove recommendation to use unique in Node::getEnclosingCallable()
2021-04-12 12:04:23 +02:00
Anders Schack-Mulligen
e003b04061
Merge pull request #5637 from Marcono1234/marcono1234/toString-method
...
Java: Add ToStringMethod
2021-04-12 11:43:55 +02:00
Max Schaefer
cd57e61f65
Rename MkHasUnderlyingType to MkTypeUse.
2021-04-12 11:30:15 +02:00
Erik Krogh Kristensen
91d28fb8b0
cleanup in API-graphs
2021-04-12 11:30:15 +02:00
CodeQL CI
63f087a8e9
Merge pull request #5653 from erik-krogh/givenCommand
...
Approved by asgerf
2021-04-12 02:01:32 -07:00
Rasmus Wriedt Larsen
364d48948f
Merge pull request #3810 from dilanbhalla/syntaxpython
...
Python: Function/Class Naming Convention (Syntax)
2021-04-12 10:42:17 +02:00
Rasmus Lerchedahl Petersen
3ff8e010b2
Python: Refactor based on review
...
- more natural handling of default arguments
- do not assume default construction gives a family
- simplifies `UnspecificSSLContextCreation`
2021-04-12 10:00:07 +02:00
Rasmus Lerchedahl Petersen
9f91dde76f
Python: Update test expectation after comment
2021-04-12 09:58:06 +02:00
Erik Krogh Kristensen
17c4bbbc4e
allow parameters that end with "Command" in js/shell-command-constructed-from-input
2021-04-12 09:57:40 +02:00
haby0
1b948ac2e2
Combine two Configurations into one
2021-04-12 15:44:39 +08:00
Rasmus Lerchedahl Petersen
036fddfdb5
Python: Namable -> Nameable
2021-04-12 08:18:24 +02:00
yoff
02d6de81a7
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-12 08:16:36 +02:00
ihsinme
feb3a8deb1
Update InsufficientControlFlowManagementAfterRefactoringTheCode.expected
2021-04-12 08:23:41 +03:00
ihsinme
6924c6c51c
Update test.c
2021-04-12 08:23:06 +03:00
ihsinme
3da88f2103
Update InsufficientControlFlowManagementAfterRefactoringTheCode.c
2021-04-12 08:15:36 +03:00
ihsinme
17d1c77a14
Update InsufficientControlFlowManagementAfterRefactoringTheCode.ql
2021-04-12 08:14:17 +03:00
yo-h
4f2060f96b
Merge commit '2d618d6b928d8b76ac8033b3b63d9bde71caa325' into yo-h/java16
2021-04-11 23:55:33 -04:00
Taus
10be2735ec
Python: Get rid of _attr predicates
...
Also changes all `CfgNode`s representing calls to `CallCfgNode`s.
2021-04-10 12:12:18 +00:00
intrigus
8d11bc97ca
[Java] Add "missing jwt signature check" qhelp.
2021-04-10 13:36:22 +02:00
haby0
d90527bead
JsonpInjectionExpr updated to JsonpBuilderExpr
2021-04-10 10:33:21 +08:00
Marcono1234
9349e6922d
Java: Add ToStringMethod
2021-04-10 04:00:44 +02:00
haby0
eeae91e620
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:48:55 +08:00
haby0
046aeaa38c
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:37:29 +08:00
haby0
8b756d7f1b
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:27:03 +08:00
haby0
650446f761
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:26:32 +08:00
haby0
a5ebe8c600
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:26:08 +08:00
porcupineyhairs
8687c5c145
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:18:35 +05:30
haby0
8a7d28a2ed
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:29:49 +08:00
haby0
4c21980d4f
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:29:30 +08:00
haby0
9635a36044
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:29:06 +08:00
haby0
760231c004
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:28:17 +08:00
haby0
c77c7b0a98
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:27:16 +08:00
haby0
837f20108d
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:25:43 +08:00
haby0
157e4670fd
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:25:11 +08:00
haby0
79c1374925
Update java/ql/src/semmle/code/java/frameworks/Servlets.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:24:49 +08:00
haby0
1510048f7a
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:23:13 +08:00
haby0
d8165145c7
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:22:44 +08:00
haby0
ebd38eaf3b
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:22:08 +08:00
haby0
b8c11503f0
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:21:49 +08:00
Dave Bartolomeo
0a86642056
C++: Refactor some side effect generation code
...
This change was necessary for my upcoming changes to introduce side effect instructions for indirections of smart pointers. The code to decide which parameters have which side effects appeared in both the IPA constructor for `TTranslatedSideEffect` and in `TranslatedCall`. These two versions didn't quite agree, especially once the `SideEffectFunction` model provides its own side effects instead of the defaults.
The relevant code has now been factored out into `SideEffects.qll`. This queries the model if one exists, and provides default side effects if no model exists. This fixes at least one existing issue, where we were emitting a buffer read side effect for `*this` instead of an indirect read side effect. This accounts for all of the IR diffs in the tests.
2021-04-09 16:14:03 -04:00
luchua-bc
4e3791dc0d
Remove LoadCredentialsConfiguration and update qldoc
2021-04-09 19:36:35 +00:00
Taus
720fbaf301
Python: Fix test error.
...
Somehow, having to type "Node" all day long made me turn "json" into
"node"...
Also removes some bits that weren't needed after all.
2021-04-09 19:04:49 +00:00
Mathias Vorreiter Pedersen
1510fe370d
C++: Add cases for const pointer wrapper references to AddressFlow and FlowVar.
2021-04-09 20:58:05 +02:00
Mathias Vorreiter Pedersen
2329b31601
C++: Replace the new SmartPointerPartialDefinition with additional steps in AddressFlow.qll
2021-04-09 20:49:45 +02:00
Mathias Vorreiter Pedersen
a460e3ad3d
Merge branch 'main' into ast-flow-smart-pointers
2021-04-09 19:41:10 +02:00
Geoffrey White
40637c18ce
C++: Add change note.
2021-04-09 18:14:12 +01:00
Geoffrey White
0818c1d703
C++: Update QLDoc.
2021-04-09 18:11:48 +01:00
Taus
cc4827600b
Python: Use API graphs in Stdlib.qll
...
Eliminates _almost_ all of the bespoke type trackers found here. The
ones that remain do not fit easily inside the framework of API graphs
(at least, not yet), and I did not see any easy ways to clean them up.
They have, however, been rewritten to use `LocalSourceNode` internally,
which was the primary goal of this exercise.
I'm sure we could also clean up many of the inner modules given the more
lean presentation we have now, but this can wait for a different PR.
2021-04-09 17:11:47 +00:00
luchua-bc
04b0682bbf
Use isAdditionalTaintStep and make the query more readable
2021-04-09 16:14:51 +00:00
Tom Hvitved
fd8f745468
Java: Adopt shared flow summary library and refactor data-flow nodes.
2021-04-09 16:57:03 +02:00
Shati Patel
2d618d6b92
Merge pull request #5625 from shati-patel/docs/cli-manual
...
Docs: Link to CodeQL CLI manual from the sidebar
2021-04-09 15:30:24 +01:00
Tom Hvitved
f130616369
Data flow: Make getLocalCc private again
2021-04-09 16:22:58 +02:00
Geoffrey White
3b437fe6cf
C++: Replace GVN with some other libraries.
2021-04-09 15:21:42 +01:00
Taus
d2b874f217
Python: Use API graphs in PEP249 support
...
Because the replacement extension point now extends `API::Node`, I
modified the `toString` method of the latter to have an empty body.
The alternative would be to require everyone to provide a `toString`
predicate for their extensions, but seeing as these will usually be
pointing to already existing API graph nodes, this seems silly.
(This may be the reason why the equivalent method in the JS libs has
such an implementation.)
2021-04-09 14:19:00 +00:00
Jonas Jensen
e1d0bbb021
Merge pull request #5607 from MathiasVP/smart-pointer-ast-read-store-steps
...
C++: read and store steps for smart pointers in AST dataflow
2021-04-09 16:11:48 +02:00
CodeQL CI
6fd4a8afff
Merge pull request #5567 from asgerf/js/sql-models
...
Approved by esbena
2021-04-09 07:11:10 -07:00
CodeQL CI
be2fe6e171
Merge pull request #5630 from erik-krogh/urlStep
...
Approved by esbena
2021-04-09 07:05:43 -07:00
CodeQL CI
8d2768b2ce
Merge pull request #5634 from erik-krogh/fileSource
...
Approved by asgerf
2021-04-09 07:04:42 -07:00
Anders Schack-Mulligen
701e815368
Merge pull request #5628 from hvitved/java/remove-unique
...
Java: Remove `unique` wrapper from `DataFlow::Node::getEnclosingCallable()`
2021-04-09 15:21:26 +02:00
Mathias Vorreiter Pedersen
cd310eb9d5
C++: Remove unused import.
2021-04-09 15:08:48 +02:00
Tamás Vajk
992a4df12f
Merge pull request #5619 from tamasvajk/feature/fix-default-argument-value-extraction
...
C# Improve default argument value extraction
2021-04-09 14:58:35 +02:00
Mathias Vorreiter Pedersen
996cda9b97
C++: Fix incorrect test annotation.
2021-04-09 14:46:46 +02:00
Tom Hvitved
6874b8d4b3
Data flow: Prevent bad join-order in pathStep
2021-04-09 14:24:47 +02:00
Mathias Vorreiter Pedersen
80d5b17900
C++: Remove the dataflow rule for smart_ptr -> *smart_ptr.
2021-04-09 14:20:51 +02:00
Mathias Vorreiter Pedersen
cae0060a89
C++: Replace the new rules in DataFlowUtil with a dataflow model for pointer wrapper classes.
2021-04-09 14:06:58 +02:00
Taus
affdedd840
Python: Add missing builtins to API::builtin
...
We were missing out on `None`, `True`, and `False` as these do not
appear as actual attributes of the `builtins` module in Python 3
(because they are elevated to the status of keywords there)
The simple solution, then, is to just always include them directly.
2021-04-09 12:02:07 +00:00
Tamas Vajk
46197e6e69
Address review comments
2021-04-09 13:39:37 +02:00
Tamas Vajk
351f35d9bc
Revert "Java: Convert other sinks"
...
This reverts commit 87d42b02c0 .
2021-04-09 13:13:49 +02:00
Tamas Vajk
87d42b02c0
Java: Convert other sinks
2021-04-09 13:13:39 +02:00
Tamas Vajk
3e53484bb3
Java: Convert Google HTTP client API parseAs sink to CSV format
2021-04-09 13:10:44 +02:00
Tamas Vajk
e544faed6d
Java: Convert unsafe hostname verification sinks to CSV format
2021-04-09 13:10:44 +02:00
Tamas Vajk
17fd758df1
Java: Convert XSS sinks to CSV format
2021-04-09 13:10:44 +02:00
Erik Krogh Kristensen
595bdedb22
rename predicate to getStem, and update regexp
2021-04-09 13:07:54 +02:00
Tamas Vajk
0b7a6671dd
Java: Convert header splitting sinks to CSV format
2021-04-09 13:06:05 +02:00
Tamas Vajk
f329c3fdab
Java: Convert insecure bean validation sink to CSV format
2021-04-09 13:06:04 +02:00
Mathias Vorreiter Pedersen
0a6aef71a2
C++: Respond to review comments.
2021-04-09 12:29:13 +02:00
CodeQL CI
652e8b4872
Merge pull request #5586 from asgerf/js/tsconfig-file-inclusion-handling
...
Approved by esbena
2021-04-09 02:50:51 -07:00
Tamas Vajk
9e2832a82d
Java: Convert zipslip sinks to CSV format
2021-04-09 11:43:29 +02:00
Tamas Vajk
b9ce1aefc0
Java: Convert unsafe URL opening sinks to CSV format
2021-04-09 11:43:29 +02:00
Tom Hvitved
c9c4c067b6
Merge pull request #5633 from hvitved/csharp/get-a-source-type-perf
...
C#: Improve performance of `Dispatch::SimpleTypeDataFlow::getASourceType()`
2021-04-09 11:42:34 +02:00
Tamás Vajk
a335bb0115
Merge pull request #5609 from tamasvajk/feature/dapper
...
C#: Dapper support
2021-04-09 10:52:17 +02:00
CodeQL CI
ad267404c9
Merge pull request #5137 from asgerf/js/redux-less
...
Approved by erik-krogh
2021-04-09 01:24:19 -07:00
Tamas Vajk
d7f0b9a7fa
Add change note
2021-04-09 09:58:37 +02:00
Tamas Vajk
749db379ca
Address code review findings
2021-04-09 09:55:37 +02:00
Tamas Vajk
dbb3d3dc17
Add change note
2021-04-09 09:50:55 +02:00
Tamas Vajk
53daa7c436
Java: Migrate LDAP injection sinks to CSV format
2021-04-09 09:15:47 +02:00
luchua-bc
11304b2ae1
Update qldoc and change the wrapper method implementation
2021-04-09 02:21:59 +00:00
jorgectf
1c34230efb
Fix documentation typo
2021-04-09 01:58:18 +02:00
jorgectf
b020ea6e3a
Polish documentation
2021-04-09 01:50:23 +02:00
jorgectf
a2e8d88a07
Write documentation
2021-04-09 01:47:44 +02:00
Erik Krogh Kristensen
7f01586bf1
fix bad join order in getDocumentedParameter
2021-04-09 01:15:46 +02:00
jorgectf
cd75433e39
Fix qhelp examples extension
2021-04-09 00:52:50 +02:00
Erik Krogh Kristensen
e5bce548de
add nomagic on mayHaveStringValue
2021-04-09 00:08:51 +02:00
jorgectf
82f47f8571
Polish metadata
2021-04-08 23:55:34 +02:00
jorgectf
b405c675c2
Add qhelp last newline
2021-04-08 23:49:33 +02:00
jorgectf
7819d1a30b
Generate .expected
2021-04-08 23:45:26 +02:00
jorgectf
4f85de87de
Add qlref
2021-04-08 23:45:12 +02:00
jorgectf
95bfdc4955
Move tests to /test
2021-04-08 23:45:03 +02:00
jorgectf
1554f4f48d
Create qhelp examples
2021-04-08 23:44:46 +02:00
jorgectf
3c1ca72324
Improve qhelp
2021-04-08 23:44:30 +02:00
jorgectf
7296879bc9
Polish tests
2021-04-08 23:11:20 +02:00
jorgectf
8661cb0719
Polish LDAP3Query
2021-04-08 22:56:12 +02:00
jorgectf
a1850ddad4
Change LDAP config (qll) filename
2021-04-08 22:55:48 +02:00
Erik Krogh Kristensen
956311457d
fixed bad SourceNode X SourceNode join in HTTP model
2021-04-08 21:15:50 +02:00
ihsinme
9b3ccade43
Update test.c
2021-04-08 22:06:35 +03:00
ihsinme
3d117243e4
Update test.c
2021-04-08 22:05:31 +03:00
ihsinme
02eb447a35
Update InsufficientControlFlowManagementWhenUsingBitOperations.expected
2021-04-08 22:04:08 +03:00
ihsinme
a6b486a448
Update InsufficientControlFlowManagementWhenUsingBitOperations.ql
2021-04-08 22:01:43 +03:00
Dilan
d73ba13b28
autoformat fix
2021-04-08 11:41:58 -07:00
Artem Smotrakov
b39a3ab12c
Added setVariable() sink
2021-04-08 20:41:43 +03:00
Tamás Vajk
8adaee05b6
Merge pull request #5453 from tamasvajk/feature/use_codeql_stubs
...
C#: Adjust make_stubs.py to use codeql instead of odasa
2021-04-08 16:16:05 +02:00
Anders Schack-Mulligen
6109ef5e88
Merge pull request #5475 from Marcono1234/marcono1234/minus-literal
...
Java: Improve documentation regarding minus in front of numeric literals
2021-04-08 16:11:14 +02:00
Asger Feldthaus
7d300b53d7
JS: Autoformat
2021-04-08 15:06:48 +01:00
Anders Schack-Mulligen
d42a01cb3a
qldoc fixup
2021-04-08 15:45:21 +02:00
Tamas Vajk
e5160929eb
Remove ODASA reference from make_stubs.py
2021-04-08 15:04:02 +02:00
Erik Krogh Kristensen
30ba69d991
treat "files" in a package.json as main modules, if "main" is not present
2021-04-08 14:42:12 +02:00
Tom Hvitved
036e181bc1
C#: Improve performance of Dispatch::SimpleTypeDataFlow::getASourceType()
2021-04-08 14:27:28 +02:00
Tom Hvitved
716568ebd1
Merge pull request #5623 from hvitved/csharp/enclosing
...
C#: Compute enclosing callable as a transitive closure
2021-04-08 14:20:09 +02:00
Tom Hvitved
9820116734
Merge pull request #5603 from hvitved/csharp/dataflow/no-unique
...
C#: Remove `unique` wrappers from `DataFlow::Node::get(EnclosingCallable|ControlFlowNode)`
2021-04-08 14:19:34 +02:00
Asger Feldthaus
52a2260dc7
JS: Rename change note file
2021-04-08 12:52:23 +01:00
Rasmus Wriedt Larsen
c738f387b1
Merge pull request #5624 from tausbn/python-make-callcfgnode-a-localsourcenode
...
Python: Improve `CallCfgNode` interface
2021-04-08 13:38:24 +02:00
haby0
1da48ed4d1
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-08 19:22:14 +08:00
haby0
bfbfe7af13
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-08 19:21:58 +08:00
haby0
21004006d6
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSourceLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-08 19:17:04 +08:00
Taus
cf5f760ecd
Merge pull request #5582 from RasmusWL/all-tuple
...
Python: Add support for `__all__` assigned to tuple
2021-04-08 13:03:27 +02:00
Rasmus Wriedt Larsen
83477439a1
Python: Make django views/fields/forms class modeling extensible
...
This also requires that we make this part of the modeling public, which I guess
is step we want to take eventually anyway!
I'm not quite sure whether the modules `Django::Views` and `Django::Forms` are
actually helpful, or whether we should just have their modules available as
`Django::View`, `Django::Form`, and `Django::Field`...
2021-04-08 12:45:37 +02:00
Rasmus Wriedt Larsen
b7483a5394
Python: Add modeledSubclassRef for Django views/fields/forms
2021-04-08 12:45:36 +02:00
Rasmus Wriedt Larsen
322bdcb703
Python: Port Django view modeling to API graphs
2021-04-08 12:45:35 +02:00
Rasmus Wriedt Larsen
8ce5c46e05
Python: Minor refactor
...
modName/clsName _is_ shorter, but also looks way worse :D
2021-04-08 12:45:34 +02:00
Tamas Vajk
a790eb8110
Fix for unconstrained generic types
2021-04-08 12:20:01 +02:00
Tamas Vajk
a8cbdc92b9
Add more test cases
2021-04-08 12:17:19 +02:00
Tamas Vajk
551a7ce9e5
Fix expression value of struct default argument values
2021-04-08 12:14:53 +02:00
Tamas Vajk
c069c3384e
Fix tests
2021-04-08 12:07:36 +02:00
Tamas Vajk
cb9a9db356
C# Improve default argument value extraction
2021-04-08 12:07:22 +02:00
Tamas Vajk
2ac1e60406
C#: Add parameter default value tests
2021-04-08 12:04:18 +02:00
haby0
86ef2588f1
Restore @Component annotation
2021-04-08 17:55:29 +08:00
Jonas Jensen
51bab81f56
Merge pull request #5622 from MathiasVP/inline-is-before
...
C++: Inline Location::isBefore
2021-04-08 11:24:33 +02:00
haby0
3f0a3266aa
[Java] CWE-348: Use of less trusted source
2021-04-08 17:14:03 +08:00
Erik Krogh Kristensen
99dd5330c2
add taint-step for URL construction in js/request-forgery
2021-04-08 11:10:33 +02:00
Geoffrey White
517fd23ca5
C++: Correct and add to test cases.
2021-04-08 09:48:38 +01:00
CodeQL CI
a9527fd913
Merge pull request #5621 from erik-krogh/shellSink
...
Approved by esbena
2021-04-08 09:47:45 +01:00
Tom Hvitved
2faf52b6bd
Java: Remove unique wrapper from DataFlow::Node::getEnclosingCallable()`
2021-04-08 10:07:19 +02:00
jorgectf
33423eaef3
Optimize calls
2021-04-08 00:31:53 +02:00
Dilan
675de07c3e
autoformat ql
2021-04-07 15:04:18 -07:00
ihsinme
ed34c96357
Update InsufficientControlFlowManagementWhenUsingBitOperations.ql
2021-04-07 21:40:49 +03:00
ihsinme
eb9b41acab
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-04-07 21:31:12 +03:00
Artem Smotrakov
a764a79090
Always bind arguments in TaintPropagatingCall
2021-04-07 21:12:21 +03:00
Artem Smotrakov
c13ee0859a
LambdaExpression should extend JakartaType
2021-04-07 21:02:21 +03:00
Shati Patel
4cf0b8e725
Merge pull request #5626 from shati-patel/docs/broken-links
...
Docs: Fix broken link to cached "RemoteFlowSource"
2021-04-07 19:01:33 +01:00
Artem Smotrakov
3d8e173c57
Removed a reference to Apache Commons EL
2021-04-07 20:59:07 +03:00
Artem Smotrakov
80ac2aff26
Fixed typos
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-04-07 20:55:03 +03:00
Shati Patel
f372274857
Docs: Fix broken links
2021-04-07 18:02:29 +01:00
Shati Patel
2373bf2dfb
Docs: Link to CodeQL CLI manual from the sidebar
2021-04-07 17:55:05 +01:00
Tom Hvitved
1cf30d2a9e
C#: Compute enclosing callable as a transitive closure
2021-04-07 17:44:41 +02:00
Jonas Jensen
ab58cb3d44
Merge pull request #5604 from MathiasVP/fix-false-positive-in-assign-where-compare-meant
...
C++: Fix FP in cpp/assign-where-compare-meant
2021-04-07 16:54:45 +02:00
CodeQL CI
f0491af64c
Merge pull request #5529 from erik-krogh/socketInput
...
Approved by esbena
2021-04-07 15:03:13 +01:00
Asger F
0c724a8427
Merge pull request #5304 from asgerf/js/non-alert-data
...
JS: Implement new metric queries for line counting
2021-04-07 14:52:51 +01:00
yoff
38daeb4df2
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-07 15:50:51 +02:00
Mathias Vorreiter Pedersen
03b12dbc6d
C++: Inline Location::isBefore.
2021-04-07 15:45:08 +02:00
Erik Krogh Kristensen
365b4d722d
backtrack string-concatenations from shell-execution sinks
2021-04-07 15:34:54 +02:00
Taus
903f364dab
Python: Improve CallCfgNode interface
...
Call nodes are always local sources (specifically sources of the return
value of the call), and so inheriting from `LocalSourceNode` will have
no effect on results, but _should_ make it a bit more smooth to use the
API.
2021-04-07 13:31:12 +00:00
CodeQL CI
073a43ce74
Merge pull request #5606 from erik-krogh/shellInput
...
Approved by esbena
2021-04-07 14:30:31 +01:00
Shati Patel
461d4e45af
Merge pull request #5608 from shati-patel/docs/telemetry-settings
...
Docs: Mention telemetry in "customizing settings"
2021-04-07 13:44:32 +01:00
Erik Krogh Kristensen
c9f54ea1ad
update expected output
2021-04-07 12:37:17 +00:00
Asger Feldthaus
ee13ff71d6
JS: Add another change note
2021-04-07 12:29:06 +01:00
Asger Feldthaus
26cddc7d04
JS: Update test output
2021-04-07 12:28:45 +01:00
Taus
6c69c1aeeb
Python: Minor cleanup
2021-04-07 10:47:21 +00:00
Asger Feldthaus
69973d0fa2
JS: Autoformat
2021-04-07 11:24:11 +01:00
ihsinme
cbf158ea6b
Add files via upload
2021-04-07 13:12:30 +03:00
ihsinme
36de496d47
Add files via upload
2021-04-07 13:12:29 +03:00
ihsinme
ed2a8db8c9
Add files via upload
2021-04-07 13:10:01 +03:00
ihsinme
9c3b7e81c7
Add files via upload
2021-04-07 13:10:00 +03:00
Erik Krogh Kristensen
a66083d685
change "Uncontrolled path" to "Path concatenation"
2021-04-07 08:23:07 +00:00
CodeQL CI
fd4e8f8282
Merge pull request #5526 from erik-krogh/quotedShell
...
Approved by esbena
2021-04-07 08:39:01 +01:00
CodeQL CI
61880ba90a
Merge pull request #5530 from erik-krogh/moreFS
...
Approved by esbena
2021-04-07 08:37:23 +01:00
Rasmus Lerchedahl Petersen
a006a92f8d
Python: Expand commentary
2021-04-07 08:32:40 +02:00
Rasmus Lerchedahl Petersen
f22db2a30b
Python: One family to rule them all...
2021-04-07 08:32:21 +02:00
Rasmus Lerchedahl Petersen
a0e3e3afaf
Python: adjust test expectations
2021-04-07 08:22:36 +02:00
Rasmus Lerchedahl Petersen
fb95c488e8
Python: format
2021-04-07 08:20:52 +02:00
Robert Marsh
e22ec50dee
Merge pull request #5613 from github/hmakholm/pr/fix-redos
...
Fix ReDOS in cpp/ql/src/Security/CWE/CWE-428/UnsafeCreateProcessCall.ql
2021-04-06 15:54:27 -07:00
Geoffrey White
a8193dac08
C++: Reintroduce the exprMightOverflowNegatively bit.
2021-04-06 22:36:59 +01:00
Geoffrey White
60e4faba4c
C++: Add linear expression logic.
2021-04-06 22:28:36 +01:00
Geoffrey White
48ff8e237c
C++: Rewrite the range analysis exclusion to be recursive and more robust.
2021-04-06 22:26:55 +01:00
Geoffrey White
3ecd13531f
C++: Improve isGuarded.
2021-04-06 22:21:59 +01:00
Geoffrey White
59ff3f315b
C++: Add test cases exploring issues and potential issues with the query (especially related to simple range analysis).
2021-04-06 22:21:25 +01:00
Rasmus Lerchedahl Petersen
094d2f3b7d
Python: clean up tests
2021-04-06 22:59:58 +02:00
Rasmus Lerchedahl Petersen
a44490b470
Python: remove unused file
2021-04-06 22:56:07 +02:00
Rasmus Lerchedahl Petersen
0626684442
Python: small cleanups enabled by review
2021-04-06 22:55:32 +02:00
yoff
acf8fd0f03
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-06 22:45:03 +02:00
Taus
a93132daae
Merge branch 'python-allow-absolute-imports-from-source-directory' of https://github.com/tausbn/codeql into python-allow-absolute-imports-from-source-directory
2021-04-06 19:58:57 +00:00
Taus
43ae7462b4
Python: Only track modules that are imported
...
This greatly restricts the set of modules that have a new name under
this scheme.
One change to the tests was needed, which reflects the fact that the
two `main.py` files no longer have the name `main` (which makes sense,
since they're never imported under this name).
2021-04-06 21:56:12 +02:00
Taus
b44db460f6
Python: Only track modules that are imported
2021-04-06 19:55:43 +00:00
Henning Makholm
2d615ef503
Fix ReDOS in cpp/ql/src/Security/CWE/CWE-428/UnsafeCreateProcessCall.ql
...
The sub-regex `(\s|.)*` aims to capture arbitrary string content
(in contrast to `.*` which doesn't match newlines), but it is
unsafe, since non-newline whitespace can match both alternatives.
This caused an evaluator crash in the wild.
Replace with `[\s\S]*`, which matches everything in a safe way.
2021-04-06 20:10:57 +02:00
yo-h
cc63563a88
Merge remote-tracking branch 'upstream-public/main' into yo-h/java16
2021-04-06 13:16:02 -04:00
Taus Brock-Nannestad
8e11abca40
Revert "Merge pull request #5552 from RasmusWL/revert-import-change"
...
This reverts commit 49d1937dc4 , reversing
changes made to d4877a9038 .
2021-04-06 17:39:41 +02:00
Tamas Vajk
ffcb345916
C#: Add Dapper support to SQL injection queries
2021-04-06 17:06:20 +02:00
Shati Patel
9a41c80626
Merge pull request #5574 from github/smowton/admin/update-supported-go-version
...
Update supported Go version to 1.16
2021-04-06 14:54:36 +01:00
jorgectf
1bcb9cd7c0
Simplify query
2021-04-06 15:42:56 +02:00
Shati Patel
695b02a94c
Docs: Mention telemetry in "customizing settings"
2021-04-06 14:30:17 +01:00
Erik Krogh Kristensen
2c1cc9ead6
use local variable instead of module.exports in example
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-04-06 15:17:31 +02:00
Tom Hvitved
f45916efda
Merge pull request #5605 from hvitved/csharp/exclude-dependency-queries
...
C#: Remove mentions of `exclude-dependency-queries.yml`
2021-04-06 14:58:49 +02:00
Mathias Vorreiter Pedersen
8382e85901
C++: Add flow into the source of read step and out of the target of a store step for smart pointers in AST dataflow.
2021-04-06 14:05:55 +02:00
Mathias Vorreiter Pedersen
f07d844362
C++: Add a test containing missing read/store dataflow steps for smart pointers.
2021-04-06 13:59:27 +02:00
Tamas Vajk
98001c494f
C#: Add Dapper stub and new SqlInjection test cases
2021-04-06 13:30:31 +02:00
Erik Krogh Kristensen
41b89669a9
add joined paths as a sink to js/shell-command-constructed-from-input
2021-04-06 12:14:00 +02:00
Rasmus Wriedt Larsen
bc49bc7095
Python: Add variable with underscore to __all__ tests
2021-04-06 11:54:25 +02:00
Tom Hvitved
e0e58b24ea
C#: Remove mentions of exclude-dependency-queries.yml
2021-04-06 11:50:36 +02:00
Rasmus Wriedt Larsen
224d3790b5
Python: Highlight all_indirect.py is not super important
...
At least not in my mind
2021-04-06 11:50:04 +02:00
Rasmus Wriedt Larsen
b11703cc74
Python: all_dybamic2 => all_indirect
2021-04-06 11:49:55 +02:00
Mathias Vorreiter Pedersen
5eb1f8abbd
C++: Add change-note.
2021-04-06 11:47:57 +02:00
Rasmus Wriedt Larsen
0ebb24ebeb
Merge pull request #5398 from yoff/python-api-enhancements
...
Python: Add small api enhancements determined useful during documentation work
2021-04-06 11:44:51 +02:00
Tom Hvitved
667b26b5d9
Merge pull request #5540 from hvitved/csharp/ssa-impl-tweaks
...
C#: Performance tweaks in `SsaImplCommon.qll`
2021-04-06 11:43:08 +02:00
Mathias Vorreiter Pedersen
a5f4d43d61
C++: Fix false positive by adding another allow-list pattern in AssignWhereCompareMeant.
2021-04-06 11:01:38 +02:00
Mathias Vorreiter Pedersen
7045597139
C++: Add testcase with false positive from #5318 .
2021-04-06 10:58:15 +02:00
Erik Krogh Kristensen
c194598d37
recognize headers/url from the HTTP request to a server WebSocket.
2021-04-06 10:11:27 +02:00
Tom Hvitved
e852540254
C#: Remove unique wrappers from DataFlow::Node::get(EnclosingCallable|ControlFlowNode)
2021-04-06 09:56:09 +02:00
Rasmus Lerchedahl Petersen
c777f1d8d7
Merge branch 'main' of github.com:github/codeql into python-api-enhancements
2021-04-06 09:31:26 +02:00
Mathias Vorreiter Pedersen
32a8b9a857
C++: Move copy constructor to its own line and accept test changes.
2021-04-06 08:56:14 +02:00
yoff
a23d8deb10
Merge pull request #5483 from RasmusWL/minor-fixup-django
...
Python: Better text for getSourceType in Django
2021-04-06 08:30:58 +02:00
intrigus
885044e331
[Java] Add tests for jwt signature check query.
2021-04-06 01:01:57 +02:00
intrigus
b7e49c78fe
[Java] Add stubs for jwtk-jjwt-0.11.2
2021-04-06 01:01:23 +02:00
intrigus
d1462eda1c
[Java] Add "missing jwt signature check" query.
2021-04-06 00:59:31 +02:00
Asger Feldthaus
32500c834d
JS: Change note
2021-04-01 16:41:03 +01:00
Asger Feldthaus
acc28df785
JS: Bugfix in tsconfig file inclusion handling
2021-04-01 16:33:05 +01:00
Asger Feldthaus
564a6873f8
JS: Add baseUrl test
2021-04-01 16:33:05 +01:00
Asger Feldthaus
c4ab6fb7b4
JS: Add ImportGraph meta query
2021-04-01 16:33:05 +01:00
Asger Feldthaus
f07030ba97
JS: Update AdditionalFlowStep -> SharedFlowStep
2021-04-01 13:16:47 +01:00
Asger Feldthaus
a9566728b5
JS: Update an import of Unit type
2021-04-01 13:16:47 +01:00
Asger Feldthaus
7119eda009
JS: Add redux change note
2021-04-01 13:16:47 +01:00
Asger Feldthaus
86bc0eb853
JS: Autoformat
2021-04-01 13:16:47 +01:00
Asger Feldthaus
b43989e6a1
JS: Use API nodes to track dispatch/dispatched value sources
2021-04-01 13:16:47 +01:00
Asger Feldthaus
2850b8e952
JS: Fix RangeAnalysis after BasicBlock.dominates change
2021-04-01 13:16:47 +01:00
Asger Feldthaus
cbfa5ad303
JS: Change type of a parameter
2021-04-01 13:16:47 +01:00
Asger Feldthaus
cee1a12489
JS: Fix typo in qldoc
2021-04-01 13:16:47 +01:00
Asger Feldthaus
c926a47d50
JS: QLDoc and test for HeuristicConnectEntryPoint
2021-04-01 13:16:47 +01:00
Asger Feldthaus
cca38a64be
JS: Add test for flow to a closure body under a type guard
2021-04-01 13:16:46 +01:00
Asger Feldthaus
53def60e4f
JS: Add test for if-based type check
2021-04-01 13:16:46 +01:00
Asger Feldthaus
1ce7c3448f
JS: Address some review comments
2021-04-01 13:16:46 +01:00
Asger Feldthaus
fd7cbd0c96
JS: Tweak BasicBlock.dominates and friends
2021-04-01 13:16:46 +01:00
Asger Feldthaus
8fa3fb0561
JS: Redux model
2021-04-01 13:16:46 +01:00
Asger Feldthaus
314839fc09
JS: Add @reduxjs/toolkit to composed functions
2021-04-01 13:16:46 +01:00
Asger Feldthaus
c1651ad30c
JS: Factor out Unit type
2021-04-01 13:16:46 +01:00
Asger Feldthaus
125d1465c8
JS: Add DataFlow::functionForwardingStep
2021-04-01 13:16:46 +01:00
Asger Feldthaus
a3421e7ab2
JS: Add getALocalUse
2021-04-01 13:16:45 +01:00
CodeQL CI
20416ae034
Merge pull request #5585 from asgerf/js/more-metadata
...
Approved by esbena
2021-04-01 13:13:01 +01:00
Asger Feldthaus
c96ee8671e
JS: Update more query metadata
2021-04-01 12:15:54 +01:00
Luke Cartey
480ce39618
C#: Exclude jump-to-def information for elements with too many locations
...
In databases which include multiple duplicated files, we can get an
explosion of definition locations that can cause this query to produce
too many results for the CodeQL toolchain. This commit restricts the
definitions.ql query to producing definition/uses for definitions with
fewer than 10 locations. This replicates the logic used in the C++
definitions.qll library which faces similar problems.
2021-04-01 11:23:31 +01:00
CodeQL CI
a1fab8ac52
Merge pull request #5581 from asgerf/js/dependency-info
...
Approved by esbena
2021-04-01 09:07:21 +01:00
jorgectf
9b430310b4
Improve Sanitizer calls
2021-03-31 23:19:56 +02:00
Shati Patel
36bdee0e8b
Merge pull request #5571 from github/docs/bug-fix
...
Docs: Typo fix
2021-03-31 21:59:43 +01:00
jorgectf
4328ff3981
Remove attrs feature
2021-03-31 22:26:08 +02:00
Mathias Vorreiter Pedersen
ecbce88ec7
C++: Fix comment.
2021-03-31 22:23:50 +02:00
Rasmus Wriedt Larsen
95ac2c8edd
Python: Add another dynamic __all__ test
2021-03-31 17:31:55 +02:00
CodeQL CI
f08a0e5653
Merge pull request #5580 from asgerf/js/more-metadata-fix
...
Approved by esbena
2021-03-31 16:29:33 +01:00
Rasmus Wriedt Larsen
ab3edf37d7
Python: Handle __all__ assigned to a tuple
...
Examples where this is used in real code:
- 76c0b32f82/django/core/files/temp.py (L24)
- 76c0b32f82/django/contrib/gis/gdal/__init__.py (L44-L49)
2021-03-31 17:25:19 +02:00
Rasmus Wriedt Larsen
43306f4700
Python: Add tests for Module.declaredInAll
2021-03-31 17:24:17 +02:00
Asger Feldthaus
8c8e4e6a70
JS: Add test
2021-03-31 16:17:54 +01:00
Asger Feldthaus
068a9d88e7
JS: Ensure Dependency.info() exists even if version range could not be parsed
2021-03-31 16:08:08 +01:00
Asger Feldthaus
c541390c1b
JS: Remove precision tag from ExternalDependencies.ql
2021-03-31 13:54:15 +01:00
Mathias Vorreiter Pedersen
9ff894bf83
C++: Add support for AST dataflow out of functions that take a smart pointer by value.
2021-03-31 13:54:32 +02:00
Mathias Vorreiter Pedersen
e9e93c0eea
Merge pull request #5558 from geoffw0/replace-tostring
...
Replace toString use
2021-03-31 13:50:41 +02:00
Geoffrey White
85ecfe2723
Update cpp/ql/src/experimental/Security/CWE/CWE-570/WrongInDetectingAndHandlingMemoryAllocationErrors.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-03-31 11:34:56 +01:00
Mathias Vorreiter Pedersen
8159098dc0
C++: Add test from issue #5190 .
2021-03-31 11:32:01 +02:00
Calum Grant
49d1937dc4
Merge pull request #5552 from RasmusWL/revert-import-change
...
Python: Revert #5506 due to bad performance
2021-03-31 09:51:39 +01:00
Asger F
d4877a9038
Merge pull request #5572 from asgerf/js/remove-flow-summary-kinds
...
JS: Change kind of summary-extraction queries to table
2021-03-31 09:28:56 +01:00
Asger Feldthaus
57784dc746
JS: Update test output
2021-03-31 09:23:47 +01:00
Chris Smowton
4f9b6d1192
Update supported Go version to 1.16
2021-03-31 08:56:27 +01:00
Asger Feldthaus
bc5b477f79
JS: Change kind of summary-extraction queries to table
2021-03-30 21:26:58 +01:00
Dave Bartolomeo
0cc8eaf3b4
Merge pull request #5543 from MathiasVP/smart-ptr-like-class
...
C++: Add a class that models wrapped pointer types
2021-03-30 16:00:13 -04:00
Rasmus Wriedt Larsen
51c27de049
Merge branch 'main' into revert-import-change
2021-03-30 21:51:53 +02:00
Shati Patel
b9788eb53c
Merge pull request #5568 from shati-patel/docs-binding-sets
...
Docs: Mention that binding sets are available for classes
2021-03-30 18:08:23 +01:00
Sarita Iyer
649286995a
Merge pull request #5562 from saritai/saritai/cli-remove-1.23-references
...
Remove Enterprise 1.23 special instructions and replace references
2021-03-30 13:07:42 -04:00
Shati Patel
fb004bacc3
Describe predicates first
2021-03-30 17:31:20 +01:00
Shati Patel
67835ee273
Address review comments
2021-03-30 17:29:43 +01:00
Shati Patel
23df459c16
remove accidental punctuation
2021-03-30 17:23:33 +01:00
Mathias Vorreiter Pedersen
fe76b0849b
Merge pull request #5569 from geoffw0/memoryfree
...
C++: Add a test of memory freed queries with strdup.
2021-03-30 17:22:18 +02:00
Mathias Vorreiter Pedersen
92839123ae
Merge pull request #5570 from geoffw0/mutextest
...
C++: Add mutex test cases.
2021-03-30 17:16:19 +02:00
jorgectf
8faafb6961
Update Sink
2021-03-30 16:58:02 +02:00
Geoffrey White
a8284d5b97
C++: Add mutex test case.
2021-03-30 15:39:21 +01:00
Sarah Edwards
e0a73ce797
Merge pull request #5560 from skedwards88/patch-1
...
download LGTM database from a project slug
2021-03-30 06:58:28 -07:00
Geoffrey White
244966e216
C++: Add a test with strdup.
2021-03-30 14:49:05 +01:00
Shati Patel
62de15cd22
Docs: Mention that binding sets are available for classes
2021-03-30 14:46:59 +01:00
Asger Feldthaus
f8bbda0cdc
JS: Change note
2021-03-30 13:54:01 +01:00
Asger Feldthaus
9db235ac36
JS: Improve @google-cloud/spanner model
2021-03-30 13:54:00 +01:00
Asger Feldthaus
35f294f096
JS: Improve sequelize model
2021-03-30 13:54:00 +01:00
Mathias Vorreiter Pedersen
4b51e22bb4
Merge pull request #5565 from geoffw0/avrule79
...
C++: Test strdup with AV rule 79
2021-03-30 14:34:46 +02:00
Geoffrey White
ec952248a9
C++: Test strdup with AV Rule 79.
2021-03-30 12:58:04 +01:00
Geoffrey White
f27203cc43
C++: Test spacing.
2021-03-30 12:57:43 +01:00
luchua-bc
1349bf7b0b
Create a .qll file to reuse the code and add check of Spring properties
2021-03-30 11:25:29 +00:00
Asger Feldthaus
93500bd95a
JS: Improve mssql model
2021-03-30 11:34:01 +01:00
Asger Feldthaus
95937c9ac7
JS: Improve sqlite3 model
2021-03-30 11:34:01 +01:00
Asger Feldthaus
0b21b273ed
JS: Improve pg model
2021-03-30 11:33:59 +01:00
Asger Feldthaus
937a620f4d
JS: Improve mysql2 model
2021-03-30 11:33:42 +01:00
CodeQL CI
e8d7925084
Merge pull request #5555 from asgerf/js/misc-steps
...
Approved by esbena
2021-03-30 11:30:12 +01:00
CodeQL CI
25e26b9ac0
Merge pull request #5554 from asgerf/js/non-recursive-propref
...
Approved by esbena
2021-03-30 11:29:32 +01:00
CodeQL CI
6cceb73807
Merge pull request #5553 from asgerf/js/pg-promise
...
Approved by esbena
2021-03-30 11:28:24 +01:00
Geoffrey White
d2b991bcb5
Merge pull request #5541 from MathiasVP/definitions-for-unique_ptr
...
C++: Add shared_ptr and unique_ptr implementations
2021-03-30 09:47:56 +01:00
Mathias Vorreiter Pedersen
09ba25fe9b
C++: Accept test changes. I'm actually not sure why we lose these results (and lose the field conflation, yay) It might be due to #3364 .
2021-03-30 10:24:01 +02:00
Mathias Vorreiter Pedersen
8c95a9ae39
Merge branch 'main' into definitions-for-unique_ptr
2021-03-30 10:20:36 +02:00
jorgectf
3cda2e5207
Polish up ldap3 tests
2021-03-29 23:39:49 +02:00
jorgectf
8223539f0c
Add a test without attributes
2021-03-29 23:28:28 +02:00
Laura Coursen
2dadc752d6
Merge pull request #5563 from lecoursen/stronger-rec-to-use-lgtm.com-branch
...
Make stronger recommendations around the use of the lgtm.com branch
2021-03-29 14:29:24 -05:00
Laura Coursen
d57ec5d1ac
Merge branch 'stronger-rec-to-use-lgtm.com-branch' of https://github.com/lecoursen/codeql into stronger-rec-to-use-lgtm.com-branch
2021-03-29 14:05:46 -05:00
Laura Coursen
e3b052199a
Suggest lgtm.com branch first
2021-03-29 14:04:59 -05:00
Laura Coursen
eb01ffbdae
Use correct terminology
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-03-29 14:03:30 -05:00
Ethan Palm
2f98212eca
Merge pull request #5561 from ethanpalm/fix-broken-links
...
Fix broken links
2021-03-29 14:28:49 -04:00
Laura Coursen
8f1c7c57a8
Add 💅
2021-03-29 12:53:16 -05:00
Ethan P
909dc84bb6
Update broken link
2021-03-29 13:46:45 -04:00
Laura Coursen
a18cd74756
Fix typo
2021-03-29 12:42:09 -05:00
Laura Coursen
21576387f3
Add 💅
2021-03-29 12:41:48 -05:00
Laura Coursen
50523e0ac0
Clarify use cases for lgtm.com branch
2021-03-29 12:40:31 -05:00
Ethan P
d126c0a1d3
Fix broken links
2021-03-29 13:38:04 -04:00
Sarita Iyer
3db5dd4661
removed 1.23 instructions and replaced references
...
Removed special instructions for LGTM 1.23, and replaced leftover references to 1.23 with 1.27.
2021-03-29 13:37:55 -04:00
Sarah Edwards
108bcef104
download LGTM database from a project slug
2021-03-29 10:37:00 -07:00
Henry Mercer
0f710b1981
Merge pull request #5545 from github/henrymercer/ql-pack-version-doc-update
...
CodeQL CLI Docs: Mention that QL packs use SemVer versioning
2021-03-29 18:18:45 +01:00
Calum Grant
c26d05b1d5
Merge pull request #5532 from RasmusWL/python-cleanup
...
Python: Delete filter queries, code duplication library, and precision tag from metric queries
2021-03-29 17:16:43 +01:00
Mathias Vorreiter Pedersen
5a4efab742
C++: Add tests for shared_ptr.
2021-03-29 18:04:20 +02:00
Rasmus Wriedt Larsen
96a66fa4ee
Python: Apply suggestions from code review
2021-03-29 17:02:56 +02:00
Asger Feldthaus
67ad6d9a0f
JS: Update test output
2021-03-29 15:30:29 +01:00
Asger Feldthaus
faf07dac91
JS: Autoformat
2021-03-29 14:52:37 +01:00
Asger Feldthaus
3e26236648
JS: Add recursion guard test
2021-03-29 14:32:13 +01:00
Asger Feldthaus
2770a53d38
JS: More babel.transform steps
2021-03-29 13:00:23 +01:00
Asger Feldthaus
c103939c2d
JS: Fix handling of createRequire
2021-03-29 12:47:23 +01:00
Asger Feldthaus
49ca88957c
JS: Use types
2021-03-29 12:25:15 +01:00
Asger Feldthaus
603843e698
JS: Add task tests
2021-03-29 12:05:47 +01:00
CodeQL CI
3613ceb07f
Merge pull request #5535 from tausbn/python-prevent-bad-TCs
...
Approved by yoff
2021-03-29 12:03:08 +01:00
Asger F
f1d0b50670
Update javascript/ql/src/semmle/javascript/frameworks/SQL.qll
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-03-29 11:54:45 +01:00
Asger Feldthaus
f453fe26c6
JS: Autoformat
2021-03-29 11:28:46 +01:00
Asger Feldthaus
b381f4826c
JS: Add change note
2021-03-29 11:25:28 +01:00
Asger Feldthaus
149af57eac
JS: Add model of pg-promise
2021-03-29 11:25:28 +01:00
Asger Feldthaus
88fee2748e
JS: Add change note
2021-03-29 11:21:03 +01:00
jorgectf
ad36bea9d4
Refactor LDAP3 stuff (untested)
2021-03-29 09:14:35 +02:00
haby0
0775d35591
update VerificationMethodFlowConfig, add if test
2021-03-29 12:02:37 +08:00
ihsinme
3f215d0954
Update OperatorPrecedenceLogicErrorWhenUseBoolType.ql
2021-03-28 23:43:22 +03:00
ihsinme
093c63ea3b
Update OperatorPrecedenceLogicErrorWhenUseBoolType.expected
2021-03-28 23:42:36 +03:00
jorgectf
85ec82a389
Refactor in progress
2021-03-28 21:07:08 +02:00
jorgectf
95a1dae315
Precision warn and Remove CWE reference
2021-03-28 18:33:17 +02:00
jorgectf
719b48cbaf
Move to experimental folder
2021-03-28 18:33:17 +02:00
jorgectf
799d509f26
Upload LDAP Injection query, qhelp and tests
2021-03-28 18:33:16 +02:00
luchua-bc
5ce3f9d6ff
Update qldoc and enhance the query
2021-03-28 16:10:35 +00:00
Rasmus Wriedt Larsen
92e0e195a4
Revert "Merge pull request #5506 from tausbn/python-allow-absolute-imports-from-source-directory"
...
This reverts commit 8d15680af4 , reversing
changes made to 63831cc62b .
This PR caused performance problems, so reverting now to clear up immediate
problems.
2021-03-27 18:08:20 +01:00
Rasmus Lerchedahl Petersen
6d72b4fd39
Python: Limit pretty printing to relevant nodes
2021-03-27 03:10:43 +01:00
Rasmus Lerchedahl Petersen
16902c2f56
Python: handle default argument
2021-03-27 02:40:13 +01:00
Rasmus Lerchedahl Petersen
7a511c5682
Python: update naming
2021-03-27 02:20:59 +01:00
luchua-bc
a53cbc1631
Update qldoc and make the query more readable
2021-03-27 00:11:01 +00:00
Rasmus Lerchedahl Petersen
bd86388447
Python: Add typetracker to constrain attribute.
2021-03-27 01:07:15 +01:00
Rasmus Lerchedahl Petersen
bf81122fc6
Python: fix typo and add linebreaks
2021-03-26 23:37:19 +01:00
Rasmus Lerchedahl Petersen
e0352fe763
Python: remove deprecated section of qhelp file
2021-03-26 23:26:24 +01:00
Geoffrey White
c6e7b8d4fd
C++: Repair test.
2021-03-26 19:12:09 +00:00
Geoffrey White
4100d68a71
C++: Test failures.
2021-03-26 18:21:05 +00:00
Geoffrey White
725122decc
C++: Replace toString logic.
2021-03-26 17:29:05 +00:00
luchua-bc
a72b1340eb
Add a comment on how to run the query
2021-03-26 16:51:43 +00:00
Rasmus Lerchedahl Petersen
44d62df3f7
Python: Fix model of TLS and add reference
2021-03-26 17:51:18 +01:00
Rasmus Lerchedahl Petersen
470b4d8658
Python: Add missing qldoc
2021-03-26 17:35:36 +01:00
Rasmus Lerchedahl Petersen
98dfe1a00a
Python: Elaborate qldoc and renames to match
2021-03-26 17:27:43 +01:00
Taus Brock-Nannestad
f17bbd9982
Python: Fix another bad TC.
...
This one is a bit awkward, since the previous version was supposed to
improve indexing. Unfortunately this is vastly outweighed by the slow
convergence of the TC. Right now we pay the cost of inverting the
`hasFlowSource` relation, but this is still cheaper.
2021-03-26 16:38:13 +01:00
Henry Mercer
c83daa66e7
CodeQL CLI Docs: Mention that QL packs use SemVer versioning
2021-03-26 15:30:23 +00:00
Mathias Vorreiter Pedersen
b466f0515d
C++: Respond to more review comments. (1) Use getClassAndName to ensure a good join order, and (2) unify the two abstract predicates on PointerWrapper.
2021-03-26 16:16:23 +01:00
Rasmus Lerchedahl Petersen
8155334fa7
Python: More elaborate qldoc
...
also refactor code to match
2021-03-26 15:57:07 +01:00
Chris Smowton
42b63a61ae
Add change note
2021-03-26 14:31:36 +00:00
Chris Smowton
3a274424ab
Convert fluent method models to csv and generalise to the three different variants of StrBuilder.
2021-03-26 14:31:36 +00:00
Chris Smowton
851317e34f
Add models for StrBuilder's fluent methods
2021-03-26 14:31:36 +00:00
Rasmus Lerchedahl Petersen
7d7cbc49db
Fix comments.
...
This induced fixing the code, since things were wired up wrongly.
Currently the only implementation of `insecure_connection_creation`
is `ssl.wrap_socket`,
which is also the sole target of py/insecure-default-protocol`,
so perhaps this part should be turned off?
2021-03-26 14:20:38 +01:00
Mathias Vorreiter Pedersen
0ce08617ba
C++: Respond to review comments.
2021-03-26 13:42:18 +01:00
Tom Hvitved
e345064a53
C#: Performance tweaks in SsaImplCommon.qll
2021-03-26 13:24:34 +01:00
Rasmus Lerchedahl Petersen
2e948da3b4
Python: suggested refactor
2021-03-26 13:08:45 +01:00
Rasmus Lerchedahl Petersen
1be2be843d
Python: update test expectations
2021-03-26 13:08:23 +01:00
Jonas Jensen
7f16c52217
Merge pull request #3364 from github/rdmarsh/cpp/use-taint-configuration-dtt
...
C++: use TaintTracking::Configuration in DefaultTaintTracking
2021-03-26 12:39:25 +01:00
Alexander Eyers-Taylor
b21672c81c
Apply suggestions from code review
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-03-26 11:15:46 +00:00
Tom Hvitved
1dbfe2369d
Merge pull request #5542 from hvitved/csharp/update-suites
...
C#: Remove deleted queries from suites
2021-03-26 12:13:09 +01:00
CodeQL CI
f584ff9acf
Merge pull request #5533 from asgerf/js/fix-query-metadata
...
Approved by esbena
2021-03-26 11:09:54 +00:00
Mathias Vorreiter Pedersen
8dc7b6403a
C++: Add shared_ptr and unique_ptr implementations. Also add some very basic tests.
2021-03-26 12:03:59 +01:00
Mathias Vorreiter Pedersen
d20a0c9e82
C++: Add a class that models wrapped pointer types.
2021-03-26 11:50:06 +01:00
Asger Feldthaus
cc2a531684
JS: Cache PropRef.getBase
2021-03-26 10:48:25 +00:00
Tom Hvitved
9d1ef21d85
C#: Remove deleted queries from suites
2021-03-26 11:17:27 +01:00
Mathias Vorreiter Pedersen
c7c65736a9
C++: Accept test changes. These happened because of the incorrect usage of multiple configurations in 6c1ec6d96b.
2021-03-26 10:57:58 +01:00
Jonas Jensen
86755c6a98
Merge pull request #5515 from criemen/fix-query-metadata
...
C++: Fix query metadata warnings.
2021-03-26 10:19:46 +01:00
Anders Schack-Mulligen
506c95d098
Merge pull request #5372 from smowton/smowton/feature/commons-lang-models-to-csv
...
Java: Convert existing Commons Lang models to CSV
2021-03-26 10:18:23 +01:00
Tom Hvitved
d4ce42ac4f
Merge pull request #5416 from hvitved/csharp/rework-summaries
...
C#: Rework flow summary implementation
2021-03-26 09:47:15 +01:00
Tom Hvitved
e93b72d563
Merge pull request #5459 from hvitved/csharp/update-nuget
...
C#: Update more nuget packages
2021-03-26 09:28:09 +01:00
Mathias Vorreiter Pedersen
983b64a05f
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-26 09:11:12 +01:00
Tom Hvitved
57fd2e3578
C#: Rename parameter in fieldOf()
2021-03-26 08:49:06 +01:00
Rasmus Lerchedahl Petersen
e936540863
Python: remove internal import
2021-03-26 08:22:09 +01:00
Rasmus Lerchedahl Petersen
f1619f1ee8
Python: "source" -> "contextOrigin"
2021-03-26 08:18:11 +01:00
Rasmus Lerchedahl Petersen
f14fb3bf9e
Merge branch 'python-port-insecure-protocol' of github.com:yoff/codeql into python-port-insecure-protocol
2021-03-26 08:06:51 +01:00
yoff
936757b4bf
Update python/ql/src/Security/CWE-327/FluentApiModel.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-26 08:05:51 +01:00
luchua-bc
d33b04cd96
Query to detect plaintext credentials in Java properties files
2021-03-26 02:33:40 +00:00
Rasmus Lerchedahl Petersen
9488b8bb18
Python: actually rename
2021-03-26 00:31:56 +01:00
Rasmus Lerchedahl Petersen
554404575d
Python: fix typo and name.
2021-03-26 00:29:40 +01:00
Rasmus Lerchedahl Petersen
c93e0c08fd
Merge branch 'python-port-insecure-protocol' of github.com:yoff/codeql into python-port-insecure-protocol
2021-03-26 00:26:33 +01:00
yoff
54dad57cf4
Update python/ql/test/query-tests/Security/CWE-327/pyOpenSSL_fluent.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-26 00:25:40 +01:00
Rasmus Lerchedahl Petersen
2b257318f1
Python: more precise comment
2021-03-25 23:22:24 +01:00
yoff
62a0775cf6
Update python/ql/src/Security/CWE-327/examples/secure_protocol.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-25 23:09:11 +01:00
Porcuiney Hairs
2ca95166d9
Java : add query to detect insecure loading of Dex File
2021-03-26 01:59:11 +05:30
yoff
208d5157fa
Merge pull request #5500 from RasmusWL/django-forms
...
Python: Model RemoteFlowSources on Django forms/fields
2021-03-25 20:43:19 +01:00
alexet
2576c86ebf
Docs: Update the language specification for changes to super.
2021-03-25 18:16:13 +00:00
Taus Brock-Nannestad
c2f112cb92
Python: Filter _before_ the cartesian product
...
It's always a sad thing to see a good plan go wrong:
86860032 ~0% {4} r26 = JOIN r19 WITH DataFlowPublic::TupleElementContent#class#ff CARTESIAN PRODUCT OUTPUT Lhs.0 'nodeFrom', Lhs.1 'nodeTo', Rhs.0, Rhs.1
129256 ~3% {4} r27 = SELECT r26 ON In.3 <= 7
129256 ~0% {3} r28 = SCAN r27 OUTPUT In.0 'nodeFrom', In.2 'c', In.1 'nodeTo'
Happily, now it looks like this:
129256 ~0% {3} r20 = JOIN r19 WITH DataFlowPrivate::small_tuple#f CARTESIAN PRODUCT OUTPUT Lhs.0 'nodeFrom', Rhs.0, Lhs.1 'nodeTo'
2021-03-25 19:06:05 +01:00
Erik Krogh Kristensen
5e59f6d558
Update javascript/ql/src/semmle/javascript/security/dataflow/ShellCommandInjectionFromEnvironmentCustomizations.qll
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-03-25 19:03:37 +01:00
Taus Brock-Nannestad
8734df334b
Python: Slight cleanup
2021-03-25 18:35:16 +01:00
Taus Brock-Nannestad
229250dc54
Python: Limit size of TupleElementContent
...
A more principled approach is possible here, but in the short term
this will prevent an explosion.
For reference, openstack/cinder has roughly 19000 `ForTarget`s and
tuples of size up to 5300, and we were calculating the cartesian
product of these.
2021-03-25 18:28:49 +01:00
yoff
716e0f1404
Merge pull request #5517 from tausbn/python-prevent-potentially-bad-join-order
...
Python: Prevent potentially bad join order
2021-03-25 18:14:47 +01:00
Tom Hvitved
f100c8a9c0
C++: Make Windows autobuilder tests pass again
2021-03-25 17:43:48 +01:00
Tom Hvitved
ed78acb1d4
C#: Update more nuget packages
2021-03-25 17:32:12 +01:00
Taus Brock-Nannestad
dbef36cbbb
Python: Prevent bad TC and add a bit of caching
...
Using `simpleLocalFlowStep+` with the first argument specialised to
`CfgNode` was causing the compiler to turn this into a very slowly
converging manual TC computation.
Instead, we use `simpleLocalFlowStep*` (which is fast) and then join
that with a single step from any `CfgNode`. This should amount to the
same thing.
I also noticed that the charpred for `LocalSourceNode` was getting
recomputed a lot, so this is now cached. (The recomputation was
especially bad since it relied on `simpleLocalFlowStep+`, but anyway
it's a good idea not to recompute this.)
2021-03-25 17:28:37 +01:00
Chris Smowton
eaa2d4d831
Stop using wildcard Argument
...
All instances are replaced with a specific Argument or range.
2021-03-25 15:42:35 +00:00
Chris Smowton
2f34588770
Constructor models: use Argument[-1] for the result, not ReturnValue
2021-03-25 15:23:08 +00:00
Asger Feldthaus
a456458a38
JS: Add change note for code duplication library removal
2021-03-25 15:21:48 +00:00
Asger Feldthaus
446ad5ec9e
JS: Remove code duplication library
2021-03-25 15:20:59 +00:00
Asger Feldthaus
c812bd948a
JS: Add @problem.severity to an example query
2021-03-25 15:14:48 +00:00
Asger Feldthaus
7aae51c876
JS: Add change note for filter query removal
2021-03-25 15:13:51 +00:00
Anders Schack-Mulligen
28fb0edfbe
Merge pull request #4920 from luchua-bc/java/hash-without-salt
...
Java: Query to detect hash without salt
2021-03-25 16:13:26 +01:00
Asger Feldthaus
6cab85712f
JS: Delete filter queries
2021-03-25 15:12:35 +00:00
Asger Feldthaus
1c27ca610a
JS: Remove precision atags from metric queries
2021-03-25 15:12:09 +00:00
Chris Smowton
a5220bf616
Convert StrBuilder models to CSV
2021-03-25 15:11:52 +00:00
Chris Smowton
25a0e09130
Convert StringUtils models to CSV
2021-03-25 15:11:52 +00:00
Chris Smowton
1beac06236
Translate ArrayUtils models to CSV
2021-03-25 15:11:51 +00:00
Chris Smowton
7fb5bd0cab
Add tests for and slightly expand models of Commons Lang's ArrayUtils class
2021-03-25 15:11:51 +00:00
Rasmus Wriedt Larsen
9abe02f419
Python: Fix query metadata for old queries that have been ported
...
I'm not sure even I want to keep these around much longer. They seem to be
causing more problem than they are doing good.
2021-03-25 16:01:56 +01:00
Jonas Jensen
bc9682c22d
Merge pull request #5528 from MathiasVP/fix-join-order-in-avrule-79
...
C++: Fix join order in AV rule 79
2021-03-25 15:45:41 +01:00
Rasmus Wriedt Larsen
ed2cb739c5
Merge pull request #5486 from yoff/python-document-api-import-node
...
Python, doc: Note ephemeral nature of import nodes
2021-03-25 15:45:10 +01:00
Anders Schack-Mulligen
344c2d3c3d
Update java/ql/src/experimental/Security/CWE/CWE-759/HashWithoutSalt.ql
2021-03-25 15:42:57 +01:00
Tom Hvitved
90868a4788
Merge pull request #5524 from hvitved/csharp/cleanup
...
C#: Remove legacy queries and `@precision` tags from metric queries
2021-03-25 15:36:12 +01:00
Rasmus Wriedt Larsen
203b0e3d88
Python: Add change note
2021-03-25 15:34:09 +01:00
Tom Hvitved
cdd613358b
C#: Sync SSA files
2021-03-25 15:33:06 +01:00
Tom Hvitved
7e20829f36
Merge remote-tracking branch 'upstream/main' into csharp/rework-summaries
2021-03-25 15:32:32 +01:00
Tom Hvitved
6a3859fc83
C#: Remove unnecessary pre call in FlowSummaryImpl.qll
2021-03-25 15:31:43 +01:00
Rasmus Wriedt Larsen
bd4934380a
Python: Remove code duplication library
2021-03-25 15:27:55 +01:00
Tom Hvitved
33c990f6b0
Merge pull request #5440 from hvitved/csharp/cil/ssa
...
C#: Add CIL SSA library
2021-03-25 15:22:40 +01:00
Erik Krogh Kristensen
3d49b8cb91
consider quoted string concatenations as sanitizers for js/shell-command-injection-from-environment
2021-03-25 15:17:02 +01:00
yo-h
0fe4baec34
Merge pull request #5525 from aschackmull/java/cleanup
...
Java: Delete filter queries, code duplication library, and precision tag from metric queries.
2021-03-25 10:09:41 -04:00
Rasmus Wriedt Larsen
09fbf480db
Python: Remove precision tag from metric queries
2021-03-25 15:06:47 +01:00
Rasmus Wriedt Larsen
e3b2e0a1de
Python: Delete filter queries
2021-03-25 15:06:46 +01:00
Erik Krogh Kristensen
3b82452d76
detect fs modules that pass through a reduce call
2021-03-25 14:47:43 +01:00
Anders Schack-Mulligen
75afa011ff
Java: Add metadata to several more experimental queries.
2021-03-25 13:09:26 +01:00
CodeQL CI
e90035a5a5
Merge pull request #5439 from erik-krogh/topPack
...
Approved by esbena
2021-03-25 11:49:03 +00:00
Mathias Vorreiter Pedersen
24360d3a4c
C++: Fix join order in AV rule 79 by joining with GVN after the recursive call.
2021-03-25 12:00:49 +01:00
Erik Krogh Kristensen
77ba7b473d
Merge branch 'main' into topPack
2021-03-25 11:52:58 +01:00
CodeQL CI
0511e72520
Merge pull request #5458 from erik-krogh/shellTrue
...
Approved by asgerf
2021-03-25 10:49:24 +00:00
luchua-bc
57bd3f3c14
Optimize the taint flow source
2021-03-25 10:44:26 +00:00
Tom Hvitved
6bfc49c069
C#: Address review comments
2021-03-25 11:43:25 +01:00
yoff
32b264bdee
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-03-25 10:48:59 +01:00
Anders Schack-Mulligen
d53c334488
Merge branch 'java/fix-experimental-query-metadata' into java/cleanup
2021-03-25 10:36:36 +01:00
Anders Schack-Mulligen
28ff3f412d
Java: Add severity and precision metadata to experimental queries.
2021-03-25 10:29:47 +01:00
Cornelius Riemenschneider
867471b122
C++: Delete old queries.
2021-03-25 10:23:17 +01:00
CodeQL CI
9d52db3ca7
Merge pull request #5507 from erik-krogh/joins
...
Approved by asgerf
2021-03-25 09:18:26 +00:00
Anders Schack-Mulligen
5b905cfe18
Java: Add change note for code duplication library removal.
2021-03-25 10:12:58 +01:00
Anders Schack-Mulligen
1564aee57a
Java: Add change note for filter query removal.
2021-03-25 10:11:30 +01:00
Anders Schack-Mulligen
c82b5eb040
Java: Remove code duplication library.
2021-03-25 10:06:10 +01:00
Asger Feldthaus
dbc6cf63c2
JS: Fix bad join order in PropertyProjection
2021-03-25 09:00:10 +00:00
Asger Feldthaus
bd3f6d1234
JS: Add o[o.length] = y taint step
2021-03-25 09:00:10 +00:00
Asger Feldthaus
51f489211b
JS: Support react-native-base64
2021-03-25 09:00:10 +00:00
Asger Feldthaus
5d9778c64d
JS: Step through babel.transform
2021-03-25 09:00:10 +00:00
Asger Feldthaus
3e67ebacb0
JS: Support lodash-es
2021-03-25 09:00:10 +00:00
Erik Krogh Kristensen
3b6b40489f
Merge branch 'main' into topPack
2021-03-25 09:58:15 +01:00
Anders Schack-Mulligen
4b7440d4d5
Java: Remove precision tag from metric queries.
2021-03-25 09:52:05 +01:00
Tom Hvitved
419fbe77ab
C#: Remove @precision tags from metric queries
2021-03-25 09:50:24 +01:00
Tom Hvitved
b83da2255c
C#: Add change note
2021-03-25 09:50:24 +01:00
Tom Hvitved
b94c189946
C#: Remove VulnerablePackage.ql query
2021-03-25 09:50:24 +01:00
Tom Hvitved
7e33b571c9
C#: Add change note
2021-03-25 09:50:24 +01:00
Tom Hvitved
eeb8c74666
C#: Remove filter and external queries
...
These are legacy queries that are no longer used.
2021-03-25 09:50:01 +01:00
Anders Schack-Mulligen
70824b3f0b
Java: Delete filter queries.
2021-03-25 09:47:31 +01:00
Esben Sparre Andreasen
801eb538db
Merge pull request #5514 from github/aibaars/fix-javascript-metadata
...
Javascript: remove bad QLDoc tag
2021-03-25 08:56:08 +01:00
luchua-bc
fe0e7f5eac
Change method check to taint flow
2021-03-25 01:45:13 +00:00
luchua-bc
08c3bf26d5
Update the query to accommodate more cases
2021-03-24 23:32:27 +00:00
Taus Brock-Nannestad
0ae8b69102
Python: Prevent joining on scope in PointsToContext::appliesTo
...
One of those cases where I _wish_ `pragma[inline]` also meant "don't
join on the stuff inside this predicate -- it's inlined for a reason".
Unsurprisingly, joining on the scope first works poorly.
2021-03-24 23:12:48 +01:00
Taus Brock-Nannestad
28d6cad3d0
Python: Prevent joining on name as the first thing
...
Many instances of `lookup` are restricted by the presence of
`attributeRequired`, but this does not work well if we join on
`name`. A few instances of `only_bind_into` prevents this.
2021-03-24 23:11:09 +01:00
yo-h
72ae902e0d
Merge pull request #5371 from aschackmull/java/framework-coverage
...
Java: Add query for CSV framework coverage.
2021-03-24 17:36:13 -04:00
Erik Krogh Kristensen
c146b27c1a
Merge branch 'main' into shellTrue
2021-03-24 20:09:23 +01:00
CodeQL CI
8ff9c98d26
Merge pull request #5449 from erik-krogh/asExec
...
Approved by esbena
2021-03-24 19:04:30 +00:00
Aditya Sharad
32dc894d54
Merge pull request #5516 from github/adityasharad/actions/remove-docs-review-workflow
...
Actions: Remove docs-review workflow
2021-03-24 11:48:03 -07:00
Aditya Sharad
a0465d20cb
Actions: Remove docs-review workflow
...
Being replaced by internal automation that polls the repo for open labelled PRs, since this workflow currently cannot tag the docs team in a comment.
2021-03-24 11:26:00 -07:00
Taus Brock-Nannestad
ed8ffab356
Python: Prevent potentially bad join order
...
This has no effect on the current compilation (indeed,
`ssa_filter_definition_bool` is not currently inlined), but will
prevent this from ever occurring, should the heuristics for inlining
ever change...
2021-03-24 19:20:19 +01:00
Cornelius Riemenschneider
47530d7526
C++: Fix query metadata warnings.
2021-03-24 18:01:21 +01:00
Arthur Baars
b25dc03dac
Javascript: remove bad QLDoc tag
2021-03-24 16:47:27 +01:00
Asger Feldthaus
e13a9c9716
JS: Avoid recursion through SourceNode::Range, again
2021-03-24 15:26:50 +00:00
Anders Schack-Mulligen
d3485cac34
Merge pull request #5512 from aschackmull/java/csv-argument-ranges
...
Java: Support argument and parameter ranges in CSV models.
2021-03-24 15:03:22 +01:00
yoff
8d15680af4
Merge pull request #5506 from tausbn/python-allow-absolute-imports-from-source-directory
...
Python: Allow absolute imports in directories with scripts
2021-03-24 14:42:14 +01:00
Anders Schack-Mulligen
4955f95f64
Apply suggestions from code review
...
Clarify documentation.
Co-authored-by: Chris Smowton <smowton@github.com >
2021-03-24 14:32:18 +01:00
Anders Schack-Mulligen
63831cc62b
Merge pull request #5099 from porcupineyhairs/javaLogInjection
...
Java : Add Log Injection Vulnerability
2021-03-24 14:30:34 +01:00
yoff
b023d73016
Merge pull request #5504 from RasmusWL/type-tracking-first-predicate-private
...
Python: Ensure first type-tracking predicate is private
2021-03-24 14:23:27 +01:00
Rasmus Wriedt Larsen
1473778bb8
Merge pull request #5493 from yoff/python-add-experimental-structure
...
Python: Add stub structure to `experimental` for external contributions
2021-03-24 14:11:13 +01:00
Rasmus Wriedt Larsen
70974ea197
Python: Fix grammar in QLDoc
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-03-24 14:06:06 +01:00
Taus Brock-Nannestad
47686a6e4c
Python: Disregard all files matching .py%
2021-03-24 14:03:00 +01:00
Taus Brock-Nannestad
8d30ee5c3c
Python: Include unmarked Python file in snapshot
...
Sadly, it seems we're not interpreting this as Python code, even if we
explicitly ask to have it included.
2021-03-24 14:01:13 +01:00
Anders Schack-Mulligen
a1ccbcdaf1
Merge pull request #5260 from artem-smotrakov/spring-http-invoker
...
Java: Query for detecting unsafe deserialization with Spring exporters
2021-03-24 13:57:17 +01:00
Asger Feldthaus
de879c0707
JS: Make PropRef.getBase non-recursive
2021-03-24 12:57:16 +00:00
Asger Feldthaus
2f2d72f282
JS: Improve react-router support
2021-03-24 12:53:26 +00:00
Asger Feldthaus
88932a495c
JS: Handle redux-form HOCs
2021-03-24 12:53:26 +00:00
Rasmus Wriedt Larsen
59200386a7
Python: Fix mistake in refactor
2021-03-24 13:51:29 +01:00
Tom Hvitved
f2fb26df37
C#: Document input/output stack restrictions
2021-03-24 13:48:32 +01:00
CodeQL CI
e3ab94fc6b
Merge pull request #5498 from asgerf/js/flow-through-accessors
...
Approved by erik-krogh, max-schaefer
2021-03-24 12:46:05 +00:00
Anders Schack-Mulligen
41168e2b36
Java: Support argument and parameter ranges.
2021-03-24 13:32:30 +01:00
Anders Schack-Mulligen
234f62fd05
Java: Merge packages that likely belong to the same framework.
2021-03-24 13:17:04 +01:00
Taus Brock-Nannestad
6d86239929
Python: Test all cases
...
Note that the test in `no_py_extension` isn't complete, since we're
not extracting the `main` file there.
2021-03-24 13:15:59 +01:00
Erik Krogh Kristensen
9610ed163a
remove SourceNode type to preserve behavior
2021-03-24 11:59:56 +01:00
CodeQL CI
12a6410a0a
Merge pull request #5478 from asgerf/js/shared-flow-step
...
Approved by erik-krogh
2021-03-24 10:58:30 +00:00
Tom Hvitved
c5c80204d5
C#: Rework flow summary implementation
2021-03-24 11:27:01 +01:00
Tom Hvitved
c96b8301ed
C#: Add change note
2021-03-24 09:58:44 +01:00
haby0
3df23eecb6
Merge remote-tracking branch 'upstream/main' into JsonHijacking
2021-03-24 15:52:01 +08:00
Anders Schack-Mulligen
02a5c0875e
Merge pull request #5502 from smowton/smowton/fix/less-fluent-method-inferred-edges
...
Java: partial revert: only introduce inferred taint edges from callsite-crossing value edges if an original taint edge targets the *start* of the value edge.
2021-03-24 08:41:51 +01:00
Rasmus Lerchedahl Petersen
a9af135d7e
Python: Remove getALocalTaintSource
...
and `taintFlowsTo` for now..
2021-03-24 01:22:21 +01:00
yoff
ac0430883a
Update docs/codeql/codeql-language-guides/using-api-graphs-in-python.rst
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-24 01:08:12 +01:00
yoff
61cff8faed
Update python/ql/src/experimental/semmle/python/Concepts.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-24 01:06:03 +01:00
Erik Krogh Kristensen
b8bfdcc719
improve performance in ServiceDefinitions by inlining, and refactoring away a SourceNode
2021-03-23 19:13:40 +01:00
Erik Krogh Kristensen
93bcc3724a
use pragma to improve 2 join-orders in TaintTracking
2021-03-23 19:12:33 +01:00
Taus Brock-Nannestad
17d1768259
Python: Allow absolute imports in directories with scripts
...
Fixes the import logic to account for absolute imports.
We do this by classifying which files and folders may serve as the
entry point for execution, based on a few simple heuristics. If the
file `module.py` is in the same folder as a file `main.py` that may be
executed directly, then we allow `module` to be a valid name for
`module.py` so that `import module` will work as expected.
2021-03-23 18:32:17 +01:00
Taus Brock-Nannestad
4289e358bf
Python: Add module import test case
...
This one will require some explanation...
First, the file structure. This commit adds a test consisting
representing a few different kinds of imports.
- Absolute imports, from `module.py` to `main.py` when the latter is
executed directly.
- A package (contained in the `package` folder)
- A namespace package (contained in the `namespace_package` folder)
All of these are inside a folder called `code` for reasons I will
detail later.
The file `main.py` is identified as a script, by the presence of the
`!#` comment in its first line.
The files themselves are executable, and `python3 main.py` will print
out all modules in the order they are imported.
The test itself is very simple. It simply lists all modules and their
corresponding names. As is plainly visible, without modification we
only pick up `package` and its component modules as having names. This
is the bit that needs to be fixed.
Convincing the test runner to extract this test in a way that mimics
reality is, unfortunately, a bit complicated. By default, the test
runner itself includes any Python files in the test directory as
modules in the invocation of the extractor, and so we must hide
everything in the `code` subdirectory.
Secondly, a `--path` argument (set to the test directory) is
automatically added, and this would also interfere with extraction,
and hence we must prevent this. Luckily, if we supply our own `--path`
argument -- even if it doesn't make any sense -- then the other
argument is left out.
Finally, we must actually tell the extractor to extract the files (or
it would just happily pass the test with zero files extracted), so the
`-R .` argument ensures that we recurse over the files in the test
directory after all.
2021-03-23 18:21:58 +01:00
Tom Hvitved
6d6150d051
C#: Change some data-flow toString()s
2021-03-23 16:42:58 +01:00
Rasmus Wriedt Larsen
deefbefffc
Python: Minor refactor to use CallCfgNode
2021-03-23 16:42:41 +01:00
Rasmus Wriedt Larsen
1f5e52e822
Python: Cleanup "first" type-tracking predicate to be private
...
Since it's exposed nicely in the version that doesn't have a
`DataFlow::TypeTracker` parameter, these should be private.
Also found one instance where I had accidentially used DataFlow::Node instead of
LocalSourceNode
2021-03-23 16:40:56 +01:00
Asger Feldthaus
98cee7d339
JS: Update Collection step test and its output
2021-03-23 14:53:15 +00:00
Asger Feldthaus
c067d519d9
JS: Inline some public predicates in GlobalAccessPaths
2021-03-23 14:53:15 +00:00
Asger Feldthaus
61e89d4841
JS: Cache StepSummary and PropertyName
2021-03-23 14:53:14 +00:00
Asger Feldthaus
0056c39bdd
JS: Deprecate AdditionalFlowStep
2021-03-23 14:53:14 +00:00
Asger Feldthaus
9e6aac8ef4
JS: Deprecate CollectionFlowStep
2021-03-23 14:53:14 +00:00
Asger Feldthaus
f8f3770a58
JS: BadRandomness can just use type-tracking now
2021-03-23 14:53:14 +00:00
Asger Feldthaus
52c2e37aca
JS: Update CollectionStep usage in HTTP
2021-03-23 14:53:14 +00:00
Asger Feldthaus
2759d53f42
JS: SetKeys
2021-03-23 14:53:14 +00:00
Asger Feldthaus
c5ddd40dc3
JS: MapAndSetValues
2021-03-23 14:53:14 +00:00
Asger Feldthaus
9abaad65c6
JS: MapSet
2021-03-23 14:53:14 +00:00
Asger Feldthaus
530be38b84
JS: MapGet
2021-03-23 14:53:14 +00:00
Asger Feldthaus
4a45731c85
JS: SetMapForEach
2021-03-23 14:53:14 +00:00
Asger Feldthaus
c9c99464cf
JS: ForOfStep (unify with Arrays version)
2021-03-23 14:53:13 +00:00
Asger Feldthaus
1a5eede39f
JS: SetConstructor
2021-03-23 14:53:13 +00:00
Asger Feldthaus
5c9a239776
JS: SetAdd
2021-03-23 14:53:13 +00:00
Asger Feldthaus
98398a9efd
JS: add two-prop version of loadStoreStep and infer pseudo properties
...
Initial step towards migrating CollectionFlowStep to PreCallGraphStep
2021-03-23 14:53:13 +00:00
Asger Feldthaus
67ec5d325c
JS: Stop caching AdditionalFlowStep
2021-03-23 14:53:13 +00:00
Asger Feldthaus
adaf3234ec
JS: IteratorExceptionStep
2021-03-23 14:53:13 +00:00
Asger Feldthaus
7021be05c5
JS: FlowStepThroughImport
2021-03-23 14:53:13 +00:00
Asger Feldthaus
52279d4bea
JS: Rename some test predicates to reflect reality
2021-03-23 14:53:13 +00:00
Asger Feldthaus
fae907df65
JS: Update some uses in tests
2021-03-23 14:53:13 +00:00
Asger Feldthaus
bda074835e
JS: Replace uses in ExternalApiUsedWithUntrustedData
2021-03-23 14:53:12 +00:00
Asger Feldthaus
2012e97842
JS: NextJSStaticReactComponentPropsStep
2021-03-23 14:53:12 +00:00
Asger Feldthaus
64c7d4e597
JS: NextJSStaticPropsStep
2021-03-23 14:53:12 +00:00
Asger Feldthaus
0035defd72
JS: ExceptionStep
2021-03-23 14:53:12 +00:00
Asger Feldthaus
5051f10586
JS: ImmutableConstructionStep
2021-03-23 14:53:12 +00:00
Asger Feldthaus
3e54136086
JS: Rename EventEmitterFlowStep to reflect reality
2021-03-23 14:53:12 +00:00
Asger Feldthaus
5fe3c1a0a9
JS: EventEmitterTaintStep
2021-03-23 14:53:12 +00:00
Asger Feldthaus
3a2f87f0a7
JS: AdditionalTypeTrackingStep -> SharedTypeTrackingStep
2021-03-23 14:53:12 +00:00
Asger Feldthaus
b8049f19e2
JS: SharedFlowStepFromPreCallGraph
2021-03-23 14:53:12 +00:00
Asger Feldthaus
8f750d4ad3
JS: UrlSearchParamsTaintStep
2021-03-23 14:53:12 +00:00
Asger Feldthaus
f84a05526d
JS: ArraySliceStep
2021-03-23 14:53:11 +00:00
Asger Feldthaus
633152940c
JS: ArrayConcatStep
2021-03-23 14:53:11 +00:00
Asger Feldthaus
17d1e6d614
JS: ArraySpliceStep
2021-03-23 14:53:11 +00:00
Asger Feldthaus
5d6c6b4b9b
JS: ArrayCreationStep
2021-03-23 14:53:11 +00:00
Asger Feldthaus
5bfd2ad07f
JS: ArrayPopStep
2021-03-23 14:53:11 +00:00
Asger Feldthaus
36a8134490
JS: ArrayIndexingAccess
2021-03-23 14:53:11 +00:00
Asger Feldthaus
b7ae62c3a3
JS: ArrayAppendStep
2021-03-23 14:53:11 +00:00
Asger Feldthaus
1c815f12da
JS: ArrayCopySpread
2021-03-23 14:53:11 +00:00
Asger Feldthaus
151420fd0f
JS: ArrayFrom
2021-03-23 14:53:11 +00:00
Asger Feldthaus
e42f8439de
JS: Replace uses of AdditionalFlowStep with SharedFlowStep
2021-03-23 14:53:10 +00:00
Asger Feldthaus
24539dc0ee
JS: Remove unneeded default case in loadStoreStep
2021-03-23 14:53:10 +00:00
CodeQL CI
a43bb1fb6d
Merge pull request #5499 from asgerf/js/non-recursive-sourcenode
...
Approved by erik-krogh
2021-03-23 14:52:10 +00:00
Asger Feldthaus
23d2f11840
JS: Handle inheritance
2021-03-23 14:39:37 +00:00
Chris Smowton
fa90655dd0
Partial revert: only introduce inferred taint edges from callsite-crossing value edges if an original taint edge targets the *start* of the value edge.
...
Previously we would also take a taint edge targeting a result and a value-preserving edge propagating another argument to the result to imply a taint edge targeting that argument.
2021-03-23 14:35:03 +00:00
Asger Feldthaus
3d94ccf5dd
JS: Support accessor-calls in object literals via local flow
2021-03-23 14:16:06 +00:00
Mathias Vorreiter Pedersen
ce638096de
Merge pull request #5492 from geoffw0/samateissue
...
C++: Test taint regression
2021-03-23 14:01:03 +01:00
Rasmus Wriedt Larsen
f2bc413318
Python: remove single commented out line of code
2021-03-23 14:00:38 +01:00
Tom Hvitved
3c26779f40
Merge pull request #5415 from tamasvajk/feature/async-flow
...
C#: add store step for return statements inside async methods
2021-03-23 13:59:19 +01:00
Rasmus Wriedt Larsen
a4924856a2
Python: Model known form/field subclasses in Django
...
I used some ad-hoc QL queries to help me find all these extra instances, but not
quite ready to share that code yet :P
2021-03-23 13:57:39 +01:00
Rasmus Wriedt Larsen
8d0f6086af
Python: Model django forms/fields
...
I'm not feeling 100% confident about `SelfRefMixin`, but since I needed it for
both DjangoViewClass and DjangoFormClass, I wanted to avoid copy-pasting this
code around. However, I'm not so opitimistic about it that I want to add it to a
sharable utility qll file :D
2021-03-23 13:57:38 +01:00
Anders Schack-Mulligen
27408fefe2
Merge pull request #5008 from torque59/cwe-346
...
Java: Queries to detect remote source flow origins to CORS header.
2021-03-23 13:54:00 +01:00
Anders Schack-Mulligen
9a56601dd3
Merge pull request #5164 from luchua-bc/java/insecure-ldap-endpoint
...
Java: CWE-297 Query to detect insecure LDAP endpoint configuration
2021-03-23 13:53:51 +01:00
Asger Feldthaus
b5be9d07aa
JS: Add change note
2021-03-23 12:51:14 +00:00
Geoffrey White
b38a9d51e6
C++: Effect of 'Don't override getParameterSizeIndex in the model for Accept'...
2021-03-23 12:26:59 +00:00
Geoffrey White
13eb9e0833
C++: Fix the test.
2021-03-23 12:26:58 +00:00
Geoffrey White
30e1b88b7f
C++: Extend test.
2021-03-23 12:26:58 +00:00
Asger Feldthaus
6c8b4a82c1
JS: Autoformat
2021-03-23 11:55:37 +00:00
Geoffrey White
da08c6e63e
Merge pull request #5496 from MathiasVP/accept-model-getParameterSizeIndex-should-be-none
...
C++: Don't override getParameterSizeIndex in Accept
2021-03-23 11:42:50 +00:00
Asger Feldthaus
98143b071d
JS: Autoformat
2021-03-23 11:26:29 +00:00
Anders Schack-Mulligen
1e6b5391d6
Merge pull request #4994 from haby0/main
...
Java: CWE-652: Improper Neutralization of Data within XQuery Expressions ('XQuery Injection')
2021-03-23 12:05:53 +01:00
Taus
b46a3616d8
Merge pull request #5490 from RasmusWL/private-imports
...
Python: Make import private for better auto-complete
2021-03-23 12:00:35 +01:00
Mathias Vorreiter Pedersen
585606a933
C++: Respond to review comments.
2021-03-23 11:14:29 +01:00
Mathias Vorreiter Pedersen
0b4650a4c9
C++: Accept test changes.
2021-03-23 10:27:19 +01:00
Tom Hvitved
20aa05b090
C#: Add CIL SSA library
2021-03-23 10:07:36 +01:00
Mathias Vorreiter Pedersen
7d0cfc69f1
C++: Don't override getParameterSizeIndex in the model for Accept. This fixes IR construction of calls to accept.
2021-03-23 09:53:09 +01:00
Mathias Vorreiter Pedersen
0ff7cc845c
C++: Add reduced testcase that broke IR construction in #5492 .
2021-03-23 09:53:04 +01:00
yoff
921b560e89
Merge pull request #5489 from tausbn/python-make-getacall-return-a-callcfgnode
...
Python: Make `API::Node::getACall` return a `CallCfgNode`
2021-03-23 09:31:38 +01:00
Rasmus Lerchedahl Petersen
198a4ca79b
Python: Add files to experimental
2021-03-22 21:42:06 +01:00
Taus Brock-Nannestad
7cdf439b83
Python: Clean up basicStoreStep
...
Moves the `flowsTo` logic into the shared implementation, so that
`TypeTrackingPrivate` only has to define the shape of immediate store
steps.
Also cleans up the documentation to talk a bit more about what
`content` can represent, and what caveats there are.
2021-03-22 18:42:24 +01:00
Taus Brock-Nannestad
0e81fd2624
Python: Move Boolean into TypeTrackerPrivate
...
In general, this may be defined already for other languages, so moving
it in here will avoid potential clashes.
2021-03-22 18:41:22 +01:00
Marcono1234
993999f64f
Java: Add test for negative numeric literals
2021-03-22 17:43:34 +01:00
Asger Feldthaus
6b19e69d30
JS: Fix some join orders
2021-03-22 16:17:19 +00:00
Rasmus Wriedt Larsen
1890e63d4c
Python: Make import private for better auto-complete
...
With the non-private imports, auto-completing on `API::` gave ALL results
available from `import python`, as well as the ones specified in the `API`
module.
The non-private import in Attributes.qll did the same for `DataFlow::`.
2021-03-22 16:45:44 +01:00
Taus Brock-Nannestad
4a6589d0ae
Python: Make API::Node::getACall return a CallCfgNode
...
This should eliminate the need for explicit casting to
`CallCfgNode` (which does not appear in our code as far as I can see,
but was observed in an external contribution).
2021-03-22 16:37:24 +01:00
Asger Feldthaus
42e6c7eb2e
JS: Remove field from InvokeNode
2021-03-22 15:19:31 +00:00
Asger Feldthaus
c03e9d6c75
JS: Address review comments
2021-03-22 15:19:31 +00:00
Asger Feldthaus
5bfdca895b
JS: Remove recursive def of SourceNode::Range
2021-03-22 15:07:38 +00:00
Asger Feldthaus
230b9cf5d3
JS: Avoid recursion in SourceNode::Range
2021-03-22 15:07:38 +00:00
Shati Patel
34e25624e0
Merge pull request #5488 from github/rc/3.1
...
Merge release candidate branch back into main
2021-03-22 14:28:25 +00:00
Rasmus Lerchedahl Petersen
c1e3ccfb6c
Python, doc: Note ephemeral nature of import nodes
2021-03-22 15:07:51 +01:00
Shati Patel
c7a79a51fe
Merge pull request #5479 from github/shati-patel/docs-bump-version
...
Docs: Prepare supported languages/frameworks for 1.27 release
2021-03-22 13:50:53 +00:00
Rasmus Wriedt Larsen
c8a6e837b5
Python: Model QuerySet chains in django
2021-03-22 14:38:54 +01:00
CodeQL CI
119872d8a4
Merge pull request #5461 from erik-krogh/moreOutDir
...
Approved by asgerf
2021-03-22 13:27:14 +00:00
Mathias Vorreiter Pedersen
257fc7459d
Update categories for new the C++ libraries.
2021-03-22 13:28:48 +01:00
yo-h
b495e1efab
Merge pull request #5411 from aschackmull/java/dataflow-lambda-dispatch
...
Java: Bugfix dispatch to lambda in call context.
2021-03-22 08:25:21 -04:00
Jonas Jensen
0bfeba5251
Merge pull request #5414 from criemen/diagnostic-queries
...
C++: Extractor/database diagnostic errors
2021-03-22 13:23:24 +01:00
Anders Schack-Mulligen
f681d584bd
Merge pull request #5474 from Marcono1234/marcono1234/string-building-type
...
Java: Add StringBuildingType
2021-03-22 13:16:54 +01:00
Shati Patel
0f83722767
Revert JS changes and add another Java entry
2021-03-22 12:01:08 +00:00
Anders Schack-Mulligen
58fe81db2e
Merge pull request #5455 from hvitved/dataflow/lambda-doc
...
Data flow: Add section on lambda flow to `dataflow.md`
2021-03-22 12:54:46 +01:00
Shati Patel
c5ef57c408
Update docs/codeql/support/reusables/frameworks.rst
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-03-22 11:40:13 +00:00
Tamas Vajk
7a0bfd1a69
Skip through any stub preamble
2021-03-22 12:29:13 +01:00
Asger Feldthaus
54a91c73b0
JS: Tweak summarizedHigherOrderCall
2021-03-22 10:56:03 +00:00
CodeQL CI
a889316003
Merge pull request #5428 from asgerf/js/cheat-sheet-tweak
...
Approved by esbena
2021-03-22 10:51:26 +00:00
Shati Patel
343f4e442f
Add "TODO"s
2021-03-22 10:46:29 +00:00
Shati Patel
9e84b756f7
Update supported frameworks
2021-03-22 10:40:17 +00:00
Mathias Vorreiter Pedersen
d09458a486
C++: Add another taint tracking copy to identical-files.json
2021-03-22 11:35:59 +01:00
Mathias Vorreiter Pedersen
7ec86b5e7f
C++: AdjustedConfiguration should not extend the same dataflow configuration as FromGlobalVarTaintTrackingCfg as this causes multiple configurations to be in scope for dataflow.
2021-03-22 11:35:29 +01:00
Cornelius Riemenschneider
668841cefa
C++: Rename diagnostic queries.
2021-03-22 11:13:49 +01:00
Shati Patel
b422a972bf
Update conf.py
2021-03-22 10:00:18 +00:00
haby0
fe046ec71e
Merge remote-tracking branch 'upstream/main' into main
2021-03-22 17:25:37 +08:00
Rasmus Wriedt Larsen
3a83ecf067
Python: Add test for taint in django forms/fields
2021-03-22 10:03:32 +01:00
Tom Hvitved
98558c7c59
Update docs/ql-libraries/dataflow/dataflow.md
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-03-22 09:42:27 +01:00
Anders Schack-Mulligen
36962b8438
Merge pull request #5468 from Marcono1234/marcono1234/floating-point-literal-value
...
Java: Add value predicates for float and double literals; improve tests
2021-03-22 09:02:31 +01:00
Rasmus Wriedt Larsen
f800bf243f
Python: Better text for getSourceType in Django
2021-03-22 01:39:19 +01:00
Rasmus Wriedt Larsen
701b935564
Python: Add example of QuerySet chain (django)
2021-03-22 00:57:43 +01:00
Marcono1234
1534b387bb
Java: Improve documentation regarding minus in front of numeric literals
2021-03-22 00:54:14 +01:00
Marcono1234
cd059eb965
Java: Add StringBuildingType
2021-03-22 00:19:23 +01:00
Artem Smotrakov
6c24699403
Cover both javax.el and jakarta.el packages
2021-03-21 21:19:39 +03:00
Artem Smotrakov
adb1ed380a
Added tests for Jakarta expression injection
2021-03-21 21:19:39 +03:00
Artem Smotrakov
73e940de74
Added query for Jakarta EL injections
...
- Added JakartaExpressionInjection.ql
- Added a qhelp file with examples
2021-03-21 21:19:39 +03:00
Marcono1234
fa98443bb7
Java: Add value predicates for float and double literals; improve tests
2021-03-21 18:07:55 +01:00
yo-h
0200aedc2e
Java 16: adjust test options
2021-03-21 12:55:25 -04:00
ihsinme
26bac9f425
Apply suggestions from code review
...
Co-authored-by: Robert Marsh <rdmarsh2@gmail.com >
2021-03-21 15:25:29 +03:00
Asger Feldthaus
a54e810804
JS: Include accessor-calls in CallGraph.ql
2021-03-20 13:59:38 +00:00
Asger Feldthaus
f4a476ea4e
JS: Change type ValueNode -> Node
2021-03-20 09:05:04 +00:00
Dilan
1385b22642
pr fixes, typo in qhelp file and helper method for queries
2021-03-19 16:43:29 -07:00
Erik Krogh Kristensen
b565e3de91
expand outDir support in tsconfig files
2021-03-19 23:13:51 +01:00
Erik Krogh Kristensen
07ca09ef90
Merge pull request #5425 from yoff/tausbn-python-document-api-graphs
...
Python: document api graphs
2021-03-19 22:15:07 +01:00
yoff
164b383fda
Update python/ql/test/query-tests/Security/CWE-327/pyOpenSSL_fluent.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-19 19:12:13 +01:00
CodeQL CI
3415b64229
Merge pull request #5423 from erik-krogh/koa
...
Approved by asgerf, esbena
2021-03-19 17:05:58 +00:00
Asger Feldthaus
405c1f3fc7
JS: Update test suite
2021-03-19 16:45:31 +00:00
Asger Feldthaus
fa2ae1420a
JS: Rename Diagnostics folder to Summary
2021-03-19 16:43:23 +00:00
Asger Feldthaus
347cbe422d
JS: Remove the other summary queries
2021-03-19 16:42:43 +00:00
Asger Feldthaus
0c0556bb38
JS: Update LinesOfCode.ql to match the style from C++
2021-03-19 16:42:05 +00:00
Asger Feldthaus
6ca425f033
JS: Implement new metric queries for line counting
2021-03-19 16:34:29 +00:00
Erik Krogh Kristensen
84e9229386
Merge branch 'main' into koa
2021-03-19 16:56:15 +01:00
yoff
eae7bccaad
Apply suggestions from code review
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-03-19 16:50:48 +01:00
Asger Feldthaus
ea8c8df653
JS: Fix bad join orders in summarizedHigherOrderCall
2021-03-19 15:30:49 +00:00
yoff
c6a69e1d6e
Merge pull request #5457 from RasmusWL/framework-tests-non-experimental
...
Python: Move framework tests out of experimental
2021-03-19 16:29:50 +01:00
Tom Hvitved
6e1ee07e90
Address review comment
2021-03-19 16:25:48 +01:00
Mathias Vorreiter Pedersen
6c1ec6d96b
C++: Accept test changes.
2021-03-19 16:09:05 +01:00
Erik Krogh Kristensen
8949b9eb0a
add shell interpreted arrays as sinks for js/shell-command-constructed-from-input
2021-03-19 15:59:06 +01:00
Rasmus Wriedt Larsen
d9079e34e3
Python: Move framework tests out of experimental
...
Since they are not experimental anymore 😄
2021-03-19 15:51:54 +01:00
Erik Krogh Kristensen
79feb3b689
Merge pull request #5454 from asgerf/js/fix-untrusted-checkout-id
...
JS: Fix query ID for UntrustedCheckout
2021-03-19 14:32:52 +01:00
Tom Hvitved
18ac2596d0
Data flow: Add section on lambda flow to dataflow.md
2021-03-19 13:58:21 +01:00
CodeQL CI
3b117f5218
Merge pull request #5419 from erik-krogh/forgery
...
Approved by asgerf
2021-03-19 12:56:53 +00:00
Asger Feldthaus
42c4b22ea1
JS: Fix query ID for UntrustedCheckout
2021-03-19 12:41:34 +00:00
Jonas Jensen
98c1aa5298
Merge pull request #5271 from github/files-query
...
C++: Summary metrics queries
2021-03-19 12:56:19 +01:00
Asger Feldthaus
01fd00de56
JS: Fix join order in argumentPassing
2021-03-19 11:49:06 +00:00
Asger F
2f3d516413
JS: Track flow into ES accessors
2021-03-19 11:11:25 +00:00
Tamás Vajk
0732f200e8
Merge pull request #5421 from tamasvajk/feature/codequalityfixes
...
C#: Fix code quality issues reported by code scanning
2021-03-19 12:09:18 +01:00
Tamás Vajk
752c911a22
Merge pull request #5394 from tamasvajk/feature/upgrade-nuget-packages
...
C#: Upgrade nuget packages
2021-03-19 12:09:00 +01:00
Asger F
4f46908224
JS: Add test with ES getters/setters
2021-03-19 11:07:15 +00:00
CodeQL CI
e8498b85e3
Merge pull request #5430 from RasmusWL/improve-path-docs
...
Approved by shati-patel, yoff
2021-03-19 04:01:22 -07:00
Tom Hvitved
09a49e4580
Merge pull request #5311 from hvitved/dataflow/lambda
...
Data flow: Move C# lambda flow logic into shared library
2021-03-19 11:44:15 +01:00
Cornelius Riemenschneider
e482d21949
C++: Make QLdoc check happy.
2021-03-19 11:40:20 +01:00
Cornelius Riemenschneider
63e560e3b4
Fix QL doc.
2021-03-19 11:27:51 +01:00
Cornelius Riemenschneider
39a7d3decc
C++: Address review comments.
2021-03-19 11:23:47 +01:00
yoff
37036b5e76
Merge pull request #5437 from RasmusWL/small-pyyaml-improvements
...
Python: Small PyYAML improvements
2021-03-19 11:15:49 +01:00
Tamas Vajk
79d6731ed8
C#: Adjust make_stubs.py to use codeql instead of odasa
2021-03-19 11:01:28 +01:00
Cornelius Riemenschneider
783a63a8a8
Update cpp/ql/src/Summary/LinesOfCode.ql
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-03-19 10:54:41 +01:00
Erik Krogh Kristensen
36b0ab1de5
Apply suggestions from code review
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-03-19 10:29:38 +01:00
CodeQL CI
fc7f19f900
Merge pull request #5433 from erik-krogh/clientSocket
...
Approved by esbena
2021-03-19 02:12:19 -07:00
Erik Krogh Kristensen
a28a36ab29
add change-note
2021-03-19 10:10:56 +01:00
Erik Krogh Kristensen
e90fb1a225
reuse classes modelling standard library functions
2021-03-19 10:09:33 +01:00
Rasmus Wriedt Larsen
7543f10593
Python: Reorganize PyYAML tests a bit
2021-03-19 09:53:25 +01:00
Tamas Vajk
20f0b3329a
C#: Fix code quality issues reported by code scanning
2021-03-19 09:18:57 +01:00
Rasmus Lerchedahl Petersen
e0e6d5724e
Merge branch 'main' of github.com:github/codeql into python-port-insecure-protocol
2021-03-18 23:34:53 +01:00
Erik Krogh Kristensen
d489d63b8e
recognize object transformations in module.exports when looking for library inputs
2021-03-18 20:54:33 +01:00
yoff
746e9948b0
Merge pull request #5075 from RasmusWL/crypto
...
Python: Port py/weak-crypto-key to use type-tracking
2021-03-18 20:53:28 +01:00
Erik Krogh Kristensen
28ad667578
add model for async-execute
2021-03-18 19:40:46 +01:00
Erik Krogh Kristensen
58617c5c59
recognize client websockets as ClientRequests
2021-03-18 19:08:39 +01:00
Aditya Sharad
f4dc5b963b
Merge pull request #5335 from Marcono1234/patch-1
...
Add name to check-change-note.yml workflow
2021-03-18 10:44:53 -07:00
Erik Krogh Kristensen
ed8e0fb593
remove CannonicalName API nodes
2021-03-18 15:34:17 +01:00
Erik Krogh Kristensen
7180a1ed52
add Type to MkHasUnderlyingType
2021-03-18 15:16:31 +01:00
Erik Krogh Kristensen
af5a61782c
also look for main modules in a lib folder
2021-03-18 14:51:11 +01:00
Erik Krogh Kristensen
6bab41ce8b
Merge pull request #5350 from JarLob/actions
...
github actions queries
2021-03-18 14:46:25 +01:00
Erik Krogh Kristensen
f94f82a0dc
use getAChainedMethodCall
2021-03-18 14:35:10 +01:00
Erik Krogh Kristensen
38a9c71380
Apply suggestions from code review
...
Co-authored-by: Asger F <asgerf@github.com >
2021-03-18 14:33:13 +01:00
Erik Krogh Kristensen
0e98ea0c10
remove spurious import of PackageExports
2021-03-18 14:09:08 +01:00
Erik Krogh Kristensen
67a5831ac0
update expected output
2021-03-18 13:59:44 +01:00
Erik Krogh Kristensen
c0bb169342
recognize a src/index.js file as a main module for a package
2021-03-18 13:41:36 +01:00
Erik Krogh Kristensen
add0c88530
loosen the requirement that the package.json file must be the top-most package.json
2021-03-18 13:39:12 +01:00
Erik Krogh Kristensen
d998d06b94
add link to source in alert-message for js/shell-command-constructed-from-input
2021-03-18 13:37:18 +01:00
Mathias Vorreiter Pedersen
c0e1df47a6
Merge pull request #5431 from MathiasVP/av-rule-79-use-gvn
...
C++: Use GVN in AV Rule 79
2021-03-18 12:35:26 +01:00
CodeQL CI
3b34bfd1c6
Merge pull request #5432 from asgerf/js/more-string-steps
...
Approved by erik-krogh
2021-03-18 04:16:07 -07:00
Rasmus Wriedt Larsen
42b2c3ed52
Python: Model C-based loaders for PyYAML
...
Not really that important. But easy to do while I was working on this library.
2021-03-18 11:55:01 +01:00
Rasmus Wriedt Larsen
54e6f51512
Python: Add example of C-based PyYAML loaders
...
```
In [6]: yaml.load("!!python/object/new:os.system [echo EXPLOIT!]", yaml.CLoader)
EXPLOIT!
Out[6]: 0
```
2021-03-18 11:50:59 +01:00
Rasmus Wriedt Larsen
25b15d7470
Python: Move PyYAML modeling classes within module
...
For now, this is how we're trying to structure things -- all in all it doesn't
matter too much, since everything is still marked as private.
2021-03-18 11:48:30 +01:00
Rasmus Wriedt Larsen
5ec8511d50
Python: Port PyYAML model to API graphs
2021-03-18 11:47:46 +01:00
Porcuiney Hairs
a88c3682ff
remove sanitiserGuards
2021-03-18 16:12:00 +05:30
Porcuiney Hairs
84c9137152
Include suggestions from review
2021-03-18 16:12:00 +05:30
porcupineyhairs
f27d2bdf6d
Update java/ql/src/experimental/semmle/code/java/Logging.qll
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-03-18 16:12:00 +05:30
Porcuiney Hairs
d0c82d3756
Add flogger and android logging support
2021-03-18 16:12:00 +05:30
Porcuiney Hairs
17d7ba8049
Add Log Injection Vulnerability
2021-03-18 16:12:00 +05:30
Rasmus Wriedt Larsen
14e9bda5de
Python: Refactor PyYAML tests a bit
2021-03-18 11:39:47 +01:00
Rasmus Wriedt Larsen
45a1fc6a96
Python: Add link to better PyYAML docs
...
I found this randomly
2021-03-18 11:20:22 +01:00
Asger Feldthaus
e30fa89405
JS: Update more test expectations
2021-03-18 10:04:39 +00:00
Erik Krogh Kristensen
8b931626ce
add edge from root type MkHasUnderlyingType
2021-03-18 11:04:08 +01:00
Rasmus Wriedt Larsen
7b92012edf
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-03-18 10:58:49 +01:00
Jaroslav Lobačevski
a9ed3317bf
Fix regex per suggestion
2021-03-18 11:54:55 +02:00
Erik Krogh Kristensen
40ec23cf13
refactor MkHasUnderlyingType to use Label::instance()
2021-03-18 10:47:38 +01:00
Mathias Vorreiter Pedersen
2abf4c068f
C++: Use getAnExpr. Also extend the other recursive case similarly.
2021-03-18 08:42:10 +01:00
Erik Krogh Kristensen
b2d6982318
add change note
2021-03-17 19:17:23 +01:00
Erik Krogh Kristensen
3995ff322d
add models for koa-route and koa-router
2021-03-17 19:17:20 +01:00
Jaroslav Lobačevski
7b6773c96a
Update javascript/ql/src/experimental/semmle/javascript/Actions.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-03-17 19:49:03 +02:00
CodeQL CI
1d9f8c2d37
Merge pull request #5427 from RasmusWL/use-new-builtin-modeling
...
Approved by yoff
2021-03-17 09:07:36 -07:00
Jaroslav Lobačevski
e3bf308952
Removed positive lookbehind
2021-03-17 17:32:10 +02:00
Mathias Vorreiter Pedersen
834e35f192
C++: Add change-note.
2021-03-17 16:26:15 +01:00
Asger Feldthaus
ae410aabd6
JS: Add change note
2021-03-17 15:24:10 +00:00
Asger Feldthaus
e4d891cab5
JS: Add tests for flow through replace
2021-03-17 15:20:40 +00:00
Asger Feldthaus
9cfbb90591
JS: Add test case for insufficient replace-sanitizer
2021-03-17 15:20:40 +00:00
Asger Feldthaus
198bdcab26
JS: Make XSS MetacharEscapeSanitizer more precise
2021-03-17 15:20:40 +00:00
Asger Feldthaus
effa52f9e1
JS: Step through string replace callbacks
2021-03-17 15:15:49 +00:00
CodeQL CI
7c20c4a664
Merge pull request #5396 from asgerf/js/shared-taint-step
...
Approved by erik-krogh, esbena
2021-03-17 08:07:20 -07:00
Mathias Vorreiter Pedersen
a3f806bb1d
Use GVN in AV rule 79.
2021-03-17 16:01:49 +01:00
Rasmus Wriedt Larsen
d426f1efaf
Docs: Highlight need for explicit import of DataFlow lib
...
at least in some langauges
2021-03-17 16:01:20 +01:00
yoff
514c9efcdd
Merge pull request #5426 from RasmusWL/insecure-default-protocl-tests-are-also-py3
...
Python: Also test py/insecure-default-protocol on Python 3
2021-03-17 15:59:00 +01:00
Rasmus Wriedt Larsen
4f63584179
Docs: Highlight that Configuration is not DataFlow::Configuration
...
I made that mistake when just reading it over (DOH). I think that calling it
MyConfiguration makes it a bit more clear that this is a configuration class you
wrote yourself :D
2021-03-17 15:55:58 +01:00
Rasmus Wriedt Larsen
27032af2eb
Python: Use API graphs for io.open
2021-03-17 15:50:02 +01:00
Rasmus Wriedt Larsen
d52d328587
Python: Use new API::builtin in stdlib modeling
2021-03-17 15:50:01 +01:00
Asger Feldthaus
bf5259096e
JS: Update cheat sheet
2021-03-17 14:34:30 +00:00
Rasmus Lerchedahl Petersen
b3ff3f7ee7
PythonÆ adjust test expectations
...
I suspect it has to do with ParameterNode being a LocalSourceNode,
but I really have no idea...
2021-03-17 15:11:17 +01:00
Rasmus Lerchedahl Petersen
8f467003d2
Python: More review suggestions
2021-03-17 15:11:17 +01:00
yoff
63b732ce1f
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-03-17 15:11:17 +01:00
Rasmus Lerchedahl Petersen
4d856d4461
Python: Add small api enhancements
...
determined useful during documentation work.
2021-03-17 15:11:17 +01:00
Rasmus Lerchedahl Petersen
f04ac87091
Python, doc: Include new section in toc
2021-03-17 15:04:07 +01:00
Rasmus Wriedt Larsen
315127d888
Python: Also test py/insecure-default-protocol on Python 3
2021-03-17 14:53:36 +01:00
Rasmus Lerchedahl Petersen
135a6713e8
Python, doc: References to section on API graphs.
2021-03-17 14:42:50 +01:00
CodeQL CI
d95b295e52
Merge pull request #5400 from erik-krogh/replaceCallbacks
...
Approved by asgerf
2021-03-17 06:42:34 -07:00
Rasmus Lerchedahl Petersen
7e9cf03f4d
Merge branch 'python-document-api-graphs' of https://github.com/tausbn/codeql into tausbn-python-document-api-graphs
2021-03-17 14:36:16 +01:00
Tom Hvitved
5b2d5ee010
Merge pull request #4940 from hvitved/csharp/base-ssa-phi-input
...
C#: Take phi nodes into account in `Steps::getARead()`
2021-03-17 14:33:59 +01:00
Asger Feldthaus
ccc879dc5c
JS: Autoformat
2021-03-17 13:29:17 +00:00
Asger Feldthaus
e1bfc6cd38
JS: Add qldoc to deprecated class member
2021-03-17 13:29:17 +00:00
Asger Feldthaus
ab1947a028
JS: Add comment explaining how to add new steps
2021-03-17 13:29:17 +00:00
Asger Feldthaus
c2764069b5
JS: Mention why we cache predicates outside the class
2021-03-17 13:29:17 +00:00
Asger Feldthaus
a97d3452a7
JS: Add DataFlow::SharedFlowStep to future-proof the tutorial
2021-03-17 13:29:17 +00:00
Asger Feldthaus
d74e84abd8
JS: Remove or update some mentions of AdditionalTaintStep
2021-03-17 13:29:17 +00:00
Asger Feldthaus
c0b5a9ad0c
JS: Deprecate AdditionalTaintStep
2021-03-17 13:29:17 +00:00
Asger Feldthaus
332ee40984
JS: Autoformat
2021-03-17 13:29:17 +00:00
Asger Feldthaus
0675066ab9
JS: Fixup UriLibraries test
2021-03-17 13:29:17 +00:00
Asger Feldthaus
443b59e676
JS: Fixup bad merge in HeapTaintStep
2021-03-17 13:29:17 +00:00
Asger Feldthaus
80bc5d921b
JS: Update Vue test
2021-03-17 13:29:16 +00:00
Asger Feldthaus
d52ff3e4f6
JS: Autoformat and add qldoc
2021-03-17 13:29:16 +00:00
Asger Feldthaus
96c6e4d8d8
JS: Update with new AdditionalTaintStep subclasses
2021-03-17 13:29:16 +00:00
Asger Feldthaus
561b9d09b3
JS: Put in same stage as RemoteFlowSource
2021-03-17 13:29:16 +00:00
Asger Feldthaus
e4a75b42e9
JS: Autoformat
2021-03-17 13:29:16 +00:00
Asger Feldthaus
8542c7172e
JS: Fix promiseStep documentation
2021-03-17 13:29:16 +00:00
Asger Feldthaus
f95c799d6e
JS: Cache taint steps in same stage
2021-03-17 13:29:16 +00:00
Asger Feldthaus
e847043307
JS: Move React steps into React library
2021-03-17 13:29:16 +00:00
Asger Feldthaus
6324c4f22a
JS: Add arrayStep but ignore overlap with heapStep for now
2021-03-17 13:29:15 +00:00
Asger Feldthaus
0bdf67f8aa
JS: Remove duplicate await step
2021-03-17 13:29:15 +00:00
Asger Feldthaus
4116c1ec66
JS: Add category for promise steps
2021-03-17 13:29:15 +00:00
Asger Feldthaus
f009a6121e
JS: Refactor steps into subcategories
2021-03-17 13:29:13 +00:00
Asger Feldthaus
d823fd15af
JS: Fix join orders and use SourceNode API in React model
2021-03-17 13:26:02 +00:00
Asger Feldthaus
255424cdc2
JS: Fix bad join order from use of getAType() = TTRegExp
2021-03-17 13:26:02 +00:00
Asger Feldthaus
b049136008
JS: Fix bad join order in Vue model
2021-03-17 13:26:02 +00:00
Asger Feldthaus
d9a52201ad
JS: Use sharedTaintStep
2021-03-17 13:26:02 +00:00
Asger Feldthaus
42ddeadaca
JS: Fixup comment in heuristics
2021-03-17 13:26:01 +00:00
Asger Feldthaus
5ad950e51e
JS: ClosurePromiseStep
2021-03-17 13:26:01 +00:00
Asger Feldthaus
b9d918896b
JS: PromiseStep
2021-03-17 13:26:01 +00:00
Asger Feldthaus
a39cb74b89
JS: Heuristics
2021-03-17 13:26:01 +00:00
Asger Feldthaus
58a34fc249
JS: VHtmlSourceWrite -> SharedTaintStep
2021-03-17 13:26:01 +00:00
Asger Feldthaus
bd5452f2cf
JS: Move VHtmlSourceWrite step into Vue library (as its a shared step)
2021-03-17 13:26:01 +00:00
Asger Feldthaus
2dcb708022
JS: Base64
2021-03-17 13:26:01 +00:00
Asger Feldthaus
d9be660633
JS: Extend
2021-03-17 13:26:01 +00:00
Asger Feldthaus
d079cb5149
JS: ClosureLibrary
2021-03-17 13:26:01 +00:00
Asger Feldthaus
25d4ab78fe
JS: ComposedFunctions
2021-03-17 13:26:01 +00:00
Asger Feldthaus
a2f7ecec66
JS: AsyncPackage
2021-03-17 13:26:01 +00:00
Asger Feldthaus
4746670ac6
JS: UriLibraryStep
2021-03-17 13:26:00 +00:00
Asger Feldthaus
dbb8aaeb0b
JS: Remove a column from UriLibraryStep test case
2021-03-17 13:26:00 +00:00
Asger Feldthaus
ade75793dd
JS: Typeahead
2021-03-17 13:26:00 +00:00
Asger Feldthaus
9ee81cb115
JS: Fix TaintedPath
2021-03-17 13:26:00 +00:00
Asger Feldthaus
ec19bed1fa
JS: Fix regexp tracking
2021-03-17 13:26:00 +00:00
Asger Feldthaus
92d555166a
JS: PropertyProjectionTest
2021-03-17 13:26:00 +00:00
Asger Feldthaus
a39086ab27
JS: Vue::InstanceHeapStep
2021-03-17 13:26:00 +00:00
Asger Feldthaus
957c406969
JS: BufferTaintStep
2021-03-17 13:26:00 +00:00
Asger Feldthaus
6bd2c2e476
JS: FsFlowStep
2021-03-17 13:26:00 +00:00
Asger Feldthaus
ee9841e7ec
JS: PathFlowStep
2021-03-17 13:26:00 +00:00
Asger Feldthaus
8fe229fb08
JS: ArrayFunctionTaintStep
2021-03-17 13:26:00 +00:00
Asger Feldthaus
7275707115
JS: UtilInspectTaintStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
462e31c2b4
JS: ErrorConstructorTaintStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
fa9b3dfff4
JS: SortTaintStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
107569ef41
JS: JsonParserTaintStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
301b5e6556
JS: JsonStringifyTaintStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
0b41124b0f
JS: StringMatchTaintStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
9f15b14df9
JS: StringFormattingStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
a00fdc9b25
JS: StringManipulationStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
7a5f9f6a69
JS: StringConcatStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
0fa66acdb8
JS: ReactPropStep
2021-03-17 13:25:59 +00:00
Asger Feldthaus
317a073b6e
JS: DictionaryTaintStep
2021-03-17 13:25:58 +00:00
Asger Feldthaus
3398ddf783
JS: HeapTaintStep
2021-03-17 13:25:58 +00:00
Asger Feldthaus
c3e00181cb
JS: Add SharedTaintStep
2021-03-17 13:25:58 +00:00
Rasmus Wriedt Larsen
1ecee2da0d
Merge pull request #5357 from yoff/python-rework-documentation
...
Python: rework documentation
2021-03-17 14:25:23 +01:00
Anders Schack-Mulligen
05779ef7ee
Merge pull request #5368 from joefarebrother/guava-convert-to-csv
...
Java: Convert existing Guava models to CSV format
2021-03-17 13:50:48 +01:00
CodeQL CI
efeff6fcf8
Merge pull request #5033 from asgerf/js/generalized-remote-flow-source
...
Approved by erik-krogh
2021-03-17 05:41:39 -07:00
Erik Krogh Kristensen
dab6a11978
add example code
2021-03-17 13:35:16 +01:00
Erik Krogh Kristensen
5898b48391
add missing polarity check
2021-03-17 13:35:07 +01:00
Erik Krogh Kristensen
1db5cb15f0
Update javascript/ql/src/semmle/javascript/security/IncompleteBlacklistSanitizer.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2021-03-17 13:30:05 +01:00
yoff
0fc30997eb
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-python.rst
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-17 13:00:09 +01:00
Cornelius Riemenschneider
5e0601fe1f
C++: Address review comments.
2021-03-17 12:28:03 +01:00
Tamas Vajk
7019878775
Upgrade nuget package in Semmle.Autobuild.Cpp.csproj
2021-03-17 12:18:28 +01:00
Tamás Vajk
2e2a5d62c2
Merge pull request #5420 from tamasvajk/feature/fix-nullable-warning
...
C#: Fix nullable warning
2021-03-17 12:16:15 +01:00
Mathias Vorreiter Pedersen
3914a93504
C++: Remove commonTaintStep from DefaultTaintTracking.
2021-03-17 11:56:59 +01:00
Cornelius Riemenschneider
144dcf1b5e
C++: Include empty message for SuccessfulExtractions.ql.
2021-03-17 11:18:40 +01:00
Cornelius Riemenschneider
5e4e853ffb
C++: Add missing QLDoc.
2021-03-17 11:18:40 +01:00
Cornelius Riemenschneider
4c4fc05553
C++: Make toString deterministic for tests.
2021-03-17 11:18:40 +01:00
Cornelius Riemenschneider
9612426680
C++: Initial file-related metric queries.
...
This adds a library `FailedExtractions.qll` that classifies extractor errors
and provides a unified interface for both recoverable and irrecoverable
extractor errors.
This interface is then used by the new diagnostic queries to list
successfully extracted files, as well as files that encountered an
extraction error.
2021-03-17 11:18:34 +01:00
Asger Feldthaus
3a68eceaaa
JS: Fix typo in change note
2021-03-17 10:17:56 +00:00
Erik Krogh Kristensen
d1602d538e
add change note
2021-03-17 10:06:41 +01:00
Erik Krogh Kristensen
edb0f77177
add missing qldoc
2021-03-17 10:05:36 +01:00
Erik Krogh Kristensen
8975c3a7ce
broaden which types are recognized by API-graphs
2021-03-17 10:03:55 +01:00
Erik Krogh Kristensen
2f3869f41b
add model for puppeteer
2021-03-17 10:03:51 +01:00
haby0
c516d69b98
Merge remote-tracking branch 'upstream/main' into main
2021-03-17 16:42:48 +08:00
Tamas Vajk
78843882f9
C#: Upgrade nuget packages
2021-03-17 09:35:57 +01:00
Tamas Vajk
02cb383d3b
C#: Fix nullable warning
2021-03-17 09:35:13 +01:00
Tamas Vajk
0b1705f302
C#: Adjust Callable::canReturn to handle Task-like async return types
2021-03-17 09:25:57 +01:00
haby0
15206fd2ce
JsonpInjection.ql autoformatted
2021-03-17 15:52:05 +08:00
haby0
98204a15a6
Fix the problem
2021-03-17 15:28:04 +08:00
Rasmus Lerchedahl Petersen
acac519fef
Python: Address review suggestions
2021-03-17 00:10:04 +01:00
Mathias Vorreiter Pedersen
43fbcc1c8a
C++: Convert all the dataflow configurations to taint configurations.
2021-03-16 22:36:17 +01:00
Mathias Vorreiter Pedersen
dd6b27df24
C++: Fix test annotation.
2021-03-16 22:35:47 +01:00
Tamas Vajk
cd820917bc
Remove duplicate yield return entries from global dataflow test
2021-03-16 21:28:58 +01:00
yoff
0ee7ccf6b9
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-python.rst
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-16 19:58:23 +01:00
Tamas Vajk
2541e9cb6a
C#: Handle async data flow in expression bodied callables
2021-03-16 16:32:47 +01:00
Tamas Vajk
048c72a0f2
C#: Remove YieldReturnKind
2021-03-16 16:20:04 +01:00
Tamas Vajk
aa2abf76ba
Make ReturnNodes disjoint (normal, yield, async)
2021-03-16 16:17:27 +01:00
Asger Feldthaus
97b8e35426
JS: Update test expectations
2021-03-16 15:09:01 +00:00
Joe Farebrother
f5e4b87d1e
Remove redundant rows and add note on collection flow
2021-03-16 14:28:24 +00:00
Joe Farebrother
1e3c4d0eb1
Add stubs to fix broken test case
2021-03-16 14:24:49 +00:00
Joe Farebrother
980b2c1f4c
Convert existing Guava models to CSV system
2021-03-16 14:24:49 +00:00
Tamas Vajk
732ef92830
C#: add store step for return statements inside async methods
2021-03-16 15:18:00 +01:00
Rasmus Wriedt Larsen
fbbec5d2b9
Merge pull request #5118 from yoff/python-port-stacktrace-exosure
...
Python: Port stack trace exposure
2021-03-16 14:52:44 +01:00
Tamas Vajk
c684b74b3d
C#: Add async dataflow tests
2021-03-16 14:46:16 +01:00
Rasmus Wriedt Larsen
50978364a6
Merge pull request #5246 from yoff/python-port-insecure-default-protocol
...
Python: Port insecure default protocol
2021-03-16 14:30:19 +01:00
Asger Feldthaus
3922c73be7
JS: Add change note
2021-03-16 13:28:12 +00:00
Asger Feldthaus
a76be91481
JS: Remove deprected use of queryAccess
2021-03-16 13:28:12 +00:00
Asger Feldthaus
ff1326cc7b
JS: Cache getReExportedModule
2021-03-16 13:28:12 +00:00
Asger Feldthaus
710cca5395
JS: Update expectations with new sources
2021-03-16 13:28:12 +00:00
Asger Feldthaus
a9383da2c3
JS: Autoformat
2021-03-16 13:28:12 +00:00
Asger Feldthaus
bc4c178648
JS: Cache together
2021-03-16 13:28:12 +00:00
Asger Feldthaus
7b7e87f177
JS: Fix bad join order in closure
2021-03-16 13:28:11 +00:00
Asger Feldthaus
aa1c8c041e
JS: Exclude client-side sources from RegExpInjection
2021-03-16 13:28:11 +00:00
Asger Feldthaus
2e57a7d3e9
JS: Add ClientSideRemoteFlowSource
2021-03-16 13:28:09 +00:00
Anders Schack-Mulligen
aa360c0378
Merge pull request #5413 from smowton/smowton/feature/infer-fluent-method-taint-flow
...
Add taint-preserving edges where a call also has a value-preserving edge
2021-03-16 14:10:11 +01:00
Anders Schack-Mulligen
53c360479a
Merge pull request #5329 from tamasvajk/feature/csv-taint-step
...
Java: migrate taint steps to CSV
2021-03-16 14:09:21 +01:00
Anders Schack-Mulligen
46bae88181
Merge pull request #5375 from aschackmull/dataflow/unbind
...
Dataflow: Switch from unbind to pragma[only_bind_into].
2021-03-16 14:03:54 +01:00
Tom Hvitved
88b7ad001f
C#: Take phi nodes into account in Steps::getARead()
2021-03-16 13:55:30 +01:00
CodeQL CI
ae62fbc2c7
Merge pull request #5382 from erik-krogh/moreCache
...
Approved by asgerf
2021-03-16 05:53:03 -07:00
Tom Hvitved
cb8e2d451d
C#: Add test for DeadStoreOfLocal.ql
2021-03-16 13:52:41 +01:00
Tom Hvitved
b11e15154f
Data flow: Sync files and add stubs
2021-03-16 13:49:32 +01:00
Tom Hvitved
a373a523f6
Data flow: Move C# lambda flow logic into shared library
2021-03-16 13:49:32 +01:00
CodeQL CI
b37da7cc22
Merge pull request #5386 from erik-krogh/cachePrepend
...
Approved by asgerf
2021-03-16 05:49:24 -07:00
CodeQL CI
40acb95105
Merge pull request #5397 from erik-krogh/globalSanitizer
...
Approved by asgerf
2021-03-16 05:37:32 -07:00
Erik Krogh Kristensen
3640bbd466
add test for IncompleteHtmlAttributeSanitization
2021-03-16 13:25:27 +01:00
Erik Krogh Kristensen
1bf259beef
support another String.prototype.replace pattern
2021-03-16 13:25:13 +01:00
Cornelius Riemenschneider
755fec466f
Apply suggestions from code review
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-03-16 13:21:57 +01:00
Tom Hvitved
e1e4016a5c
C#: Fix missing delegate flow
2021-03-16 13:16:23 +01:00
Tom Hvitved
29c6d22163
C#: Add test exposing missing delegate flow
2021-03-16 13:16:23 +01:00
Tom Hvitved
25adcfc39d
C#: Fix missing phi flow
2021-03-16 13:16:23 +01:00
Tom Hvitved
e092b31791
C#: Add test exposing missing phi flow
2021-03-16 13:16:23 +01:00
Tamas Vajk
d02fba8c37
Java: adjust wrapped constructor calls
2021-03-16 12:42:41 +01:00
Rasmus Lerchedahl Petersen
cf791e8164
Python: Describe Concepts and Attributes
2021-03-16 12:31:47 +01:00
Tamas Vajk
e3534d1635
Java: cover wrapped constructor taint flow
2021-03-16 12:10:28 +01:00
Tamas Vajk
af0dff8c6f
Java: migrate constructor flow taint steps to CSV
2021-03-16 12:10:28 +01:00
Tamas Vajk
f9a207dd9f
Java: migrate 'arg to arg' taint steps to CSV
2021-03-16 12:10:28 +01:00
Tamas Vajk
7e1534a6cd
Java: migrate 'arg to return' taint steps to CSV
2021-03-16 12:10:28 +01:00
Tamas Vajk
5cdbde2686
Java: migrate 'qualifier to return' taint steps to CSV
2021-03-16 12:10:28 +01:00
Tamas Vajk
40126563ef
Java: migrate 'qualifier to arg' taint steps to CSV
2021-03-16 12:10:28 +01:00
CodeQL CI
c08230ce1e
Merge pull request #5378 from asgerf/js/meta-problem-queries
...
Approved by esbena
2021-03-16 03:58:12 -07:00
Cornelius Riemenschneider
2e8e04f73e
C++: Move FailedExtractions.ql to FailedCompilations.ql.
2021-03-16 10:48:04 +00:00
Tamás Vajk
24140195d6
Merge pull request #5242 from tamasvajk/feature/tuple-df
...
C#: Add tuple dataflow
2021-03-16 11:45:11 +01:00
Tamás Vajk
8d6b8359eb
Merge pull request #5316 from tamasvajk/feature/roslyn3.9
...
C#: Upgrade Roslyn dependencies to 3.9
2021-03-16 11:44:42 +01:00
Anders Schack-Mulligen
2d8d967060
Dataflow: Address review comment.
2021-03-16 11:07:33 +01:00
Cornelius Riemenschneider
fa3ac30894
C++: Update query to latest spec.
2021-03-16 09:56:38 +00:00
Chris Smowton
6d108c0fa7
Improve docstring for composedValueAndTaintModelStep
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-03-16 09:00:35 +00:00
Chris Smowton
915a19fb9d
Improve naming; eliminate some harmless extra results
...
Adding `src != valueSource` should have no effect as the introduced edge would already exist, but could reduce workload downstream.
2021-03-16 08:57:14 +00:00
Chris Smowton
516122aa74
Add taint-preserving edges where a call also has a value-preserving edge
...
For example, for a fluent method that returns `this`, we take a tainting edge from argX to either `this` or the return value to also taint the other.
2021-03-16 08:45:24 +00:00
CodeQL CI
86b933a0e0
Merge pull request #5354 from yoff/doc-fix-typo-csharp-dataflow
...
Approved by hvitved
2021-03-15 23:52:38 -07:00
Jaroslav Lobačevski
8445ec6c17
Update javascript/ql/src/experimental/semmle/javascript/Actions.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-03-15 19:15:10 +02:00
yoff
14dd708abc
Apply suggestions from code review
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-03-15 17:56:50 +01:00
Jaroslav Lobačevski
87ea442a78
qhelp
2021-03-15 18:47:45 +02:00
Rasmus Lerchedahl Petersen
6fff746b16
Merge branch 'main' of github.com:github/codeql into python-port-insecure-protocol
2021-03-15 17:37:28 +01:00
Rasmus Lerchedahl Petersen
9a96230523
Python: Add changenote
2021-03-15 17:35:30 +01:00
Jaroslav Lobačevski
de6ed1dcb9
File rename
2021-03-15 18:34:10 +02:00
Rasmus Lerchedahl Petersen
514a69c47a
Python: Support ssl.PROTOCOL_TLS_SERVER
...
and `ssl.PROTOCOL_TLS_CLIENT`
2021-03-15 17:30:01 +01:00
Rasmus Lerchedahl Petersen
87f3ba2684
Python: add tests for ssl.PROTOCOL_TLS_SERVER
...
and `ssl.PROTOCOL_TLS_CLIENT`
2021-03-15 17:24:39 +01:00
Jaroslav Lobačevski
a823baabfb
Ranamed to CWE-094
2021-03-15 18:24:08 +02:00
Rasmus Lerchedahl Petersen
731f4559b4
Python: update test expectations
2021-03-15 17:23:58 +01:00
Jaroslav Lobačevski
16ca2314e4
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-03-15 18:14:20 +02:00
Rasmus Lerchedahl Petersen
4094b18407
Python: Clean up tests
2021-03-15 16:28:08 +01:00
Anders Schack-Mulligen
45c9428668
Merge pull request #5337 from smowton/smowton/feature/commons-lang-random-sources
...
Java: Add support for Commons-Lang's RandomUtils
2021-03-15 16:21:01 +01:00
Anders Schack-Mulligen
d1f30d9164
Java: Autoformat.
2021-03-15 15:28:04 +01:00
Anders Schack-Mulligen
662e17ff85
Java: Bugfix dispatch to lambda in call context.
2021-03-15 15:09:03 +01:00
CodeQL CI
9268050eb8
Merge pull request #5369 from erik-krogh/tempObjInj
...
Approved by asgerf
2021-03-15 05:23:55 -07:00
CodeQL CI
a9c292e265
Merge pull request #5391 from erik-krogh/additionalXss
...
Approved by asgerf
2021-03-15 04:50:54 -07:00
Erik Krogh Kristensen
b039267b76
Apply suggestions from code review
...
Co-authored-by: Asger F <asgerf@github.com >
2021-03-15 12:39:56 +01:00
Cornelius Riemenschneider
f75b969ffc
C++: Only include sum of LoC in the new non-alert summary queries for now.
2021-03-15 11:32:10 +00:00
Mathias Vorreiter Pedersen
0ffb80e3b1
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-15 09:42:32 +01:00
Anders Schack-Mulligen
e37ba75599
Merge pull request #5401 from Marcono1234/patch-2
...
Add missing quote in documentation
2021-03-15 09:17:29 +01:00
Rasmus Lerchedahl Petersen
41c9394b4b
Python: update qhelp and example
2021-03-14 09:22:47 +01:00
Rasmus Lerchedahl Petersen
0d8f8d2cc5
Python, doc: subsection on local sources
...
also remove references to `parameterNode` which is not available yet.
2021-03-13 08:15:42 +01:00
Marcono1234
a457f5cc4a
Add missing quote in documentation
2021-03-13 05:01:56 +01:00
yoff
a760ed8c55
Merge pull request #5388 from tausbn/python-api-graph-builtins
...
Python: Support built-ins in API graphs
2021-03-12 17:45:59 +01:00
Tamas Vajk
27048191c8
C#: Add dataflow test for tuple-positional pattern
2021-03-12 17:14:24 +01:00
Erik Krogh Kristensen
1dcfc3840d
add test
2021-03-12 16:25:33 +01:00
Erik Krogh Kristensen
f357b73f94
require that the MetacharEscapeSanitizer is a global replace call
2021-03-12 16:18:47 +01:00
Tamas Vajk
9ff304ca6b
Fix missing variable binding
2021-03-12 16:14:32 +01:00
Taus
dfc0e9b906
Merge pull request #5243 from RasmusWL/port-bind-to-all-interfaces
...
Python: Port py/bind-socket-all-network-interfaces query
2021-03-12 16:04:19 +01:00
Rasmus Lerchedahl Petersen
748749c32a
Python, doc: Describe smoother syntax
2021-03-12 16:02:20 +01:00
Anders Schack-Mulligen
5aa9c2bd19
Dataflow: One more pragma.
2021-03-12 15:59:19 +01:00
CodeQL CI
cb6ee547ca
Merge pull request #5379 from asgerf/js/d3
...
Approved by erik-krogh
2021-03-12 06:49:48 -08:00
Taus
c6d6d07720
Apply suggestions from code review
2021-03-12 14:28:59 +01:00
Taus
ffe5d30c2b
Apply suggestions from code review
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-03-12 14:27:07 +01:00
Taus Brock-Nannestad
f05313435d
Python: Move typePreservingStep into Private
2021-03-12 14:06:39 +01:00
Chris Smowton
92d61354d4
Remove abstract class RandomNumberGenerator
2021-03-12 13:04:31 +00:00
Asger Feldthaus
a2d1e88bb3
JS: Update more test expectations
2021-03-12 12:57:21 +00:00
Taus Brock-Nannestad
9b8056371f
Python: Make the type tracking implementation shareable
2021-03-12 13:51:24 +01:00
luchua-bc
1a2e341b7c
Refactor the business logic of the query into a separate predicate
2021-03-12 12:19:37 +00:00
Anders Schack-Mulligen
a8b84e430f
Merge pull request #5390 from Marcono1234/patch-2
...
Java: Fix documentation mistake in Modules.qll
2021-03-12 12:51:24 +01:00
Anders Schack-Mulligen
c9786df760
Merge pull request #5344 from smowton/smowton/feature/commons-object-utils
...
Java: Add models for flow- and taint-preserving functions in Commons ObjectUtils
2021-03-12 12:46:31 +01:00
Anders Schack-Mulligen
195ed0173c
Merge pull request #5393 from aschackmull/java/taint-not-value-step
...
Java: Remove value steps from taint steps.
2021-03-12 12:44:48 +01:00
Taus Brock-Nannestad
978200e2ad
Python: Distinguish between Python 2 and 3
...
Also moves the filtering on `name` to before the big disjunction in
`MkModuleImport`.
2021-03-12 12:35:23 +01:00
Chris Smowton
58d5c2c32d
Abbreviate redundant value-flow / taint-flow tests
2021-03-12 10:53:27 +00:00
Cornelius Riemenschneider
0274162c4d
Merge pull request #5385 from github/igfoo/failed_extractions
...
C++: Add FailedExtractions.ql
2021-03-12 11:14:06 +01:00
Anders Schack-Mulligen
1d3ad0cb52
Java: Remove value steps from taint steps.
2021-03-12 11:09:53 +01:00
Jonas Jensen
2d4f624935
Merge pull request #5381 from MathiasVP/fix-link-in-CONTRIBUTING
...
Fix dead link in CONTRIBUTING.md
2021-03-12 10:27:45 +01:00
Asger Feldthaus
5d6a93332f
JS: Autoformat
2021-03-12 08:28:32 +00:00
Erik Krogh Kristensen
d7b0f628a1
add test
2021-03-12 00:03:20 +01:00
Erik Krogh Kristensen
ae805eb939
don't filter away templated URLs in RemoteServerResponse
2021-03-11 23:52:24 +01:00
Marcono1234
edeb08480e
Java: Fix documentation mistake in Modules.qll
2021-03-11 23:45:59 +01:00
Taus Brock-Nannestad
fe3824c202
Python: Document API graphs
2021-03-11 23:11:23 +01:00
Taus Brock-Nannestad
c7b2b719cf
Python: Support builtins in API graphs
2021-03-11 23:03:18 +01:00
luchua-bc
c8b1bc3a89
Enhance the query
2021-03-11 21:41:34 +00:00
Mathias Vorreiter Pedersen
5667901a2a
C++: Accept test changes after merge from main (which changed the path explanations).
2021-03-11 21:16:57 +01:00
Ian Lynagh
75ebb348a0
C++: Add name/description to FailedExtractions.ql
2021-03-11 18:44:24 +00:00
luchua-bc
0a35feef76
Exclude CSRF cookies to reduce FPs
2021-03-11 17:28:07 +00:00
luchua-bc
57953c523c
Update qldoc
2021-03-11 17:16:36 +00:00
Mathias Vorreiter Pedersen
a2d75c4fed
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-11 18:06:37 +01:00
Asger Feldthaus
a03cb11257
JS: Include $().prop() source in XssThroughDom
2021-03-11 16:27:31 +00:00
Chris Smowton
82a000bcca
Improve change note
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-03-11 16:22:56 +00:00
Chris Smowton
6508a223c3
Remove useless =y value specification from inline test expectations
2021-03-11 16:22:56 +00:00
Chris Smowton
b5268def16
Add models for CONST_BYTE and CONST_SHORT
2021-03-11 16:22:56 +00:00
Chris Smowton
1c1ca70027
Add models for flow- and taint-preserving functions in Commons ObjectUtils.
...
These should all be value-preserving, but we don't support value-preserving varargs methods yet.
2021-03-11 16:22:54 +00:00
Asger Feldthaus
2f3a76c43b
JS: Handle global variable d3
2021-03-11 16:17:27 +00:00
Asger Feldthaus
3b11958e33
JS: Expand D3 model a bit
2021-03-11 16:13:02 +00:00
Erik Krogh Kristensen
3005439a6a
cache the BasicBlock charpred
2021-03-11 16:09:47 +01:00
Erik Krogh Kristensen
5afb7e05ee
cache AccessPath::getAnInstanceIn
2021-03-11 16:09:24 +01:00
Erik Krogh Kristensen
24b0469d74
cache two more predicates in the SSA stage
2021-03-11 16:09:00 +01:00
Erik Krogh Kristensen
e5b13d9db4
cache hasLocationInfo and Node::toString in the dataflow stage
2021-03-11 16:08:45 +01:00
Rasmus Lerchedahl Petersen
f561c458a9
Python: One more change from code review
2021-03-11 15:58:47 +01:00
yoff
4d1b49a7dd
Apply suggestions from code review
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-03-11 15:57:44 +01:00
Ian Lynagh
6ef8fb667f
C++: Autoformat FailedExtractions.ql
2021-03-11 14:48:27 +00:00
Ian Lynagh
3c1e445a59
C++: Add a changenote for cpp/diagnostics/failed-extractions.
2021-03-11 14:33:04 +00:00
Ian Lynagh
2341c653f7
C++: Add FailedExtractions.ql
2021-03-11 14:08:55 +00:00
luchua-bc
eeac7e322a
Query to detect insecure configuration of Spring Boot Actuator
2021-03-11 13:46:32 +00:00
Mathias Vorreiter Pedersen
0edae89425
Merge pull request #5380 from github/criemen/clang-cl
...
C++: Add clang-cl.exe to `compiledAsMicrosoft()`.
2021-03-11 13:56:25 +01:00
Cornelius Riemenschneider
97ab842010
C++: Update summary queries.
2021-03-11 12:44:30 +00:00
Mathias Vorreiter Pedersen
4977169cf5
Fix dead link in CONTRIBUTING.md
2021-03-11 13:36:19 +01:00
Cornelius Riemenschneider
288ee92d52
C++: Add clang-cl.exe to compiledAsMicrosoft().
2021-03-11 12:15:27 +00:00
Erik Krogh Kristensen
fa2e7fd498
cache prepend
2021-03-11 11:59:54 +01:00
Artem Smotrakov
4b7c57c077
Added a comment for getBeanIdentifier()
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-03-11 11:52:07 +01:00
Asger Feldthaus
3fb810b540
JS: Add @kind problem meta queries
2021-03-11 10:46:18 +00:00
Asger Feldthaus
773cf0dcdd
JS: Autoformat
2021-03-11 10:44:33 +00:00
Asger Feldthaus
0c6e161277
JS: Add source to XssThroughDom
2021-03-11 10:05:05 +00:00
Asger Feldthaus
18cfe72e99
JS: Add model of d3
2021-03-11 10:05:05 +00:00
Mathias Vorreiter Pedersen
01cc2f2c77
Merge pull request #5366 from MathiasVP/better-path-explanation-for-this-indirection
...
C++: Replace 'Argument -1 indirection' with 'This indirection'
2021-03-11 10:48:44 +01:00
Anders Schack-Mulligen
87e4dec86a
Merge pull request #5300 from tamasvajk/feature/external-remote-flow-sources
...
Java: Convert remote flow sources to use new CSV format
2021-03-11 10:44:17 +01:00
CodeQL CI
25f4b76788
Merge pull request #5045 from erik-krogh/bindRoute
...
Approved by asgerf
2021-03-11 01:39:26 -08:00
CodeQL CI
ad665b765f
Merge pull request #5323 from erik-krogh/staging
...
Approved by asgerf
2021-03-11 00:50:51 -08:00
Jonas Jensen
e1adf5e8b0
Merge pull request #5218 from MathiasVP/no-write-side-effects-for-const-pointer-params
...
C++: Don't generate write side effects for const parameter indirections
2021-03-11 09:48:05 +01:00
Mathias Vorreiter Pedersen
9439ed49c1
Merge branch 'main' into better-path-explanation-for-this-indirection
2021-03-11 09:39:18 +01:00
Mathias Vorreiter Pedersen
55da16c4a9
C++: Accept test changes.
2021-03-11 09:27:45 +01:00
Artem Smotrakov
0a5d58ed8a
Cover more configurations in UnsafeSpringExporterInConfigurationClass.ql
2021-03-10 21:15:19 +03:00
luchua-bc
a0a1ddee86
Update class name
2021-03-10 17:07:31 +00:00
Anders Schack-Mulligen
674886a17d
Dataflow: Sync.
2021-03-10 16:53:51 +01:00
Anders Schack-Mulligen
667dab28d4
Dataflow: Switch from unbind to pragma[only_bind_into].
2021-03-10 16:52:45 +01:00
Mathias Vorreiter Pedersen
bc36e0db43
C++: Accept more test changes.
2021-03-10 16:51:13 +01:00
Rasmus Lerchedahl Petersen
ad35c01462
Python: purge old references
2021-03-10 16:38:00 +01:00
Erik Krogh Kristensen
ee9613fa79
import the Stages module from where it is used
2021-03-10 16:30:38 +01:00
Rasmus Lerchedahl Petersen
0ab4e3e041
Python: Fix old reference
2021-03-10 16:22:47 +01:00
Rasmus Lerchedahl Petersen
b865e88f59
Python, doc: Remove unused file
2021-03-10 16:09:52 +01:00
Mathias Vorreiter Pedersen
cc592b124b
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-10 15:59:48 +01:00
Rasmus Lerchedahl Petersen
fe975f25f9
Merge branch 'python-port-insecure-default-protocol' of github.com:yoff/codeql into python-port-insecure-default-protocol
2021-03-10 15:59:13 +01:00
Rasmus Lerchedahl Petersen
e726ff425c
Python: simplify query code as suggested by review
2021-03-10 15:58:44 +01:00
Rasmus Lerchedahl Petersen
5c3d0c806d
Python: remove unused file
2021-03-10 15:54:41 +01:00
Mathias Vorreiter Pedersen
0b6589c8be
C++: Accept test changes.
2021-03-10 15:47:06 +01:00
Erik Krogh Kristensen
81efd726cb
renamings - and simplifications of qldoc
2021-03-10 15:42:50 +01:00
Rasmus Lerchedahl Petersen
e4422fc939
Python, doc: Remove section on taint-tracking
2021-03-10 15:38:19 +01:00
Erik Krogh Kristensen
d3fca0a107
Apply suggestions from code review
...
Co-authored-by: Asger F <asgerf@github.com >
2021-03-10 15:24:05 +01:00
Erik Krogh Kristensen
c993f9a3a3
add instance methods in the same class to localFieldStep
2021-03-10 15:19:07 +01:00
Erik Krogh Kristensen
ea6d3bde9c
Update javascript/ql/src/semmle/javascript/dataflow/internal/CallGraphs.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2021-03-10 15:00:48 +01:00
CodeQL CI
2c4ba561bf
Merge pull request #5360 from erik-krogh/regParse
...
Approved by asgerf
2021-03-10 05:57:19 -08:00
Geoffrey White
a2660e5996
Merge pull request #5326 from ihsinme/ihsinme-patch-244
...
CPP: Add query for CWE-20 Improper Input Validation
2021-03-10 13:53:26 +00:00
Tom Hvitved
fc5158c41c
Merge pull request #5338 from hvitved/dataflow/performance-tweaks
...
Data flow: Performance tweaks
2021-03-10 13:56:57 +01:00
luchua-bc
f0ddfc9283
Minor qldoc changes
2021-03-10 12:18:55 +00:00
luchua-bc
72f28513eb
Move test check to the sink
2021-03-10 12:12:27 +00:00
Asger Feldthaus
fbca06f4e1
JS: Move TaintMetrics.qll into internal folder
2021-03-10 11:53:44 +00:00
Cornelius Riemenschneider
16a3dfa30a
C++: Update summary metrics query format.
2021-03-10 11:15:55 +00:00
Anders Schack-Mulligen
4941d9b7bf
Java: Add query for CSV framework coverage.
2021-03-10 12:03:44 +01:00
Mathias Vorreiter Pedersen
0f6c56ad74
C++: Use names that better match the AST dataflow library.
2021-03-10 11:44:19 +01:00
Erik Krogh Kristensen
49b1bfc41b
add a step for referencing instance/static methods on classes
2021-03-10 10:57:28 +01:00
Rasmus Lerchedahl Petersen
76e936c64d
Python, doc: Add links to runs on LGTM.com
2021-03-10 10:52:22 +01:00
Anders Schack-Mulligen
ed250d5017
Merge pull request #5339 from smowton/smowton/feature/commons-regex-utils
...
Java: Add models for Commons-Lang's RegExUtils class
2021-03-10 10:23:37 +01:00
Chris Smowton
410f21cd55
Fix comment describing two-arg nextInt/nextLong
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-03-10 08:43:37 +00:00
Artem Smotrakov
df60268023
Split qhelp files
2021-03-10 10:49:47 +03:00
luchua-bc
48975fa7d2
Replace sanitizers
2021-03-10 00:17:26 +00:00
Rasmus Lerchedahl Petersen
91c0066b8b
Python: Make the documentation not lie
2021-03-09 18:17:51 +01:00
yoff
dfdf0344de
Update python/ql/src/Security/CWE-327/InsecureDefaultProtocol.qhelp
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-03-09 16:44:08 +01:00
Chris Smowton
fa51af5be1
NBSP -> original-flavour space
2021-03-09 15:40:45 +00:00
Erik Krogh Kristensen
518bfa4d41
move getAnInstanceMemberAccess to ClassNode
2021-03-09 16:37:36 +01:00
Erik Krogh Kristensen
e8afafca7a
add another route-handler test
2021-03-09 16:37:36 +01:00
ihsinme
c281820f0f
Update LateCheckOfFunctionArgument.ql
2021-03-09 18:22:11 +03:00
ihsinme
07769c7322
Update LateCheckOfFunctionArgument.expected
2021-03-09 18:21:08 +03:00
Erik Krogh Kristensen
c95a8e6776
add change note
2021-03-09 16:17:33 +01:00
Erik Krogh Kristensen
11793800ad
support subrouters, and engine registrations with file extensions
2021-03-09 16:17:33 +01:00
Erik Krogh Kristensen
70b8cdee9b
add qhelp
2021-03-09 16:17:33 +01:00
Erik Krogh Kristensen
28951e98c4
add engine filter to js/template-object-injection
2021-03-09 16:17:33 +01:00
Erik Krogh Kristensen
b30484dd69
behaviour preserving refactorization into modules
2021-03-09 16:17:29 +01:00
Aditya Sharad
b1d0b9afbb
Merge pull request #5363 from github/adityasharad/actions/docs-review-fix
...
Actions: Fix comment that tags the Docs team
2021-03-09 07:17:24 -08:00
Chris Smowton
189b2215c5
Remove useless value from inline test expectations
2021-03-09 15:11:39 +00:00
Chris Smowton
e8f81c4f30
Improve change note
2021-03-09 15:11:13 +00:00
Chris Smowton
074d73e325
Add change note
2021-03-09 15:11:13 +00:00
Chris Smowton
9163893879
Add models for Commons-Lang's RegExUtils class
2021-03-09 15:11:13 +00:00
Tom Hvitved
fe6efde449
Address review comments
2021-03-09 14:30:12 +01:00
Rasmus Lerchedahl Petersen
8b25806a2c
Python: Attempt to clarify help
2021-03-09 13:29:33 +01:00
Rasmus Lerchedahl Petersen
a16de26799
Python: add linebreak to qhelp file
...
hopefully this will generate better markdown
2021-03-09 13:27:44 +01:00
yoff
fd5ac13828
Update python/ql/src/Security/CWE-327/InsecureDefaultProtocol.ql
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-03-09 13:23:44 +01:00
yoff
88784fbd31
Update python/ql/src/Security/CWE-327/InsecureDefaultProtocol.qhelp
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-03-09 13:23:35 +01:00
yoff
b6257edc9e
Update python/ql/src/Security/CWE-327/InsecureDefaultProtocol.qhelp
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-03-09 13:20:19 +01:00
yoff
d5b304ce75
Update python/change-notes/2021-02-23-port-insecure-default-protocol.md
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-03-09 13:19:48 +01:00
Taus
19b74e6e01
Merge pull request #5367 from tausbn/mergeback-rc/3.1-to-main
...
Merge rc/3.1 into main
2021-03-09 12:46:24 +01:00
Mathias Vorreiter Pedersen
19d08d7b40
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-09 12:35:44 +01:00
Tamas Vajk
5480a31b68
Java: Remove MultipartFile.getSize/isEmpty from remote flow sources
2021-03-09 12:23:47 +01:00
Tamas Vajk
0d405c293a
Java: Convert PlayRequestGetMethod to CSV based flow source
2021-03-09 12:20:35 +01:00
Joe Farebrother
7a4ce83169
Merge pull request #5310 from joefarebrother/guava-io
...
Java: Add modelling for Guava IO utilities
2021-03-09 11:19:44 +00:00
Joe Farebrother
bd4a414abd
Remove CSV data from query
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-03-09 10:50:15 +00:00
Tamas Vajk
e0b1a86038
Java: Convert WebSocketMessageParameterSource to CSV based flow source
2021-03-09 11:49:59 +01:00
Tamas Vajk
193458eb3d
Java: Convert SpringRestTemplateResponseEntityMethod to CSV based flow source
2021-03-09 11:49:59 +01:00
Tamas Vajk
e0c51b510f
Java: Convert WebViewGetUrlMethod to CSV based flow source
2021-03-09 11:42:40 +01:00
Tamas Vajk
8ba820cae1
Java: Convert android XML get* methods to CSV based flow source
2021-03-09 11:42:13 +01:00
Tamas Vajk
09b0d824b4
Java: Convert org.apache.http.Http*.get* methods to CSV based flow source
2021-03-09 11:41:33 +01:00
Tamas Vajk
3c8ac5c789
Java: Convert Cookie.get* methods to CSV based flow source
2021-03-09 11:41:33 +01:00
Tamas Vajk
86cf143029
Java: Convert ServletRequestGetBodyMethod to CSV based flow source
2021-03-09 11:41:32 +01:00
Tamas Vajk
b05a9043b5
Java: Convert SpringWebRequestGetMethod to CSV based flow source
2021-03-09 11:41:32 +01:00
Tamas Vajk
09bcf878f7
Java: Convert HttpServletRequest.get* methods to CSV based flow source
2021-03-09 11:40:59 +01:00
Tamas Vajk
f2448cc921
Java: Convert SpringMultipartFileSource to CSV based flow source
2021-03-09 11:40:18 +01:00
Tamas Vajk
80b4d63d4b
Java: Convert SpringMultipartRequestSource to CSV based flow source
2021-03-09 11:39:47 +01:00
Tamas Vajk
06fdd64dab
Java: Remove already modelled BeanValidationSource
2021-03-09 11:35:42 +01:00
Tamas Vajk
3dfc236bbe
Java: Remove already modelled RemoteTaintedMethods
2021-03-09 11:35:42 +01:00
Erik Krogh Kristensen
caf1dbdc46
move TemplateObjectInjection out of experimental
2021-03-09 11:29:45 +01:00
Tamas Vajk
ba05bf3ae0
Fix code review findings
2021-03-09 11:17:57 +01:00
Mathias Vorreiter Pedersen
d14b993aba
C++: Replace 'Argument -1 indirection' with 'This indirection'.
2021-03-09 10:22:21 +01:00
Jonas Jensen
2a9f7a966c
Merge pull request #5361 from MathiasVP/arguments-in-path-explanations
...
C++: Show arguments in path explanations
2021-03-09 09:35:03 +01:00
Tom Hvitved
d4e0c7efae
Merge pull request #5340 from hvitved/csharp/null-checks
...
C#: Use `is [not] null` throughout in the extractor
2021-03-09 09:30:54 +01:00
Tamas Vajk
0defad77dd
C#: Add tuple data flow in patterns
2021-03-09 09:14:24 +01:00
Tom Hvitved
80a7b52f38
C#: Convert data-flow test queries to path-problems
2021-03-09 09:14:24 +01:00
Tom Hvitved
0698bdd907
C#: Restrict tuple read/store steps to tuple deconstructions/constructions
2021-03-09 09:14:24 +01:00
Tamas Vajk
6d409a0050
Fix failing tests
2021-03-09 09:14:24 +01:00
Tamas Vajk
ccf68ffd16
Add change note for tuple data flow improvements
2021-03-09 09:14:24 +01:00
Tamas Vajk
fcc4758eb8
Remove old taint tracking for tuples
2021-03-09 09:14:24 +01:00
Tamas Vajk
d05a733109
Add more test cases
2021-03-09 09:14:23 +01:00
Tamas Vajk
b05199dccf
Tuple data flow: take cfg reachability into account
2021-03-09 09:14:23 +01:00
Tamas Vajk
0ca4bf4267
C#: WIP: Add tuple data flow
2021-03-09 09:14:23 +01:00
Tamas Vajk
4709442ef3
Extract tuple types from patterns and variable declarations
2021-03-09 09:14:23 +01:00
Tamas Vajk
1d70bfd011
Extract non-named tuple types
2021-03-09 09:06:35 +01:00
Tamas Vajk
7e1eee5fe2
Add tests that show tuple types
2021-03-09 09:06:35 +01:00
Taus Brock-Nannestad
3d0d280972
Merge remote-tracking branch 'upstream/rc/3.1' into mergeback-rc/3.1-to-main
2021-03-08 22:15:10 +01:00
Artem Smotrakov
a78f2115f2
Split SpringExporterUnsafeDeserialization.ql
2021-03-09 00:06:38 +03:00
Erik Krogh Kristensen
25ef3edb20
combine stages by introducing extended stages
2021-03-08 20:48:15 +01:00
Aditya Sharad
318ce47982
Actions: Fix comment that tags the Docs team
2021-03-08 09:17:19 -08:00
Mathias Vorreiter Pedersen
7207a17f6f
C++: Accept more tests.
2021-03-08 16:50:12 +01:00
Anders Schack-Mulligen
aeb13146d2
Merge pull request #5275 from Marcono1234/marcono1234/included-qhelp-files
...
Use `.inc.qhelp` extension for included help files
2021-03-08 16:26:32 +01:00
Chris Smowton
f9f143d62c
Merge pull request #5347 from Marcono1234/marcono1234/simplify-tests
...
Java: Simplify tests using InlineExpectationsTest
2021-03-08 14:47:28 +00:00
Joe Farebrother
ed228cbcef
Add sinks for URL Open Stream query
2021-03-08 14:07:53 +00:00
Marcono1234
95aeb7b53f
Fix .qhelp file name mismatch
2021-03-08 14:27:35 +01:00
Erik Krogh Kristensen
29ae737475
update expected output for MalformedRegExp
2021-03-08 13:50:58 +01:00
Anders Schack-Mulligen
e63f81171c
Merge pull request #5349 from p0wn4j/fix-nashorn-engine-1
...
Java: Fix NashornScriptEngine detection in ScriptEngine query
2021-03-08 13:23:36 +01:00
Erik Krogh Kristensen
b3ee70f4f7
update expected output for trap test
2021-03-08 13:06:17 +01:00
Chris Smowton
6cf15f49bb
Replace hasTaintFlow=y with hasTaintFlow everywhere
2021-03-08 11:57:35 +00:00
Marcono1234
b7353f0bb0
Java: Simplify tests using InlineExpectationsTest
2021-03-08 11:49:52 +00:00
Mathias Vorreiter Pedersen
e2c0bf3cc0
C++: Show arguments in path explanations and accept test changes.
2021-03-08 12:44:05 +01:00
ihsinme
921c41d710
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-03-08 14:23:42 +03:00
Erik Krogh Kristensen
bff59a1aaa
fix parse error in regular expressions
2021-03-08 12:04:11 +01:00
Chris Smowton
790fb7829a
Improve comment and change-note accuracy
2021-03-08 11:00:05 +00:00
Chris Smowton
4a4f4b01a1
Add support for java.util.concurrent.ThreadLocalRandom
2021-03-08 10:59:53 +00:00
Mathias Vorreiter Pedersen
84554af7f5
Merge pull request #5356 from yoff/tests-amend-qldoc
...
InlineExpectationTest: clarify the need for an empty `.expected` file
2021-03-08 11:53:55 +01:00
Rasmus Lerchedahl Petersen
2bccb67be4
Python, doc: Make first batch of examples runnable
...
python queries.
2021-03-08 10:57:02 +01:00
Mathias Vorreiter Pedersen
bb53780ba9
C++: Add flow through unary instructions and pointer/indirection conflation for parameters. These rules are copy/pasted from DefaultTaintTracking. The conflation rules will hopefully be removed as part of #5089 .
2021-03-08 09:42:47 +01:00
Rasmus Lerchedahl Petersen
cc9a938054
InlineExpectationTest: clarify the nedd for an
...
empty `.expected` file
2021-03-08 09:18:47 +01:00
Rasmus Lerchedahl Petersen
4a9023b989
Python: add comment with ref
2021-03-08 08:17:23 +01:00
Rasmus Lerchedahl Petersen
7142ddcb25
Python: add taint step for __traceback__
2021-03-08 08:13:07 +01:00
Rasmus Lerchedahl Petersen
b36e0d0be7
Python: target SSA variable rather than Cfg node
...
also add "INTERNAL: Do not use."
also give test functions different names
2021-03-08 08:04:42 +01:00
Rasmus Lerchedahl Petersen
296297915c
Python: add test for __traceback__
2021-03-07 17:50:28 +01:00
ihsinme
2b1b94835e
Update LateCheckOfFunctionArgument.ql
2021-03-07 16:10:32 +03:00
Rasmus Lerchedahl Petersen
aaaf90902f
Python: File for dataflow section
...
Initilally a copy of the one from C#
2021-03-07 14:02:55 +01:00
Rasmus Lerchedahl Petersen
24e406d21a
Documentation: Fix typo
...
in dataflow documentation for C#
2021-03-07 09:48:20 +01:00
luchua-bc
0ef3eee4ed
Revamp the source and the sink of the query
2021-03-06 22:41:54 +00:00
Artem Smotrakov
891b975899
Use correct file names in SpringExporterUnsafeDeserialization.qhelp
2021-03-06 22:07:43 +01:00
Artem Smotrakov
bda223771b
Added another example for SpringExporterUnsafeDeserialization.ql
2021-03-06 22:05:00 +01:00
Artem Smotrakov
82cb4a8d68
Renamed SpringHttpInvokerUnsafeDeserialization.ql
2021-03-06 21:48:35 +01:00
Artem Smotrakov
dcabce679a
Cover beans from XML configs in SpringHttpInvokerUnsafeDeserialization.ql
2021-03-06 21:40:35 +01:00
p0wn4j
6841f5f7c4
Java: Add NashornScriptEngine detection in ScriptEngine query
...
Java: Add NashornScriptEngine detection in ScriptEngine query
Java: Add NashornScriptEngine detection in ScriptEngine query
Java: Add NashornScriptEngine detection in ScriptEngine query
2021-03-06 16:19:07 +04:00
Jaroslav Lobačevski
673e64909a
github actions queries
2021-03-06 10:27:11 +02:00
luchua-bc
31eaa80f5b
Revamp the source
2021-03-06 00:56:15 +00:00
Dave Bartolomeo
863497c695
C++: Update naming of queries and paths to use "summary" instead of "metrics"
2021-03-05 14:36:26 -05:00
Shati Patel
c53ce00944
Merge pull request #5342 from shati-patel/docs-delete-unused-script
...
Docs: Remove unused script and workflow
2021-03-05 18:02:50 +00:00
Rasmus Wriedt Larsen
99c1b2039c
Pyhton: Extract vulnerable hostnames into own predicate
...
Which makes the code a bit cleaner (and made testing out back-tracking easier).
2021-03-05 17:14:32 +01:00
Rasmus Wriedt Larsen
4804a0a9f8
Python: Minor refactor addressArg
2021-03-05 17:12:45 +01:00
Rasmus Wriedt Larsen
024a586a7d
Python: Remove tags for old query copy
...
Co-authored-by: Taus <tausbn@github.com >
2021-03-05 17:08:55 +01:00
Rasmus Wriedt Larsen
66c9cfad85
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-03-05 17:08:37 +01:00
Rasmus Wriedt Larsen
83539928e6
Python: Fix grammar
...
Co-authored-by: Taus <tausbn@github.com >
2021-03-05 17:08:20 +01:00
Shati Patel
85205a21de
Docs: Remove query help script
2021-03-05 16:02:53 +00:00
Tom Hvitved
63686b5c4e
C#: Use is [not] null throughout in the extractor
2021-03-05 16:28:12 +01:00
Tamás Vajk
23d994a4b4
Merge pull request #5197 from tamasvajk/feature/refactor-4
...
C#: Enable nullability in Extraction.CSharp
2021-03-05 16:24:19 +01:00
Anders Schack-Mulligen
cf4f55d9ab
Merge pull request #5223 from smowton/smowton/feature/backward-dataflow-for-modelled-fluent-methods
...
Java: Add backward dataflow edges through modelled function invocations
2021-03-05 15:11:43 +01:00
Tom Hvitved
6e5af1a9f8
Data flow: Sync files
2021-03-05 14:56:40 +01:00
Tom Hvitved
d496503d5d
Data flow: Restrict the size of getApNil()
2021-03-05 14:54:54 +01:00
Tom Hvitved
492add1f7a
Data flow: Force join-order for Node::getEnclosingCallable()
2021-03-05 14:54:54 +01:00
Chris Smowton
012058a866
Apply review suggestions: use ArgumentNode.argumentOf, and change more uses of ValuePreservingCallable -> ValuePreservingMethod
2021-03-05 13:34:13 +00:00
Chris Smowton
eed357dc93
ValuePreservingCallable -> ValuePreservingMethod
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-03-05 13:28:35 +00:00
Chris Smowton
a37b98ca27
Value-preserving methods: handle generics in DataFlowUtil.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-03-05 13:15:06 +00:00
Chris Smowton
ca86925a45
Update java/ql/src/semmle/code/java/dataflow/FlowSteps.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-03-05 13:02:19 +00:00
Chris Smowton
45f3365d06
Apply suggestions from code review
...
Note value-preserving functions can't be constructors
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-03-05 12:52:38 +00:00
Jonas Jensen
32f1da7455
Merge pull request #5327 from MathiasVP/less-field-to-obj-flow
...
C++: Remove more field-to-object flow
2021-03-05 13:16:21 +01:00
Tamas Vajk
c6b47647e1
Move the nullable disable warning region to the Type instead of the base CachedSymbol entity
2021-03-05 13:14:07 +01:00
Chris Smowton
e3cf5c235e
Add support for Commons-Lang's RandomUtils
...
This is realised by somewhat generalising our interfaces for modelling RNGs. We also add tests for randomness-related queries that didn't have any, and addtest cases checking the Apache random-number generators are interchangeable with the stdlib ones.
2021-03-05 12:09:33 +00:00
Jonas Jensen
767d3141ad
Merge pull request #5336 from MathiasVP/fix-join-order-in-memset-may-be-deleted
...
C++: Fix performance in cpp/memset-may-be-deleted.
2021-03-05 13:08:10 +01:00
Tamas Vajk
df9d54c994
Fix code review findings
2021-03-05 13:00:04 +01:00
Chris Smowton
990bdc20b0
Move value-preserving callable class into FlowSteps
2021-03-05 11:55:53 +00:00
Joe Farebrother
3f3640fcbd
Model ByteArrayDataOutput
2021-03-05 11:19:55 +00:00
Joe Farebrother
470a2ca336
Add CopyTo
2021-03-05 11:19:55 +00:00
Joe Farebrother
61dcf3a275
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-03-05 11:19:55 +00:00
Joe Farebrother
f5564b1c3b
Remove unnecassary import
2021-03-05 11:19:54 +00:00
Joe Farebrother
5278cc9e9e
Fix change note file extension
2021-03-05 11:19:54 +00:00
Joe Farebrother
e916e04fe1
Add change note
2021-03-05 11:19:54 +00:00
Joe Farebrother
d30d1a2ab2
Add unit tests and fix issues
2021-03-05 11:19:52 +00:00
Joe Farebrother
c12f8035c4
Add stubs for unit tests
2021-03-05 11:19:25 +00:00
Joe Farebrother
56e611faaa
Switch existing test cases to inline expectations
2021-03-05 11:19:25 +00:00
Joe Farebrother
d67de88d34
Model Guava IO package
2021-03-05 11:19:25 +00:00
CodeQL CI
a55246c9f4
Merge pull request #5330 from RasmusWL/fix-flask-taint-prop-to-methods
...
Approved by yoff
2021-03-05 03:17:41 -08:00
Mathias Vorreiter Pedersen
2d7f15cc8a
C++: Fix join-order in cpp/memset-may-be-deleted.
2021-03-05 11:38:15 +01:00
Anders Schack-Mulligen
0d7f6ced8f
Merge pull request #5334 from Marcono1234/marcono1234/improve-constant-loop-condition
...
Java: Improve constant-loop-condition
2021-03-05 11:36:25 +01:00
CodeQL CI
d7b9251b0d
Merge pull request #5262 from max-schaefer/event-handler-receiver-is-dom-element
...
Approved by asgerf
2021-03-05 02:04:59 -08:00
Anders Schack-Mulligen
00983c8967
Merge pull request #4965 from artem-smotrakov/jexl-injection
...
Java: Query for detecting JEXL injections
2021-03-05 10:52:36 +01:00
Anders Schack-Mulligen
20ccb52912
Merge pull request #4299 from torque59/play-framework
...
Initial support for Java - Play Framework > 2.6.x
2021-03-05 10:51:53 +01:00
Anders Schack-Mulligen
8d292070a4
Merge pull request #5272 from Marcono1234/marcono1234/simplify-own-member-access-checks
...
Java: Simplify own member access checks
2021-03-05 10:22:17 +01:00
Anders Schack-Mulligen
3565ba51b3
Merge pull request #5209 from smowton/smowton/feature/commons-misc-text
...
Java: add models for miscellaneous text-processing utilities from Commons Lang
2021-03-05 10:21:58 +01:00
yoff
d17246ce2b
Merge pull request #5255 from RasmusWL/port-flask-debug
...
Python: port py/flask-debug query
2021-03-05 09:39:14 +01:00
Rasmus Lerchedahl Petersen
7d556b354d
Python: Update test annotation and expectation
2021-03-05 09:16:35 +01:00
Mathias Vorreiter Pedersen
c86fc223b9
C++: Fix comment and prevent false positives on chiOnlyPartiallyUpdatesLocation when Alias::getEndBitOffset doesn't have known value.
2021-03-05 08:53:24 +01:00
Mathias Vorreiter Pedersen
bd842403c8
C++: Add testcase
2021-03-05 08:06:22 +01:00
haby0
ecdadd1826
move the query to experimental folder
2021-03-05 14:38:04 +08:00
luchua-bc
a93aabab40
Add the toString() method
2021-03-05 03:05:49 +00:00
luchua-bc
919c6b4b0a
Optimize flow steps
2021-03-05 02:50:54 +00:00
Francis Alexander
abdebc29f9
Move to experimental and review feedback
2021-03-05 07:26:29 +05:30
Francis Alexander
a35f6d030c
Test fixes and change notes
2021-03-05 06:50:57 +05:30
Marcono1234
879dbba8f0
Add name to check-change-note.yml workflow
2021-03-05 00:34:42 +01:00
Marcono1234
e9e9634306
Java: Improve constant-loop-condition
2021-03-04 23:33:29 +01:00
Taus
d2ed216670
Merge pull request #5280 from RasmusWL/highlight-tornado-uri
...
Python: Highlight how request.uri works in Tornado
2021-03-04 23:31:02 +01:00
Taus
0b446258f5
Merge pull request #5279 from RasmusWL/ensure-old-queries-not-used
...
Python: Ensure old dataflow queries are not used
2021-03-04 23:29:35 +01:00
Marcono1234
c8315577fe
Java: Simplify own member access checks
2021-03-04 22:45:52 +01:00
Marcono1234
5a8ffa5a85
Use .inc.qhelp extension for included help files
2021-03-04 22:04:48 +01:00
Artem Smotrakov
7d52b53c24
Merge branch 'jexl-injection' of github.com:artem-smotrakov/ql into jexl-injection
2021-03-04 20:29:10 +01:00
Artem Smotrakov
0695b2a1fb
Removed TaintedSpringRequestBody
2021-03-04 20:27:39 +01:00
Anders Schack-Mulligen
d685aff5e2
Merge pull request #5328 from owen-mc/correct-signature-in-comment
...
Java: Correct signature and package in comment
2021-03-04 17:03:35 +01:00
Mathias Vorreiter Pedersen
b399246d7f
C++/C#: Sync identical files.
2021-03-04 16:34:35 +01:00
Mathias Vorreiter Pedersen
23876cb581
C++: Only allow taint to a FieldAddressInstruction if it's a union type.
2021-03-04 16:29:44 +01:00
Mathias Vorreiter Pedersen
31690dee58
Fix comment.
2021-03-04 16:11:47 +01:00
Owen Mansel-Chan
96eaf2119f
Correct signature and package in comment
...
cf https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html#addCookie(javax.servlet.http.Cookie)
2021-03-04 15:10:02 +00:00
Mathias Vorreiter Pedersen
6c14288fa7
C++: Use new predicate and accept test changes.
2021-03-04 16:05:38 +01:00
CodeQL CI
ad4b9372bd
Merge pull request #5302 from RasmusWL/expectation-tests-allow-str-prefix
...
Approved by MathiasVP, tausbn
2021-03-04 06:48:57 -08:00
Mathias Vorreiter Pedersen
8a4cc3b5c2
C++: Sync identical files.
2021-03-04 15:38:36 +01:00
Mathias Vorreiter Pedersen
200d94777a
C++: Add isPartialUpdate member predicate to ChiInstructions.
2021-03-04 15:37:47 +01:00
ihsinme
cadb1d6554
Add files via upload
2021-03-04 16:21:34 +03:00
ihsinme
633fc92efc
Add files via upload
2021-03-04 16:20:22 +03:00
ihsinme
10cc574289
Add files via upload
2021-03-04 16:15:26 +03:00
ihsinme
01c13c4703
Add files via upload
2021-03-04 16:14:11 +03:00
CodeQL CI
15049ca853
Merge pull request #5183 from erik-krogh/next
...
Approved by asgerf
2021-03-04 04:57:43 -08:00
Anders Schack-Mulligen
f9365dc9ac
Merge pull request #5324 from aschackmull/java/merge-5226
...
Java: merge #5226
2021-03-04 13:47:59 +01:00
haby0
c5577cb09a
Fix the problem
2021-03-04 19:54:49 +08:00
Tamas Vajk
3e0245a7fc
Fix test case for RuntimeChecksBypass
2021-03-04 12:47:21 +01:00
Chris Smowton
da0a7f343a
Move existing value-preserving methods to use ValuePreservingCallable
2021-03-04 11:45:45 +00:00
Chris Smowton
40b0f68d2a
Add backward dataflow edges through modelled function invocations.
...
Also add convenience abstract classes for easily modelling new functions as fluent or value-preserving.
2021-03-04 11:45:19 +00:00
Chris Smowton
71cd329ded
Directly import Lang from ExternalFlow's Frameworks module
2021-03-04 11:12:21 +00:00
Chris Smowton
563404120f
Move calls to getSourceDeclaration
2021-03-04 11:11:56 +00:00
Chris Smowton
43b9436bb8
Convert Apache misc text models to CSV taint-flow specifications
2021-03-04 11:11:56 +00:00
Chris Smowton
0029d3b743
Java CSV flow summaries: allow specifying an unqualified typename to imply either the type itself or any generic specialisation.
...
It is still possible to specify a precise generic signature if need be.
2021-03-04 11:11:56 +00:00
Chris Smowton
224e537459
Add change note
2021-03-04 11:11:56 +00:00
Chris Smowton
b0ba0585a7
Add models for Apache Commons Lang and Text's Str[ing]Substitutor
2021-03-04 11:11:55 +00:00
Chris Smowton
f749c31136
Add models for commons lang/text's Str[ing]Lookup class
2021-03-04 11:11:55 +00:00
Chris Smowton
1580d23b2b
Add models for WordUtils and StrTokenizer
...
Both of these have commons-text and commons-lang variants.
2021-03-04 11:11:55 +00:00
Tamas Vajk
90acd8c695
Explicitly enable nullability analysis in guards tests
2021-03-04 11:39:56 +01:00
Anders Schack-Mulligen
45f52289ea
Merge branch 'main' into java/merge-5226
2021-03-04 11:36:16 +01:00
Anders Schack-Mulligen
fe07630e40
Merge pull request #5219 from smowton/smowton/feature/backward-dataflow-for-fluent-methods
...
Java: Add backward dataflow edges through fluent function invocations.
2021-03-04 11:13:32 +01:00
CodeQL CI
342c7abd74
Merge pull request #5301 from asgerf/js/ajv-model
...
Approved by erik-krogh
2021-03-04 01:27:38 -08:00
Rasmus Lerchedahl Petersen
9f8a028dfc
Python: add .expected-file
2021-03-04 00:12:34 +01:00
Rasmus Lerchedahl Petersen
d02c529872
Python: Update annotation
2021-03-04 00:06:36 +01:00
Rasmus Lerchedahl Petersen
de9469bbfc
Python: complete ssl.create_default_context
2021-03-04 00:01:44 +01:00
Rasmus Lerchedahl Petersen
ee03837357
Python: small refactor
2021-03-03 23:46:18 +01:00
Rasmus Lerchedahl Petersen
cbbc7b2bcd
Python: support unrestrictions
...
Also pyOpenSSL allows SSL 2 and SSL 3 on `SSLv23`
2021-03-03 23:42:48 +01:00
Rasmus Wriedt Larsen
3dc0c2081e
Python: Fix taint-propagation to methods
...
Before we would add a step from _any_ request instance to _any_ method (CP).
2021-03-03 21:55:33 +01:00
luchua-bc
1784c202a7
Clean up the query
2021-03-03 17:03:37 +00:00
Rasmus Lerchedahl Petersen
97d26687fe
Python: Improve logic of bit fields
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
7a1d953fca
Python: More tests
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
60525ec301
Python: Also track offending call
...
update test expectations at this point
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
9e696ff0fb
Python: Add false negative to test
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
d5171fc043
Python: Comment everything
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
3b856010f2
Python: add TODO comment
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
ea8c6f04e2
Python: Update old test and qlhelp
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
87e1a062ea
Python: fluent api tests
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
186db7f43e
Python: factor into modules and files
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
7ed018aff6
Python: refactor into modules
...
and turn on the pyOpenSSL module
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
72b37a5b1b
Python: factor out barrier
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
86dde6eab1
Python: start of port
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
3dd34c9ba9
Python: rewrite comment
2021-03-03 17:41:20 +01:00
Owen Mansel-Chan
f9973d10ae
Merge pull request #5245 from owen-mc/add-codeql-go-as-codeowner-of-shared-dataflow-library-files
...
Add @codeql-go as code owners for the shared data-flow library files
2021-03-03 16:36:05 +00:00
Taus
c1fd48468a
Merge pull request #5286 from RasmusWL/share-crypto-algorithms
...
Python/JS: Share modeling of crypto algorithms
2021-03-03 17:00:01 +01:00
Tamas Vajk
cb4ed90c5c
Fix failing tests
2021-03-03 16:58:48 +01:00
Rasmus Lerchedahl Petersen
dcf8c881ff
Python: correct mistake in example
2021-03-03 16:54:36 +01:00
Rasmus Lerchedahl Petersen
fafc36a9cb
Python: remove (do not introduce) unused import
2021-03-03 16:49:35 +01:00
Rasmus Lerchedahl Petersen
f02a19669f
Python: Make exception info concept local
2021-03-03 16:47:31 +01:00
Anders Schack-Mulligen
f91c71c8f7
Merge pull request #5270 from Marcono1234/marcono1234/class-isPackageProtected
...
Java: Add Class and Interface.isPackageProtected()
2021-03-03 16:33:57 +01:00
Anders Schack-Mulligen
7ca57fd7a5
Merge pull request #5294 from Marcono1234/patch-1
...
Java: Fix wrong algorithm name matching
2021-03-03 16:33:13 +01:00
Tamás Vajk
f3885a8a05
Merge pull request #4627 from tamasvajk/feature/csharp9-covariant-return
...
C#: Add test for covariant return types
2021-03-03 16:12:13 +01:00
Marcono1234
d5d0439471
Java: Fix wrong algorithm name matching
...
The regex character class `[5|7]` matches `5`, `7` and `|`.
2021-03-03 15:44:23 +01:00
Marcono1234
b9c0193022
Sync .qhelp file renaming to other languages
2021-03-03 15:38:08 +01:00
luchua-bc
502cf38fcc
Use concise API
2021-03-03 14:07:43 +00:00
Tamas Vajk
ed5d31a385
C#: Upgrade Roslyn dependencies to 3.9
2021-03-03 14:57:56 +01:00
luchua-bc
1b1c3f953b
Remove localflow from the source
2021-03-03 13:54:26 +00:00
Tamas Vajk
a5a4329669
C#: Add tests for covariant return types
2021-03-03 14:52:10 +01:00
luchua-bc
b366ffa69e
Revamp source of the query
2021-03-03 13:38:18 +00:00
Tamas Vajk
bd2b3e72f8
C#: Use covariant return for context overrides
2021-03-03 14:35:07 +01:00
Tamas Vajk
cfd8a87496
C#: Fix nullability warnings after .net 5 upgrade
2021-03-03 14:25:59 +01:00
Rasmus Wriedt Larsen
c3175ae7b1
Python/JS: Sync CryptoAlgorithms.qll
2021-03-03 14:18:33 +01:00
Tamas Vajk
828e1f81ae
Share core analysis logic between standalone and normal analysis
2021-03-03 14:18:19 +01:00
Tamas Vajk
15e26e1a91
C#: Reduce disabled nullability regions by splitting 'Extractor' and 'Analyser'
2021-03-03 14:18:19 +01:00
Tamas Vajk
2697677239
Merge Extractor.Standalone and OutputPath
2021-03-03 14:18:19 +01:00
Tamas Vajk
10ab17a7e0
C#: Enable nullability in csharp extraction project v1
2021-03-03 14:18:19 +01:00
Rasmus Wriedt Larsen
dd75ea31df
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-03-03 14:17:22 +01:00
Anders Schack-Mulligen
3400c121d6
Merge pull request #5202 from joefarebrother/apache-http
...
Java: Add modelling for Apache HTTP Components
2021-03-03 13:41:41 +01:00
Anders Schack-Mulligen
220383b9fb
Merge pull request #5313 from joefarebrother/guava-change-note
...
Java: Add change note for Guava
2021-03-03 13:03:54 +01:00
Anders Schack-Mulligen
663c72ab1d
Update java/change-notes/2021-03-23-guava-collections-and-preconditions.md
2021-03-03 12:53:16 +01:00
Tamás Vajk
73ad417757
Merge pull request #5132 from tamasvajk/feature/dotnet502
...
C#: Upgrade projects to .net 5
2021-03-03 12:47:08 +01:00
CodeQL CI
8e2af077a7
Merge pull request #5237 from erik-krogh/moreInf
...
Approved by asgerf
2021-03-03 03:09:07 -08:00
Joe Farebrother
a77cf12596
Add change note for Guava
2021-03-03 10:56:12 +00:00
Artem Smotrakov
7cc7ec962e
Updated recommendations for avoiding JEXL injections
2021-03-03 11:40:59 +01:00
Erik Krogh Kristensen
b9450c901a
remove development comment
2021-03-03 11:18:09 +01:00
Mathias Vorreiter Pedersen
721ba5e2c5
Merge pull request #4825 from rdmarsh2/rdmarsh2/cpp/operand-reuse
...
C++: share `TOperand` across IR stages
2021-03-03 08:55:44 +01:00
yoff
078fbccc9a
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-02 22:32:45 +01:00
yoff
4196dc2291
Update python/change-notes/2021-02-25-port-stactrace-exposure-query.md
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-02 22:23:29 +01:00
Robert Marsh
312ead44c5
Merge pull request #5309 from github/aeisenberg/from-source-docs
...
Documentation: Update C/C++ Element::fromSource() docs
2021-03-02 12:51:41 -08:00
Artem Smotrakov
617ba65ef5
Improved docs for SpringHttpInvokerUnsafeDeserialization.ql
2021-03-02 21:36:14 +01:00
Artem Smotrakov
c243f2f042
Improved JexlInjection.qhelp
2021-03-02 21:25:26 +01:00
Artem Smotrakov
6b66323ac3
Simplified JexlInjectionLib.qll and removed LocalUserInput
2021-03-02 21:22:46 +01:00
Robert Marsh
dbd8432884
C++: autoformat
2021-03-02 12:11:12 -08:00
Andrew Eisenberg
9982112b61
Documentation: Update C/C++ Element::fromSource() docs
...
The previous documentation was not correct. This
documentation is adapted from File::fromSource().
2021-03-02 08:57:17 -08:00
Aditya Sharad
648910e974
Merge pull request #5285 from adityasharad/actions/docs-review
...
Actions: Add workflow to request docs review
2021-03-02 08:52:32 -08:00
Joe Farebrother
81ff76814f
Remove incorrect expectaton
2021-03-02 16:35:34 +00:00
Francis Alexander
173c4b7f2f
More Play stubs improvements
2021-03-02 20:39:25 +05:30
Mathias Vorreiter Pedersen
eb4f1e1ba0
C++: Restore some of the lost test results by doing operand -> instruction taint steps in IR TaintTracking.
2021-03-02 15:45:40 +01:00
Erik Krogh Kristensen
95a1edcabc
refactor FunctionStyleClass to get a better join-order
2021-03-02 15:22:38 +01:00
Anders Schack-Mulligen
0eb2c06e20
Merge pull request #3945 from porcupineyhairs/structsDevMode
...
Java: Add query to detect Apache Struts enabled Devmode
2021-03-02 15:22:20 +01:00
Erik Krogh Kristensen
4d33407f6c
optimize getACalleeValue
2021-03-02 15:21:36 +01:00
Tamas Vajk
714e1dc686
Add change note
2021-03-02 15:08:07 +01:00
Asger F
919ee38049
Update javascript/ql/src/semmle/javascript/security/dataflow/DeepObjectResourceExhaustionCustomizations.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-03-02 14:02:35 +00:00
Asger F
6c884f86d2
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-03-02 14:01:59 +00:00
Asger Feldthaus
6e0322dc60
JS: Add DeepResourceExhaustion test
2021-03-02 13:56:43 +00:00
Asger Feldthaus
88e5348da9
JS: Move RemotePropertyInjection test into subfolder
2021-03-02 13:56:39 +00:00
Asger Feldthaus
5d27cd934d
JS: Move Source def into customizations lib
2021-03-02 13:52:33 +00:00
Asger Feldthaus
d916118ea4
JS: Move ExceptionXss source into Xss.qll
2021-03-02 13:16:10 +00:00
Erik Krogh Kristensen
47f4faa4e2
use local dataflow instead of type-inference for mayHaveBooleanValue
2021-03-02 14:06:38 +01:00
Erik Krogh Kristensen
ae56285331
use callgraph instead of type-inference for array taint-steps
2021-03-02 14:06:09 +01:00
Erik Krogh Kristensen
b20ce8bfca
use callgraph instead of TypeInference in Testing.qll
2021-03-02 14:04:23 +01:00
Porcuiney Hairs
beb15e27eb
remove tests
2021-03-02 18:13:33 +05:30
Mathias Vorreiter Pedersen
23d3109071
C++: Use taintedWithPath in more tests. This is the predicate that's currently hooked up to the new IR taint tracking library.
2021-03-02 13:40:39 +01:00
Asger Feldthaus
fd9604c5ef
JS: Update expected output for poly ReDoS
2021-03-02 12:39:05 +00:00
Asger Feldthaus
31721b5fe3
JS: Fix missing qldoc
2021-03-02 12:39:05 +00:00
Asger Feldthaus
05594f2936
JS: Change note
2021-03-02 12:39:05 +00:00
Asger Feldthaus
0bd60c1989
JS: Autoformat
2021-03-02 12:39:05 +00:00
Asger Feldthaus
12079cd1e4
JS: Recognize RegExps in JSON schemas
2021-03-02 12:39:04 +00:00
Asger Feldthaus
7afa755597
JS: Add ajv error as source of ExceptionXss
2021-03-02 12:39:04 +00:00
Asger Feldthaus
24199a5499
JS: Add query for resource exhaustion from deep object handling
2021-03-02 12:39:04 +00:00
Asger Feldthaus
b978359803
JS: Add schema validation as TaintedObject sanitizer
2021-03-02 12:39:04 +00:00
Tamas Vajk
fa2f345611
Revert "Simplify MissingCallTarget for calli"
...
This reverts commit 3b82abd7c7 .
2021-03-02 12:58:42 +01:00
Erik Krogh Kristensen
55985c969b
add change note
2021-03-02 12:25:50 +01:00
Erik Krogh Kristensen
ecccb8a409
only flag React elements in ClientSideUrlRedirect if it's a HTML element, or known link class
2021-03-02 12:25:50 +01:00
Erik Krogh Kristensen
36049f05f8
update Next.js xss example such that the attack is viable
2021-03-02 12:25:50 +01:00
Erik Krogh Kristensen
1f02594ccc
rename and move getAPropertyNameInterpretedAsJavaScriptUrl
2021-03-02 12:25:50 +01:00
Erik Krogh Kristensen
5b5baced9a
add support for replace in Next.js router
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
97032f8627
add ClientSideUrlRedirect sink for Next.js routers
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
a79c30a818
support NextJS API endpoints
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
0e7e3e6178
support Next.js pages that export React components
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
1fdbbb682d
support Next.js page request/response objects
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
a5cf024c9f
add support for getServerSideProps in Next.js
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
af262a035d
add support for getInitialProps in Next.js
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
d63fcaf7f1
add step from getStaticProps to the component render function
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
9d7bb57d8a
add parameter values from Next as a RemoteFlowSource
2021-03-02 12:25:49 +01:00
Erik Krogh Kristensen
41a0c0b55e
support React links in js/client-side-unvalidated-url-redirection
2021-03-02 12:25:49 +01:00
Francis Alexander
4384f78595
Play stubs improvements, cleanup and return values
2021-03-02 16:50:16 +05:30
CodeQL CI
79839d2304
Merge pull request #5267 from erik-krogh/httpProxy
...
Approved by asgerf
2021-03-02 02:46:50 -08:00
Owen Mansel-Chan
6460ce3f83
Add @codeql-go as code owners for the shared data-flow library files
2021-03-02 10:39:47 +00:00
Anders Schack-Mulligen
b0fa8dfeae
Merge pull request #4214 from porcupineyhairs/springViewManipulation
...
[Java] Add QL for detecting Spring View Manipulation Vulnerabilities.
2021-03-02 11:31:42 +01:00
Mathias Vorreiter Pedersen
6ba35f4aac
C++: Fix function renaming and accept test change.
2021-03-02 11:31:24 +01:00
Mathias Vorreiter Pedersen
9f02c144a8
C++: Remove files that were incorrectly added when resolving merge conflicts.
2021-03-02 11:14:49 +01:00
CodeQL CI
2957131853
Merge pull request #5258 from erik-krogh/nextPerf
...
Approved by asgerf
2021-03-02 02:04:20 -08:00
CodeQL CI
9ea8f8201c
Merge pull request #5265 from erik-krogh/cacheRemote
...
Approved by asgerf
2021-03-02 02:03:09 -08:00
Mathias Vorreiter Pedersen
ffc6af73b7
C++: Accept test changes.
2021-03-02 11:00:43 +01:00
Mathias Vorreiter Pedersen
748f5344ff
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-02 10:43:37 +01:00
Anders Schack-Mulligen
394c82d564
Apply suggestions from code review
...
Adjust qldoc.
2021-03-02 10:17:07 +01:00
Tamas Vajk
faf69d65da
Fix merge error
2021-03-02 09:23:15 +01:00
Tamas Vajk
3b82abd7c7
Simplify MissingCallTarget for calli
2021-03-02 09:21:24 +01:00
Tamas Vajk
7ae640ce16
Fix OS specific tests
2021-03-02 09:21:24 +01:00
Tamas Vajk
f2e667173c
C#: Add calli IL opcode extraction
2021-03-02 09:21:24 +01:00
Tamas Vajk
17109a36ce
Fix extraction error due to missing DLL
2021-03-02 09:21:24 +01:00
Tamas Vajk
6205ec233c
Fix more failing tests
2021-03-02 09:21:24 +01:00
Tamas Vajk
2b1c6faefd
Fix failing test
2021-03-02 09:21:24 +01:00
Tamas Vajk
4f383be13b
Fix new (nullability) compiler warnings
2021-03-02 09:21:24 +01:00
Tamas Vajk
71f095d6d4
Upgrade projects to .net 5
2021-03-02 09:20:31 +01:00
Aditya Sharad
dbed4a1a8b
Actions: Add workflow to request docs review
...
When a PR is labelled with 'ready-for-docs-review',
this workflow comments on the PR to notify the GitHub CodeQL docs team.
Runs on `pull_request_target` events so it can write comments to the PR.
Since this runs in the context of the base repo, it must not check out the PR
or use untrusted data from the event payload.
Only runs when the PR base is github/codeql, to prevent notifications from forks.
2021-03-01 17:15:03 -08:00
luchua-bc
95d1994196
Query to check sensitive cookies without the HttpOnly flag set
2021-03-01 22:06:52 +00:00
Robert Marsh
2b382d588a
C++: autoformat Operand.qll
2021-03-01 11:13:04 -08:00
Calum Grant
cee96775b8
Merge pull request #5305 from asgerf/js/tuple-type-rest-index-stats
...
JS: Regenerate stats for tuple_type_rest_index
2021-03-01 17:43:55 +00:00
Porcuiney Hairs
5151a528ac
Include suggestions from review
2021-03-01 22:59:30 +05:30
Chris Smowton
5d2f3421d8
Add change notes
2021-03-01 16:59:20 +00:00
Chris Smowton
cdccc1a064
Remove needless typecasts
2021-03-01 16:47:34 +00:00
yoff
92128babef
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-01 17:39:17 +01:00
Asger Feldthaus
26924a3378
JS: Regenerate stats for tuple_type_rest_index
2021-03-01 16:30:09 +00:00
Rasmus Lerchedahl Petersen
38748f9e23
Python: restrict attention to ss.wrap_socket
2021-03-01 16:35:21 +01:00
Tamás Vajk
2ac94255b7
Merge pull request #5299 from tamasvajk/feature/limit-codescanning-csharp2
...
C#: Fix codeql analysis workflow
2021-03-01 16:20:03 +01:00
Porcuiney Hairs
14ec148272
refactor to meet experimental guidelines.
2021-03-01 18:46:33 +05:30
Rasmus Wriedt Larsen
0874712c97
C++/Java/Python: Allow Python string prefix in InlineExpectationsTest
...
I've been writing tests for crypto libraries in Python, and have wanted to write
code along the lines of
```py
md5.hash(b"some message") # $ HashInput=b"some message"
```
which didn't work before this commit, forcing me to store my text in a variable
like below. This turned out to be really annoying when dealing with more complex
examples, so therefore I'm adding this new functionality to allow this behavior.
```py
msg = b"some message"
md5.hash(msg) # $ HashInput=msg
```
2021-03-01 13:44:28 +01:00
Chris Smowton
aab9deceef
Remove package from test Java file
2021-03-01 10:32:44 +00:00
Chris Smowton
c32514bf66
Sync dataflow library files
2021-03-01 10:27:28 +00:00
Chris Smowton
e6b1fe9b5f
Fluent interface dataflow: support argument-output flow directly declared by the simpleLocalFlowStep relation
...
This means we will treat fluent interfaces that are modelled the same as those where we determine an argument flows to an output by inspection of the function body.
2021-03-01 10:23:38 +00:00
Chris Smowton
54caf501e7
Switch fluent-methods test to use a plain DataFlow::Configuration
...
No taint edges are involved, so TaintTracking was unnecessary.
2021-03-01 10:16:02 +00:00
Chris Smowton
fadbb32bd6
Add backward dataflow edges through fluent function invocations.
...
This means that much as obj.getA().setB(...) already has a side-effect on `obj`, all three setters in obj.setA(...).setB(...).setC(...) will have a side-effect on `obj`.
2021-03-01 10:11:28 +00:00
Tamas Vajk
1ecbbf6af3
C#: Fix codeql analysis workflow
2021-03-01 09:18:05 +01:00
Anders Schack-Mulligen
37baf77b93
Merge pull request #5273 from intrigus-lgtm/java/unify-main-method-check
...
Java: Remove duplicate code.
2021-03-01 09:05:28 +01:00
Tamás Vajk
3b56e3520c
Merge pull request #5277 from tamasvajk/feature/fix-name-resolution
...
Fix method name resolution issue with nullable suppression
2021-03-01 08:47:21 +01:00
Jonas Jensen
208a374c58
Merge pull request #5256 from MathiasVP/promote-insecure-memset-query
...
C++: Promote insecure removal of memset query
2021-03-01 08:30:16 +01:00
Artem Smotrakov
15a43ffe36
Simplified returnsRemoteInvocationSerializingExporter()
2021-02-27 13:41:20 +01:00
Rasmus Wriedt Larsen
443780f27e
Python/JS: Share modeling of cryptographic algorithms
...
I didn't quite know where to place it for JS, so I tried my best :)
The canonical Python version might be changed in the future, but I wanted to
keep this change small.
2021-02-27 11:39:35 +01:00
Rasmus Wriedt Larsen
010488c899
Python/JS: Update QLDoc for crypto algorithms before sharing
2021-02-27 11:38:45 +01:00
Rasmus Wriedt Larsen
646ea55944
Python/JS: Update Python copy of crypto algorithm modeling
...
Now to be shared accross both languages, with sync-identical-files
2021-02-27 11:38:45 +01:00
haby0
f795d5e0d3
update JSONP Injection ql
2021-02-27 16:25:17 +08:00
Rasmus Lerchedahl Petersen
8b68912c40
Python: Update help and add example
2021-02-26 20:19:31 +01:00
Rasmus Lerchedahl Petersen
9533c92fcc
Python: Clean up tests and add comment
2021-02-26 19:28:44 +01:00
Mathias Vorreiter Pedersen
d4f7fab7df
Update cpp/change-notes/2021-02-24-memset-may-be-deleted.md
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-02-26 19:17:13 +01:00
Mathias Vorreiter Pedersen
0f7256752a
Update cpp/ql/src/Security/CWE/CWE-014/MemsetMayBeDeleted.qhelp
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-02-26 19:16:28 +01:00
yoff
1670fa0d0e
Update python/change-notes/2021-02-23-port-insecure-default-protocol.md
2021-02-26 18:39:49 +01:00
yoff
9a9bda17ed
Update python/change-notes/2021-02-23-port-insecure-default-protocol.md
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-02-26 18:38:35 +01:00
Erik Krogh Kristensen
af7a188bbd
add change note
2021-02-26 17:18:30 +01:00
Erik Krogh Kristensen
214aa072b9
support host for http-proxy client requests
2021-02-26 17:18:29 +01:00
Erik Krogh Kristensen
cc48172fd8
add support for events in http-proxy
2021-02-26 17:17:47 +01:00
Erik Krogh Kristensen
ede1a40a02
add ClientRequst models for http-proxy
2021-02-26 17:17:46 +01:00
CodeQL CI
b7c0d18c4a
Merge pull request #5278 from erik-krogh/formData
...
Approved by asgerf
2021-02-26 08:13:41 -08:00
Rasmus Wriedt Larsen
a387496832
Python: Highlight how request.uri works in Tornado
2021-02-26 16:23:21 +01:00
Erik Krogh Kristensen
ae051af9d8
remove redundant code
2021-02-26 14:15:30 +01:00
CodeQL CI
0e70b58a41
Merge pull request #5205 from erik-krogh/ts42
...
Approved by asgerf
2021-02-26 05:06:40 -08:00
Porcupiney Hairs
42a84a18b0
JAVA : Add query to detect Apache Structs enabled DEvmode
...
This query detects cases where the development mode is enabled for a
struts configuration. I can't find a CVE per se but, at present, [Github's fuzzy search](https://github.com/search?q=%3Cconstant+name%3D%22struts.devMode%22+value%3D%22true%22+%2F%3E+language%3Axml&type=Code ) returns more
than 44000 results. Some of them look like they are classroom projects,
so they may be ineligible for a CVE. But we should be flagging them
anyways as setting the development on in a production system is a very
bad practice and can often lead to remote code execution.
So these should be fixed anyways.
2021-02-26 16:30:04 +05:30
Porcupiney Hairs
602f63ad45
[Java] Add QL for detecting Spring View Manipulation Vulnerabilities.
2021-02-26 16:29:18 +05:30
Tom Hvitved
ac67c67ad7
Merge pull request #4998 from hvitved/csharp/shared-base-pre-ssa
...
C#: Use shared SSA implementation for `{Pre,Base}Ssa`
2021-02-26 11:29:07 +01:00
Rasmus Wriedt Larsen
b43533ce8d
Python: Ensure old dataflow queries are not used
...
There seems to have been some cases where the old ones have been picked up
instead of the new ones. At least I spotted _one_ case where this happened, in
an internal actions run.
I'm not sure how to actual debug this, so just removing all the tags that could
make these queries to become picked up :|
2021-02-26 11:22:23 +01:00
yoff
7f7320ae4c
Update python/ql/src/Security/CWE-327/InsecureDefaultProtocol.ql
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-02-26 10:56:48 +01:00
Erik Krogh Kristensen
c59e6fef80
add model for form-data
2021-02-26 10:54:46 +01:00
Erik Krogh Kristensen
00cfc77fc0
Revert "fix file lookup for exclude patterns"
...
This reverts commit 74630b0fd8 .
2021-02-26 10:28:20 +01:00
Erik Krogh Kristensen
4ec3289ecc
update relation name in .stats file
2021-02-26 10:26:08 +01:00
Erik Krogh Kristensen
bd19d5a93c
remove is_abstract_signature.ql
2021-02-26 10:24:40 +01:00
Erik Krogh Kristensen
1cac692b1d
Update javascript/ql/src/semmle/javascript/TypeScript.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2021-02-26 10:23:01 +01:00
Mathias Vorreiter Pedersen
42d2a673c7
C++: Respond to review comments.
2021-02-26 10:06:05 +01:00
Tamas Vajk
b3d6d0c12b
Fix method name resolution issue with nullable suppression
2021-02-26 09:48:37 +01:00
Mathias Vorreiter Pedersen
4e4ffbd790
Update cpp/change-notes/2021-02-24-memset-may-be-deleted.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-02-26 09:48:21 +01:00
Rasmus Lerchedahl Petersen
311149ab4f
Python: fix spelling
2021-02-26 09:44:24 +01:00
Mathias Vorreiter Pedersen
72daf2eef9
C++: Make the tests more realistic by actually using the local variable for something. Otherwise it looks like a zero-initialization of a buffer, which the query now tries to exclude.
2021-02-26 09:19:05 +01:00
yoff
a067adbaf3
Update python/ql/test/query-tests/Security/CWE-327-py2/options
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-02-26 08:53:20 +01:00
Tamás Vajk
ce69e3ae66
Merge pull request #5263 from tamasvajk/feature/fix-file-move
...
C#: Fix potentially concurrent file moves
2021-02-26 08:27:42 +01:00
Tamás Vajk
8241a9c2f1
Merge pull request #5264 from tamasvajk/feature/more-known-enums
...
C#: Add more well-known enum underlying types
2021-02-26 08:20:14 +01:00
Marcono1234
53dc2ce9b6
Java: Use .inc.qhelp extension for included help files
2021-02-26 00:43:51 +01:00
Marcono1234
e21cbe82a9
Update Java documentation links to Java 11
...
Where possible update Java documentation links to Java 11.
Additionally update some other links to use HTTPS.
2021-02-26 00:43:51 +01:00
yoff
e3b3825ab0
Merge pull request #5151 from RasmusWL/django-get-redirect-url
...
Python: Model get_redirect_url in django
2021-02-25 23:07:33 +01:00
Robert Marsh
290b1c624e
C++: cache the IR stage Operand class
2021-02-25 13:10:39 -08:00
intrigus
141f057f7b
Java: Remove duplicate code.
2021-02-25 21:29:26 +01:00
Mathias Vorreiter Pedersen
faadcd913e
C++: Exclude memsets that clear a variable that has no other uses.
2021-02-25 21:27:12 +01:00
Geoffrey White
0c4a5f5e2a
Merge pull request #5266 from geoffw0/isis
...
JS: Fix 'is, is' and 'is is'.
2021-02-25 18:55:41 +00:00
Mathias Vorreiter Pedersen
2777ca445e
Update cpp/ql/src/Security/CWE/CWE-014/MemsetMayBeDeleted.ql
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-02-25 19:49:58 +01:00
Dave Bartolomeo
2e02625f22
C++: Summary metrics queries
...
This is a first attempt at implementing, for C++, the set of summary queries that we expect all languages to implement to help diagnose extraction failures and build configuration problems. See the spec in [this document](https://docs.google.com/document/d/1V3zpkj0OGh8GEUVwACRx7fiafE5zklujAftZaYUyf9s/edit?usp=sharing ). The five queries are:
- Total number of source files (including .c/.cpp and header files)
- Total number of lines of text across all text files
- Total number of lines of code across all text files
- Number of lines of text in each source file
- Number of lines of code in each source file
I've added some simple unit tests that cover all five of these.
2021-02-25 12:53:39 -05:00
Mathias Vorreiter Pedersen
9e7c9d0ea0
C++: Respond to review comments. Relax the escaping requirements on the local variable being used in memset.
2021-02-25 18:22:48 +01:00
Marcono1234
fa189ded9d
Java: Add Class and Interface.isPackageProtected()
2021-02-25 18:21:18 +01:00
CodeQL CI
1bd12e6fdf
Merge pull request #5199 from asgerf/js/vue-router
...
Approved by erik-krogh
2021-02-25 07:32:57 -08:00
Tamás Vajk
505d04b13e
Merge pull request #5102 from luchua-bc/java/main-method-in-servlet
...
Java: CWE-489 Query to detect main() method in servlets
2021-02-25 16:05:06 +01:00
Mathias Vorreiter Pedersen
3f26b2940d
Update cpp/ql/src/Security/CWE/CWE-014/MemsetMayBeDeleted.ql
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-02-25 15:48:48 +01:00
Geoffrey White
0e071b7b79
JS: Fix 'is, is' and 'is is'.
2021-02-25 14:16:25 +00:00
Tamas Vajk
3e651f14fd
C#: Add more well-known enum underlying types
2021-02-25 14:57:23 +01:00
Rasmus Wriedt Larsen
81b29316e1
Merge pull request #4737 from yoff/python-dataflow-add-cast-nodes
...
Python: Force read- and store steps to add nodes.
2021-02-25 14:28:54 +01:00
Tamás Vajk
9ae22cbebd
Merge pull request #5189 from tamasvajk/feature/refactor-3
...
C#: Split 'Context' class between CIL and source extraction
2021-02-25 14:28:25 +01:00
Bas van Schaik
5ecd2317b0
Merge pull request #5212 from github/sj-patch-1
...
Include @xcorail (GHSL) in code reviews for `experimental` queries
2021-02-25 12:58:12 +00:00
Taus
d326d40d71
Merge pull request #5252 from RasmusWL/test-cleanup
...
Python: Minor cleanup of test setup
2021-02-25 13:33:10 +01:00
Mathias Vorreiter Pedersen
d33209388d
C++: Fix test annotations. Also exclude static locals from the query and add a testcase for this.
2021-02-25 13:25:11 +01:00
Taus
01d581ecf3
Merge pull request #5250 from tausbn/python-port-re-security-queries
...
Python: Port URL sanitisation queries to API graphs
2021-02-25 13:13:55 +01:00
Joe Farebrother
41b7db144d
Allow for array types in model signatures
2021-02-25 11:40:48 +00:00
Max Schaefer
f93937f40a
Add change note.
2021-02-25 10:51:01 +00:00
Rasmus Lerchedahl Petersen
64c0eaf305
Python: Update test expectations
2021-02-25 11:49:57 +01:00
yoff
f15084254b
Add comment explaining tacky nature of code
2021-02-25 11:49:57 +01:00
Rasmus Lerchedahl Petersen
5b51a3461d
Python: Force read- and store steps to add nodes.
...
This gives muche nicer path explanations on some snapshots.
It is achieved by making stepped-to nodes `CastNode`s.
This seems somewhat reasonable as types then to change, when we move
between content and container.
We could probably refine it, though.
2021-02-25 11:49:57 +01:00
Max Schaefer
3fe249f25c
Address review comments.
2021-02-25 10:48:23 +00:00
Erik Krogh Kristensen
de6b604930
cache RemoteFlowSource
2021-02-25 11:41:08 +01:00
Erik Krogh Kristensen
86bc7d3e1a
avoid a ValueNode x TypeTracker join in Hapi::RouteSetup::getARouteHandler
2021-02-25 11:41:08 +01:00
Erik Krogh Kristensen
d35ea7fb15
always get a good join-order in getAnAliasedSourceNode
2021-02-25 11:41:08 +01:00
Rasmus Wriedt Larsen
472ff97561
Docs: Add crypto to supported Python frameworks
2021-02-25 11:31:03 +01:00
Rasmus Wriedt Larsen
4610b1b392
Pyhton: Use type back-tracking for keysize on key-generation
...
Internal evaluation showed that this didn't perform better than normal (forward)
type-tracking, but it feels more like the right approach.
2021-02-25 11:31:00 +01:00
Rasmus Wriedt Larsen
c195c64982
Python: Use type-tracking for integer literal tracking
...
Like we've done for pretty much everything else. An experiment to see what this
means for query performance.
2021-02-25 11:30:56 +01:00
Rasmus Wriedt Larsen
27987717dc
Merge branch 'main' into crypto
2021-02-25 11:30:32 +01:00
Asger Feldthaus
55a1ab5714
JS: Autoformat
2021-02-25 10:20:13 +00:00
Tamas Vajk
a5543c689e
C#: Fix potentially concurrent file moves
2021-02-25 10:35:49 +01:00
Max Schaefer
2e252ba3e4
JavaScript: Learn that receivers of DOM event handlers are themselves DOM nodes.
2021-02-25 09:06:58 +00:00
Max Schaefer
ae2a5da63f
JavaScript: Add new tests for recognising receiver of event handler as DOM element.
2021-02-25 09:04:46 +00:00
haby0
0521ef87da
Merge remote-tracking branch 'upstream/main' into JsonHijacking
2021-02-25 16:31:14 +08:00
Jonas Jensen
2b54c33904
Merge pull request #5257 from MathiasVP/doh-its-2021-mathias
...
C++: Turns out we're in 2021 and not 2020.
2021-02-25 09:30:08 +01:00
Rasmus Lerchedahl Petersen
aba22689fa
Python: Add change note
2021-02-25 09:25:17 +01:00
Rasmus Lerchedahl Petersen
86cec40286
Python: update test
2021-02-25 09:22:57 +01:00
Anders Schack-Mulligen
f0d3841369
Merge pull request #5105 from JLLeitschuh/feat/JLL/depricated_bintray_usage
...
CWE-1104: Maven POM dependence upon Bintray/JCenter
2021-02-25 09:08:31 +01:00
Rasmus Lerchedahl Petersen
780a6a96f8
Python: Add concept tests
2021-02-25 08:54:42 +01:00
Rasmus Lerchedahl Petersen
41743b6afa
Python: restrict to caught exceptions
...
also modernise code
2021-02-25 07:53:35 +01:00
Rasmus Lerchedahl Petersen
24b51e8851
Merge branch 'main' of github.com:github/codeql into python-port-stacktrace-exosure
2021-02-25 07:24:41 +01:00
Rasmus Lerchedahl Petersen
76f080978a
Python: Add missing QLDoc
2021-02-24 23:35:44 +01:00
Rasmus Lerchedahl Petersen
192988077e
Python: Move <ul> outside of <p>
2021-02-24 23:28:13 +01:00
Artem Smotrakov
e02b51f42b
Improved SpringHttpInvokerUnsafeDeserialization.qhelp
2021-02-24 22:35:20 +01:00
Artem Smotrakov
aac0c27dcd
Added tests for SpringHttpInvokerUnsafeDeserialization.ql
2021-02-24 22:35:20 +01:00
Artem Smotrakov
95284ad71d
Added SpringHttpInvokerUnsafeDeserialization.qhelp and example
2021-02-24 22:35:20 +01:00
Artem Smotrakov
476309af6d
Added SpringHttpInvokerUnsafeDeserialization.ql
2021-02-24 22:35:20 +01:00
Artem Smotrakov
34b6ed0a05
Removed commented code from JexlUberspect
2021-02-24 22:31:03 +01:00
Rasmus Lerchedahl Petersen
bf3e5fceea
Python: Rearrange directories
2021-02-24 22:07:27 +01:00
Rasmus Lerchedahl Petersen
10657160bc
Python: Improve qlhelp according to review
2021-02-24 22:02:16 +01:00
yoff
89d0724fb4
Update python/change-notes/2021-02-23-port-insecure-default-protocol.md
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-02-24 19:57:49 +01:00
Bas van Schaik
4ede277c7c
Update CODEOWNERS
2021-02-24 18:30:22 +00:00
luchua-bc
e34a203731
Refactor the check of a main method in a test program to improve maintainability
2021-02-24 17:15:08 +00:00
Erik Krogh Kristensen
ea17de6225
prevent join between getAValue() and DefiniteAbstractValue in AMD.qll
2021-02-24 18:12:55 +01:00
Erik Krogh Kristensen
be26a48a16
use pragma[only_bind_into] to prevent bad join in Ssa::hasLocationInfo
2021-02-24 18:05:57 +01:00
Erik Krogh Kristensen
ccd706ea10
and pragmas to prevent bad join in RemoteFlowSource
2021-02-24 18:05:10 +01:00
Erik Krogh Kristensen
674b9ad4fe
use getALocalSource instead of smallstep in JQuery::legacyObjectSource
2021-02-24 18:04:50 +01:00
Mathias Vorreiter Pedersen
70a953b633
C++: Add change-note.
2021-02-24 18:02:16 +01:00
Mathias Vorreiter Pedersen
ef8b734863
C++: Move tests out of experimental and merge with old existing tests from the other memset PRs.
2021-02-24 18:02:16 +01:00
Mathias Vorreiter Pedersen
c44fbaaf3c
C++: Promote memset query out of experimental.
2021-02-24 18:01:41 +01:00
Erik Krogh Kristensen
69348b1914
remove redundant hasLocationInfo
2021-02-24 18:01:35 +01:00
Erik Krogh Kristensen
8443b8e421
cache Module::getAnExportedValue
2021-02-24 18:01:16 +01:00
Erik Krogh Kristensen
fd9d738d53
use Expr instead of mising DataFlow-nodes and Exprs in charpred
2021-02-24 18:00:55 +01:00
Joe Farebrother
caa6f00292
Switch to CSV based modelling
2021-02-24 16:59:49 +00:00
Erik Krogh Kristensen
8c19f7810d
replace forex with unique in DOM.qll
2021-02-24 17:59:38 +01:00
Jonathan Leitschuh
237fefbcf1
Add release notes
2021-02-24 11:19:20 -05:00
Mathias Vorreiter Pedersen
fc4162ba1a
C++: Turns out we're in 2021 and not 2020.
2021-02-24 17:15:51 +01:00
Cornelius Riemenschneider
cea1049745
Merge pull request #5249 from geoffw0/cleanupstr
...
C++: QLDoc Pure.qll
2021-02-24 16:42:41 +01:00
Tamas Vajk
4711856c2b
Remove commented code
2021-02-24 16:21:19 +01:00
Tamas Vajk
841ef9a4ae
Make derived 'Context' classes internal and adjust visibility of members in base 'Context'
2021-02-24 16:21:19 +01:00
Tamas Vajk
539fdf952a
Extend base context in CIL project
2021-02-24 16:21:19 +01:00
Tamas Vajk
5fca946678
C#: Split 'Context' class between CIL and source extraction
2021-02-24 16:21:19 +01:00
Bas van Schaik
4b884bd5d2
Merge branch 'main' into sj-patch-1
2021-02-24 15:10:26 +00:00
CodeQL CI
bf66bdbb95
Merge pull request #5253 from RasmusWL/no-getAnArg
...
Approved by tausbn
2021-02-24 06:34:31 -08:00
Rasmus Wriedt Larsen
d05a8b8c46
Python: Remove getAnArg in DataFlow::CallCfgNode
...
Until we've had further discussion on what is the right approach to
naming (internal discussion in https://github.com/github/codeql-python-team/issues/95 )
2021-02-24 14:58:48 +01:00
haby0
6fe8bafc7d
*)update
2021-02-24 20:59:51 +08:00
Felicity Chapman
a05904f812
Merge pull request #5216 from github/felicitymay-update-process
...
Remove personal assignment to writers
2021-02-24 12:59:08 +00:00
haby0
872a000a33
*)update to JSONP injection
2021-02-24 20:36:12 +08:00
Tamás Vajk
fd4eca6039
Merge pull request #5254 from tamasvajk/feature/fix-merge
...
C#: Fix merge conflict (with + refactoring)
2021-02-24 12:07:34 +01:00
Rasmus Wriedt Larsen
a6e5ec2e09
Python: Port py/flask-debug
2021-02-24 11:37:25 +01:00
Rasmus Wriedt Larsen
0cad5ce5ca
Python: Expand py/flask-debug tests a bit
2021-02-24 11:35:17 +01:00
CodeQL CI
d2816b33e2
Merge pull request #5240 from erik-krogh/vsPerf
...
Approved by asgerf
2021-02-24 02:26:16 -08:00
Taus Brock-Nannestad
404649d5f1
Python: Get rid of superfluous options file
2021-02-24 11:24:43 +01:00
Rasmus Wriedt Larsen
5c6989cf02
Revert "Python: Accept RequestWithoutValidation expected output change"
...
Apparently CI is able to produce the ../ path, I have absolutely no clue what is
goign on...
2021-02-24 11:14:18 +01:00
Erik Krogh Kristensen
055275b971
change stats file
2021-02-24 11:12:31 +01:00
Anders Schack-Mulligen
add960bc4d
Merge pull request #4880 from luchua-bc/java/sensitive-query-with-get
...
Java: Sensitive GET Query
2021-02-24 11:08:47 +01:00
Asger Feldthaus
bb858d38c4
JS: Tweak ExprNode
2021-02-24 10:03:45 +00:00
Tamas Vajk
380058a4bd
C#: Fix merge conflict (with + refactoring)
2021-02-24 10:50:51 +01:00
yoff
8262f0343b
Merge pull request #5208 from RasmusWL/flask-clean-models
...
Python: Cleanup Flask models now that we have API graphs
2021-02-24 10:36:30 +01:00
Erik Krogh Kristensen
16150a6419
update printAst expected output
2021-02-24 10:29:29 +01:00
Erik Krogh Kristensen
ed47697c09
update expected output
2021-02-24 10:29:12 +01:00
Geoffrey White
358a8fee7d
C++: 'side-effect free'.
2021-02-24 09:25:11 +00:00
Taus Brock-Nannestad
af644a0adb
Python: Decrease import depth in regex tests
...
These were increased because of the indirection needed to get to the
regex flags, but as we no longer rely on this, we can make do with a
smaller import depth.
2021-02-24 10:23:01 +01:00
Rasmus Wriedt Larsen
5bb4a1a45a
Python: Use explicit argument specification instead of getAnArg
...
I've seen quite a few places where `getAnArg` leads to wrong behavior, and I
generally just don't like it.
2021-02-24 10:19:34 +01:00
Taus Brock-Nannestad
e77c1059a3
Python: Use source nodes and prevent bad join order
2021-02-24 10:18:54 +01:00
Taus Brock-Nannestad
cac6c4acc9
Python: Add deprecation notice to mode_from_mode_object
2021-02-24 10:18:21 +01:00
Rasmus Wriedt Larsen
0b9a65d234
Python: Accept RequestWithoutValidation expected output change
...
I have no clue why this changed, but since it's only the `..` part, I guess
we'll live with it
2021-02-24 10:13:25 +01:00
Rasmus Wriedt Larsen
cef37d19ce
Python: Split CWE-295 tests
...
Mostly just because it's nice. But now we can avoid having the same `options`
files for the tests.
2021-02-24 10:12:45 +01:00
Rasmus Wriedt Larsen
0ffc801f9b
Python: Remove options for InsecureTemporaryFile tests
2021-02-24 09:57:51 +01:00
Erik Krogh Kristensen
5091bb652f
bump extractor version
2021-02-24 09:39:09 +01:00
Erik Krogh Kristensen
971ce83f8e
add change note
2021-02-24 09:34:54 +01:00
Erik Krogh Kristensen
bcb3d5aec2
add tests for nested type unions through aliases
2021-02-24 09:34:54 +01:00
Erik Krogh Kristensen
85ed402b1a
add test for union types
2021-02-24 09:34:53 +01:00
Erik Krogh Kristensen
5ae3c5952c
support abstract signatures
2021-02-24 09:34:53 +01:00
Erik Krogh Kristensen
f385c55f2c
add support for rest types elements in the middle of a tuple
2021-02-24 09:34:53 +01:00
Erik Krogh Kristensen
74630b0fd8
fix file lookup for exclude patterns
2021-02-24 09:34:53 +01:00
Erik Krogh Kristensen
8cf28c6186
update TypeScript to 4.2
2021-02-24 09:34:47 +01:00
yoff
c3d2001e85
Merge pull request #5251 from tausbn/python-port-missing-host-key-validation-query
...
Python: Port missing host key validation query
2021-02-24 08:43:52 +01:00
yo-h
1d654febfd
Merge pull request #5195 from aschackmull/java/cwe-548-test
...
Java: Add empty file to test.
2021-02-23 21:12:40 -05:00
Taus Brock-Nannestad
2942a11a69
Python: Import API graphs privately
2021-02-23 22:45:39 +01:00
Taus Brock-Nannestad
f241dbabab
Python: Clean up query a bit
2021-02-23 22:33:18 +01:00
Taus Brock-Nannestad
002d0fe565
Python: Port missing host key query
2021-02-23 22:26:03 +01:00
Taus Brock-Nannestad
e812eb777d
Python: Port URL sanitisation queries to API graphs
...
Really, this boils down to "Port `re` library model to use API graphs
instead of points-to", which is what this PR actually does.
Instead of using points-to to track flags, we use a type tracker. To
handle multiple flags at the same time, we add additional flow from
`x` to `x | y` and `y | x`
and, as an added bonus, the above with `+` instead of `|`, neatly
fixing https://github.com/github/codeql/issues/4707
I had to modify the `Qualified.ql` test slightly, as it now had a
result stemming from the standard library (in `warnings.py`) that
points-to previously ignored.
It might be possible to implement this as a type tracker on
`LocalSourceNode`s, but with the added steps for the above operations,
this was not obvious to me, and so I opted for the simpler
"`smallstep`" variant.
2021-02-23 22:02:35 +01:00
Rasmus Wriedt Larsen
358ade67e5
Merge pull request #5248 from tausbn/python-port-insecure-temporary-file
...
Python: Port `py/insecure-temporary-file`
2021-02-23 21:37:59 +01:00
Tamás Vajk
91928fa098
Merge pull request #5220 from tamasvajk/feature/limit-codescanning-csharp
...
Limit C# codeql analysis to the csharp folder
2021-02-23 21:05:38 +01:00
Tamás Vajk
e6532cbd75
Merge pull request #4695 from tamasvajk/feature/csharp9-with-expr
...
C#: Extract 'with' expressions
2021-02-23 21:04:51 +01:00
Geoffrey White
431a004127
C++: QLDoc.
2021-02-23 19:10:03 +00:00
Taus Brock-Nannestad
b8ce5e969e
Python: Port py/insecure-temporary-file
2021-02-23 20:02:22 +01:00
yoff
9eed17f647
Merge pull request #5152 from RasmusWL/improve-pyyaml-support
...
Python: Improve pyyaml support
2021-02-23 19:58:04 +01:00
Rasmus Lerchedahl Petersen
6abbb5040c
Python: add change note
2021-02-23 19:54:09 +01:00
Rasmus Lerchedahl Petersen
b28544da9c
Python: Port insecure default protocol
...
- use API graphs
- update .qlhelp-file
- limit to versions below 3.4
- move tests to its own directory to only test on old version
2021-02-23 19:41:36 +01:00
Joe Farebrother
e13c779f0f
Add additional unit tests
2021-02-23 16:17:13 +00:00
CodeQL CI
c5ae8d2c53
Merge pull request #5210 from erik-krogh/barrierPerf
...
Approved by asgerf
2021-02-23 07:29:27 -08:00
luchua-bc
56e3b301e9
Resolve ambiguous method access
2021-02-23 15:18:07 +00:00
Rasmus Wriedt Larsen
a09f8c4b4a
Python: Port bind-to-all-interfaces to type-tracking
2021-02-23 16:01:24 +01:00
Rasmus Wriedt Larsen
4026d54095
Python: Expand bind-to-all-interfaces tests slightly
2021-02-23 15:53:47 +01:00
luchua-bc
45f9125bfa
Update test program
2021-02-23 14:41:44 +00:00
luchua-bc
9eb8ec7da5
Create a separate file for EJB check
2021-02-23 14:38:15 +00:00
Joe Farebrother
ee651da23f
Remove TODO comment
2021-02-23 14:27:11 +00:00
Joe Farebrother
459c0afc55
Add change note
2021-02-23 14:26:12 +00:00
Joe Farebrother
a3b8d4ab2d
Switch to inline test expectations; fix failing test outputs
2021-02-23 14:26:12 +00:00
Joe Farebrother
7b5961769a
Add unit tests for version 5.x
2021-02-23 14:26:12 +00:00
Joe Farebrother
cf58a90d74
Add unit tests for utility methods
2021-02-23 14:26:12 +00:00
Joe Farebrother
e5d624d1e8
Add open redirect sinks
2021-02-23 14:26:12 +00:00
Joe Farebrother
e3fe635004
Add support for httpcomponents 5.x
2021-02-23 14:26:11 +00:00
Joe Farebrother
5bba7f6df7
Add unit tests
2021-02-23 14:26:11 +00:00
Joe Farebrother
da6e9492a0
Model XSS sinks and utility methods
2021-02-23 14:26:11 +00:00
Joe Farebrother
561679611e
Java: Model flow source for apache http requests,
...
Model flow steps for associated getters
Fix rebase conflict
2021-02-23 14:26:11 +00:00
Joe Farebrother
4184ebd091
Java: Add HttpRequestHandler as a remote flow source
2021-02-23 14:26:11 +00:00
Rasmus Wriedt Larsen
fd18fd8403
Python: Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-02-23 15:24:52 +01:00
Rasmus Wriedt Larsen
6e2445cce6
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-02-23 15:19:29 +01:00
Rasmus Wriedt Larsen
42de872bfa
Python: Add INTERNAL annotation to Response::InstanceSource
...
Since we need to reserve the flexibility to change this setup within the next
few months, we don't want to commit to keeping this extension point around for
the 12 months that the normal API deprecation cycle requires.
2021-02-23 15:10:58 +01:00
Rasmus Wriedt Larsen
8ebedf26d2
Python: Add comment for MethodView being known subclass
2021-02-23 15:08:07 +01:00
Anders Schack-Mulligen
b1bed2731d
Merge pull request #5172 from smowton/smowton/feature/commons-strbuilder
...
Java: Add support for commons-lang's StrBuilder class
2021-02-23 14:39:11 +01:00
Asger Feldthaus
c58947d3e6
JS: Refactor Vue::Instance to lead to better join orders
2021-02-23 13:13:59 +00:00
Tom Hvitved
bed66203c1
C#: Use shared SSA implementation for BaseSsa
2021-02-23 14:06:27 +01:00
Tom Hvitved
b0ee508f10
C#: Use shared SSA implementation for PreSsa
2021-02-23 14:06:27 +01:00
Tom Hvitved
d8792f2f7f
C#: Fix bug in BaseSSA::reachesEndOf/3
2021-02-23 14:06:27 +01:00
Taus
53711dc82f
Merge pull request #5238 from RasmusWL/no-flow-default-value
...
Python: Highlight missing flow from default value in functions
2021-02-23 13:27:41 +01:00
CodeQL CI
3f7f963ed5
Merge pull request #5227 from erik-krogh/infTest
...
Approved by asgerf
2021-02-23 04:03:18 -08:00
Erik Krogh Kristensen
539ef49b11
change join order for SystemCommandExecutors - and use ApiGraphs::getACall
2021-02-23 12:49:25 +01:00
Erik Krogh Kristensen
56405f40b0
change join order for summarizedHigherOrderCall
2021-02-23 12:48:24 +01:00
Erik Krogh Kristensen
b3aa358177
outline callee computation - to avoid many joins on getACall
2021-02-23 12:48:20 +01:00
CodeQL CI
2551aace89
Merge pull request #5236 from asgerf/js/html-invalid-attr-name
...
Approved by erik-krogh
2021-02-23 02:03:29 -08:00
Erik Krogh Kristensen
aa6cde2fe0
remove magic from inGuard
2021-02-23 10:03:21 +01:00
Erik Krogh Kristensen
69d6df7834
make globalVarRef non recursive
2021-02-23 10:03:17 +01:00
Erik Krogh Kristensen
06091e5312
cache AstNode::getParent
2021-02-23 09:52:58 +01:00
Erik Krogh Kristensen
b4e6f92505
rearange ArrayIndexingStep to avoid #shared predicate
2021-02-23 09:52:50 +01:00
yo-h
6213c20bc3
Merge pull request #5136 from aschackmull/java/csv-models
...
Java: Add support for framework modelling through csv data.
2021-02-22 19:00:41 -05:00
Robert Marsh
0b2daf7679
C++: filter operands of removed IR instructions
2021-02-22 14:41:21 -08:00
CodeQL CI
73e7b54bf1
Merge pull request #5214 from tausbn/actions-add-change-note-checker
...
Approved by adityasharad
2021-02-22 11:24:51 -08:00
Geoffrey White
362c12caea
Merge pull request #5217 from MathiasVP/model-bsd-sockets-part-3
...
C++: Implement models for poll, accept and select
2021-02-22 18:34:59 +00:00
Jonathan Leitschuh
ad99aa2d76
Fix typo in test output
2021-02-22 13:26:51 -05:00
Owen Mansel-Chan
110f4072fd
Merge pull request #5222 from owen-mc/update-go-supported-frameworks
...
Update supported go frameworks
2021-02-22 15:49:54 +00:00
Owen Mansel-Chan
31d6dbb9da
Update supported go frameworks
2021-02-22 15:38:56 +00:00
Rasmus Wriedt Larsen
e160c855ad
Merge pull request #5233 from yoff/python-for-tuple-iteration
...
Python: `for`-iteration of tuples
2021-02-22 15:28:13 +01:00
luchua-bc
40df01d2cd
Update qldoc and method name
2021-02-22 14:15:41 +00:00
Rasmus Wriedt Larsen
127e778970
Merge pull request #5215 from github/RasmusWL/fix-acronym-style
...
Style Guide: Fix two-letter acronym
2021-02-22 15:05:26 +01:00
Rasmus Wriedt Larsen
5249b54a9b
Python: Highlight missing flow from default value in functions
...
Although it is becoming non-trivial to get an overview of what tests we have and
don't have, I didn't find any that highlighted this one
I used all 3 variants of parameters, just to be sure :)
2021-02-22 14:52:51 +01:00
CodeQL CI
0a0bdcca4d
Merge pull request #5204 from erik-krogh/inGuard
...
Approved by asgerf
2021-02-22 02:52:11 -08:00
Asger F
b8e1987cad
Update javascript/ql/test/query-tests/DOM/HTML/DuplicateAttributes.html
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-02-22 10:08:56 +00:00
Taus Brock-Nannestad
439f9f1d90
Actions: More cleanup
...
Removes the checkout action, as this is no longer needed, and folds
the `grep` into `jq`.
2021-02-22 11:05:54 +01:00
Asger Feldthaus
e964771e9c
JS: Add test
2021-02-22 09:47:21 +00:00
Mathias Vorreiter Pedersen
f908d2f1de
C++: Remove hasTaintFlow from poll and select functions.
2021-02-22 08:54:43 +01:00
Taus Brock-Nannestad
4680b25f23
Actions: Remove dependence on external actions
2021-02-21 15:14:33 +01:00
Rasmus Lerchedahl Petersen
d23a8ad016
Python: elide test output
2021-02-21 13:12:54 +01:00
Rasmus Lerchedahl Petersen
46faba69ff
Python: Fix for-iteration of tuples
2021-02-21 12:41:16 +01:00
Rasmus Lerchedahl Petersen
0aecf33fe6
Python: test iteration through overflow parameters
...
These are in a tuple, so the for-step does not fire
2021-02-21 12:33:04 +01:00
Francis Alexander
45bdb22db8
Switch from sanitizer to tainttracking, formatting and qldoc changes
2021-02-21 16:45:48 +05:30
Artem Smotrakov
43a07bb13a
Better sink in SandboxedJexlFlowConfig
2021-02-20 11:17:51 +01:00
luchua-bc
dc799019d0
Add query for Struts and Spring actions
2021-02-20 03:36:21 +00:00
luchua-bc
3d9ac0d094
Add query for enterprise beans
2021-02-20 02:00:42 +00:00
Asger Feldthaus
e9c0f170a1
JS: Restrict names of extracted HTML attributes
2021-02-19 23:28:28 +00:00
Erik Krogh Kristensen
e6009ea8e0
cache getType
2021-02-19 21:25:48 +01:00
Erik Krogh Kristensen
772e78e386
change TypeInference related join-order in module-import predicates
2021-02-19 21:25:44 +01:00
Mathias Vorreiter Pedersen
576a872316
C++: Address review comments.
2021-02-19 20:24:02 +01:00
Mathias Vorreiter Pedersen
f65843a273
Merge pull request #5221 from geoffw0/cwe676
...
C++: Add CWE-676 tag.
2021-02-19 17:51:54 +01:00
Taus Brock-Nannestad
ca48e57e30
Actions: Peg external actions to specific SHAs
2021-02-19 16:50:08 +01:00
Asger Feldthaus
5264d24f34
JS: Model vue-router
2021-02-19 15:37:24 +00:00
Tamas Vajk
e1b90912de
Limit C# codeql analysis to the csharp folder
2021-02-19 16:13:22 +01:00
Mathias Vorreiter Pedersen
299f371715
C++: Accept more test changes.
2021-02-19 16:01:31 +01:00
Geoffrey White
79338052ad
C++: Add CWE-676 tag.
2021-02-19 14:55:31 +00:00
Rasmus Wriedt Larsen
40c592ab85
Python: Introduce DataFlowOnlyInternalUse to avoid re-evaluation
2021-02-19 15:29:23 +01:00
Mathias Vorreiter Pedersen
4f23c3546f
C++: Don't generate WriteSideEffect instructions for const parameter indirections.
2021-02-19 15:15:51 +01:00
Rasmus Wriedt Larsen
d084261a79
Python: Ignore weak key-sizes from test-code in weak-crypto-key
...
From looking at old results on LGTM.com, this was quite common (and those alerts
doesn't really provide value).
2021-02-19 15:04:41 +01:00
Rasmus Wriedt Larsen
bfc8ead667
Python: Add example of test-code with weak crypto key
2021-02-19 15:04:14 +01:00
Rasmus Wriedt Larsen
dfa223ac6a
Python: Better IntegerLiteral tracking for weak crypto key
2021-02-19 15:03:50 +01:00
Rasmus Wriedt Larsen
a6583345ba
Python: Add weak crypto key example through function call
...
We used to handle this, but no more :(
Adding this example was inspired by looking at results differences
2021-02-19 15:03:49 +01:00
Rasmus Wriedt Larsen
37f0d5a28a
Python: Make KeyGeneration range member overrides final
...
This was the result of an internal dicussion we had about this some time ago.
2021-02-19 15:03:49 +01:00
Rasmus Wriedt Larsen
2a8f720bc6
Python: Port cryptodome models to use API graphs
2021-02-19 15:03:48 +01:00
Rasmus Wriedt Larsen
1eabfbd0e4
Python: Port cryptography models to use API graphs (mostly)
2021-02-19 15:03:47 +01:00
Rasmus Wriedt Larsen
bfbaa85272
Python: Add test of public_key method with cryptodome
...
Added in 3.10 release https://github.com/Legrandin/pycryptodome/blob/master/Changelog.rst#3100-6-february-2021
2021-02-19 15:03:47 +01:00
Rasmus Wriedt Larsen
8d3170bcb4
Python: Fix bad join in crypto models
2021-02-19 15:03:46 +01:00
Rasmus Wriedt Larsen
32d0790500
Python: Use camelCase for RSA/DSA/ECC
...
after asking around, this seems to be the right approach
2021-02-19 15:03:45 +01:00
Rasmus Wriedt Larsen
0e9a54e9a9
Python: Rename WeakCrypto to WeakCryptoKey
...
Since WeakCrypto always makes me think that it's about all weak crypto (like
using MD5, or completely broken ciphers such as ARC4 ro DES) and not just about
weak key generation.
2021-02-19 15:03:44 +01:00
Rasmus Wriedt Larsen
46ad611d57
Python: Port py/weak-crypto-key to use type-tracking
...
instead of points-to.
Looking at query results also made me realize I didn't supply a very good
"origin" for ECC in cryptography package, so I improved that 👍 -- maybe that
sohuld have been split into multiple commits... too late :(
2021-02-19 15:03:43 +01:00
Shati Patel
d490bea9a9
Merge pull request #5211 from shati-patel/docs-telemetry
...
Docs (CodeQL for VS Code): Move info about telemetry into codeql.github.com
2021-02-19 13:59:18 +00:00
Shati Patel
97eb98e9eb
Emphasize that telemetry is disabled by default
2021-02-19 13:42:47 +00:00
Mathias Vorreiter Pedersen
fef824c37a
C++: Implement models for poll, accept and select.
2021-02-19 14:03:54 +01:00
Rasmus Wriedt Larsen
2429c6c450
Python: Rewrite py/weak-crypto-key tests
...
* Removed backend arugment that is not required
* Added DSA constants (they are just accidentially the same as RSA right now)
* Removed FakeWeakEllipticCurve and used a real weak elliptic curve instead
2021-02-19 13:59:19 +01:00
Rasmus Wriedt Larsen
d5ff477644
Python: Add modeling for pycryptodome PyPI package
2021-02-19 13:59:18 +01:00
Rasmus Wriedt Larsen
6e4c627209
Python: Add modeling for pycryptodomex PyPI package
2021-02-19 13:59:17 +01:00
Rasmus Wriedt Larsen
bd40965afe
Python: Add modeling for cryptography PyPI package
2021-02-19 13:59:17 +01:00
Rasmus Wriedt Larsen
1bf9f7d135
Python: Add missing annotations to new crypto tests
2021-02-19 13:59:16 +01:00
Rasmus Wriedt Larsen
11cd0dbbc0
Python: Add concepts for public-key generation
...
I did spend some time to figure out how to best write `minimumSecureKeySize`
predicate. I wanted to write once and for all the recommended sizes for each
cryptosystem.
I considered making the predicate such as
```codeql
int minimumSecureKeySize() {
this.getName() = "RSA" and result = 2048
or
this.getName() = "DSA" and result = 2048
or
this.getName() = "ECC" and result = 244
}
```
but then it would be impossible to add a new model without also being able to
modify the body of this predicate -- which seems like a bad way to start off a
brand new way of modeling things.
So I considered if we could add it to the non-range class, such as
```codeql
class RSAKeyGeneration extends KeyGeneration {
RSAKeyGeneration() { this.getName() = "RSA" }
override int minimumSecureKeySize() { result = 2048 }
}
```
This has the major problem that when you're writing the models for a new
API (and therefore extending KeyGeneration::Range), there is no way for you to
see that you need to take this extra step :| (also problem about how we should
define `minimumSecureKeySize` on `KeyGeneration` class then, since if we make it
abstract, we effectively disable the ability to refine `KeyGeneration` since any
subclass must provide an implementation.)
So, therefore I ended up with this solution ;)
2021-02-19 13:59:16 +01:00
Taus Brock-Nannestad
6095138acc
Actions: Address comments on change note CI check
...
- Fail the CI check if change note is missing.
- Disregards changes outside of `*/ql/src`.
- Runs the workflow on label changes, and upon moving the PR out of
draft mode.
- Only fails the CI check if the PR is out of draft.
- Changes label to `no-change-note-required`.
2021-02-19 13:55:35 +01:00
Rasmus Wriedt Larsen
4ab61bb088
Python: Add a few tests for crypto frameworks
...
Tests working can be verified by running
```
ls ql/python/ql/test/experimental/library-tests/frameworks/crypto*/*.py | xargs -L1 sh -c 'python $0 || exit 255'
```
2021-02-19 13:26:45 +01:00
Felicity Chapman
f9ff1f2c9c
Remove personal assignment
...
This is part of the work to revise the process for requesting docs content team reviews on pull requests.
2021-02-19 11:38:15 +00:00
Rasmus Wriedt Larsen
a19da54c9e
Python: Exclude flask.request imports as RemoteFlowSource
...
When I changed the taint modeling in 19b7ea8d85 , that obviously also means that
some of the related locations for alerts will change. So that's why all the
examples needs to be updated.
Besides this, I had to fix a minor problem with having too many alerts. If
running a query agaisnt code like in the example below, there would be 3 alerts,
2 of them originating from the import.
```
from flask import Flask, request
app = Flask(__name__)
@app.route("/route")
def route():
SINK(request.args.get['input'])
```
The 2 import sources where:
- ControlFlowNode for ImportMember
- GSSA Variable request
I removed these from being a RemoteFlowSource, as seen in the diff.
I considered restricting `FlaskRequestSource` so it only extends
`DataFlow::CfgNode` (and make the logic a bit simpler), but I wasn't actually
sure if that was safe to do or not... If you know, please let me know :)
2021-02-19 12:22:05 +01:00
Rasmus Wriedt Larsen
9798e60d0f
Merge pull request #5203 from tausbn/python-add-typebacktrackers
...
Python: Add `TypeBackTracker`
2021-02-19 12:02:53 +01:00
Rasmus Wriedt Larsen
6ad3ce19d7
Style Guide: Fix two-letter acronym
...
The old text was based on what was in the [Dart guideline](https://dart.dev/guides/language/effective-dart/style#do-capitalize-acronyms-and-abbreviations-longer-than-two-letters-like-words ) and was not adjusted in the PR when we changed our inspiration to be the [.NET guideline](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions ) -- (it was only changed in the examples in our internal discussion)
2021-02-19 11:51:45 +01:00
Anders Schack-Mulligen
9721182523
Merge pull request #5080 from github/RasmusWL/naming-for-acronyms
...
Update CodeQL Style guide to mention acronyms
2021-02-19 11:38:25 +01:00
Taus Brock-Nannestad
03d3f2c8e8
Actions: Add change note checker
2021-02-19 10:16:50 +01:00
Anders Schack-Mulligen
dae65f687a
Merge pull request #5150 from Marcono1234/marcono1234/conditional-expr-branch
...
Java: Add ConditionalExpr.getBranchExpr(boolean)
2021-02-19 10:12:43 +01:00
Bas van Schaik
8f8b8be1e9
Include @xcorail in code reviews for experimental queries
2021-02-18 18:07:09 +00:00
Rasmus Wriedt Larsen
779a464dad
Update ql-style-guide.md to not mention abbreviation
...
This rule is only really intended for acronyms, and not abbreviations in general (like `Stmt` instead of `Statement`).
2021-02-18 17:54:59 +01:00
Rasmus Wriedt Larsen
12511440fe
Update ql-style-guide.md
...
Replacing the HTTP example with a SSA variable example. I didn't want to keep both, to not bloat this section.
2021-02-18 17:52:24 +01:00
Geoffrey White
c4cca83019
Merge pull request #5196 from MathiasVP/fix-dataflow-regression-const-member-function
...
C++: Fix missing dataflow "out of" const member functions
2021-02-18 16:43:38 +00:00
Shati Patel
4dd1be5ba1
Polish headings and formatting
2021-02-18 15:45:17 +00:00
Shati Patel
28848ecf32
Link to new article
2021-02-18 15:44:17 +00:00
Erik Krogh Kristensen
814b5577f5
improve join-order for Configuration::barrierGuardBlocksEdge
2021-02-18 16:43:43 +01:00
Erik Krogh Kristensen
33f310b91e
use manual recursion in Refinements::inGuard
2021-02-18 16:42:40 +01:00
CodeQL CI
f81860c402
Merge pull request #5200 from erik-krogh/apiJoin
...
Approved by max-schaefer
2021-02-18 07:40:38 -08:00
CodeQL CI
3062f4160a
Merge pull request #5207 from github/RasmusWL/js-backtrack-grammar
...
Approved by erik-krogh
2021-02-18 07:11:23 -08:00
Rasmus Wriedt Larsen
cc72fc82f0
Merge branch 'main' into flask-clean-models
2021-02-18 16:08:18 +01:00
Rasmus Wriedt Larsen
9a42f2fb26
Python: Add missing QLdoc for FlaskMethodViewClass
2021-02-18 16:07:47 +01:00
Taus Brock-Nannestad
880451f659
Python: Add change note
2021-02-18 15:59:34 +01:00
Chris Smowton
321df82851
Apply review feedback: comment style, bracketing, and use proper MISSING test annotations
2021-02-18 14:56:52 +00:00
Taus
e9cbdc4ad3
Update python/ql/src/semmle/python/dataflow/new/TypeTracker.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-02-18 15:53:15 +01:00
Rasmus Wriedt Larsen
bb2613b02b
Python: Flask model now ready to be publicly exposed
...
With a single call-out for a member-predicate that is only for internal use.
2021-02-18 15:36:30 +01:00
Rasmus Wriedt Larsen
35876f1939
Python: Re-introduce Response::instance() in flask model
...
We don't actually need it for anything right now, but I have plans for the
future where would need it.
Although it would be nice to have it as an `API::Node`, and we could re-write
implementations so we could provide it in this instance, I'm not convinced we
can do that in general right now.
For example, if <n'th> parameter of a function has to be modeled as belonging to
a certain type, I don't see any way to specify that as an API::Node.
For me, that's ok. Until we _can_ specify things like this as API::Nodes in the
future, I would like to keep things consistent, and use `DataFlow::Node` as the
result type.
2021-02-18 15:22:16 +01:00
Rasmus Wriedt Larsen
141e2665ea
Python: Align ViewClass naming with django
...
Just as part of tyding up
2021-02-18 15:10:21 +01:00
Shati Patel
48ace064cc
Copy telemetry doc
...
No changes except for rst formatting
2021-02-18 14:09:36 +00:00
Rasmus Wriedt Larsen
19b7ea8d85
Python: Align flask taint modeling with rest of code
...
This was a good time to do this, so we don't have 2 different ways of doing the
same thing.
I needed to do this to figure out if we should expose
`API::moduleImport("flask").getMember("request")` in a helper predicate or
not. I think I ended up using more refenreces to this in the end. Although it's
not unreasonable to let someone do this themselves, I also think it's reasonable
that we provide a helper predicate for this.
2021-02-18 15:04:07 +01:00
Tamás Vajk
f3814c6468
Merge pull request #5144 from tamasvajk/feature/refactor-2
...
C# Share entity base classes between CIL and source extraction
2021-02-18 13:52:52 +01:00
Tamás Vajk
8e7a823b9a
Merge pull request #5083 from raulgarciamsft/master
...
Adding queries related to the Solorigate campaign
2021-02-18 13:50:45 +01:00
Anders Schack-Mulligen
954e0b9496
Java: Add empty file to test.
2021-02-18 13:10:29 +01:00
Rasmus Wriedt Larsen
ba61099172
Python: flask.make_response as InstanceSource of flask.Response
2021-02-18 12:52:59 +01:00
Rasmus Wriedt Larsen
e3d530dbbc
Python: Flask: Remove more type-tracking helper predicates
2021-02-18 12:13:47 +01:00
Rasmus Wriedt Larsen
e4ea5f25dc
Python: Flask: Moderize app and blueprint
2021-02-18 12:09:37 +01:00
Rasmus Wriedt Larsen
7de488b987
Python: Flask: Moderize views
2021-02-18 12:05:56 +01:00
Rasmus Wriedt Larsen
ffd3c6b016
JS: Minor grammar cleanup of type back-tracking
2021-02-18 11:31:30 +01:00
Anders Schack-Mulligen
74d35f4f37
Java: Add support for value-preserving steps.
2021-02-18 11:26:15 +01:00
Anders Schack-Mulligen
04eeeda2c9
Java: Add documentation for the final column.
2021-02-18 11:23:49 +01:00
Anders Schack-Mulligen
6f583baa90
Java: More documentation and support for field writes.
2021-02-18 11:18:31 +01:00
CodeQL CI
d94f20ff2f
Merge pull request #5194 from RasmusWL/type-tracking-snippets
...
Approved by tausbn
2021-02-18 02:13:21 -08:00
haby0
8119fd2ad1
*)add JsonHijacking ql query
2021-02-18 18:11:10 +08:00
Mathias Vorreiter Pedersen
88263cb89e
Merge pull request #5114 from geoffw0/codeqltestdoc
...
Documentation: Make our policy for copied example code clear and visible.
2021-02-18 10:43:17 +01:00
Erik Krogh Kristensen
6f384630f1
Apply suggestions from code review
...
Co-authored-by: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2021-02-18 10:36:49 +01:00
Mathias Vorreiter Pedersen
3082d70345
Merge branch 'main' into fix-dataflow-regression-const-member-function
2021-02-18 09:34:51 +01:00
luchua-bc
e916ce8b9b
Exclude test directories of typical build tools
2021-02-18 00:50:38 +00:00
Taus Brock-Nannestad
23e9785efd
Python: Add missing QLDoc
2021-02-17 21:38:48 +01:00
Erik Krogh Kristensen
f4e6f49ae7
change join order for API::Impl::trackDefNode
2021-02-17 21:23:11 +01:00
Erik Krogh Kristensen
dcef6cb974
change join order for API::InvokeNode::getParameter
2021-02-17 21:23:11 +01:00
Erik Krogh Kristensen
c80365c48a
change join order for API::Impl::useStep
2021-02-17 21:23:11 +01:00
Taus Brock-Nannestad
99f3a61f61
Python: Add TypeBackTracker
...
This is a fairly straight port of the JS equivalent. Also adds
`Node::getALocalSourceNode` which seems like it might come in handy.
2021-02-17 21:14:20 +01:00
CodeQL CI
8716cbd7ee
Merge pull request #5140 from erik-krogh/mark
...
Approved by asgerf
2021-02-17 11:50:11 -08:00
Raul Garcia (MSFT)
cba9f421ad
Changes to the Readme file
2021-02-17 10:05:22 -08:00
luchua-bc
5e36eedcb6
Add check for test packages
2021-02-17 18:04:55 +00:00
Erik Krogh Kristensen
4df85b44de
Update javascript/change-notes/2021-02-10-markdown.md
...
Co-authored-by: Asger F <asgerf@github.com >
2021-02-17 18:30:31 +01:00
Cornelius Riemenschneider
ebcecca9f1
Merge pull request #5157 from geoffw0/modelsbsl2
...
C++: Improve Iterator models
2021-02-17 18:04:07 +01:00
Jonathan Leitschuh
c43765917f
Fix formatting of MavenPom.qll
2021-02-17 11:55:10 -05:00
CodeQL CI
a81592dbd1
Merge pull request #5111 from asgerf/js/angular-framework-note
...
Approved by erik-krogh
2021-02-17 08:48:00 -08:00
Taus
593a96ffbb
Merge pull request #5182 from RasmusWL/update-supported-python-frameworks-docs
...
Docs: Update list of support frameworks in Python
2021-02-17 17:44:18 +01:00
CodeQL CI
3e1d2c3f81
Merge pull request #5198 from RasmusWL/revert-structure-change
...
Approved by tausbn
2021-02-17 08:36:04 -08:00
Rasmus Wriedt Larsen
4880350420
Python: Add a single missing QLDoc
2021-02-17 16:33:12 +01:00
Rasmus Wriedt Larsen
7afe3972d8
Revert "Merge pull request #5171 from RasmusWL/restructure-queries"
...
This reverts commit 8caafb3710 , reversing
changes made to ec79094957 .
2021-02-17 16:32:53 +01:00
Erik Krogh Kristensen
bc4ff813f3
Merge pull request #5193 from erik-krogh/aceLog
...
JS: avoid cartesian product in isFilteredPropertyName
2021-02-17 16:27:33 +01:00
Rasmus Wriedt Larsen
63a09fccdd
Python: Use this = <...>.getACall() for DataFlow::CallCfgNode
...
I think this reads a bit cleaner
2021-02-17 14:43:48 +01:00
Mathias Vorreiter Pedersen
908f24d23f
C++: Fix missing AST flow.
2021-02-17 14:33:58 +01:00
Francis Alexander
2baf2aa5c1
Apply suggestions from code review - improved sanitizer checks.
...
Co-authored-by: Alvaro Muñoz <pwntester@github.com >
2021-02-17 18:58:32 +05:30
Francis Alexander
40f4e71b86
Merge branch 'main' into cwe-346
2021-02-17 18:55:31 +05:30
Anders Schack-Mulligen
862c41632e
Java: Add empty file to test.
2021-02-17 13:23:18 +01:00
Taus
ce1d8ded22
Merge pull request #5192 from RasmusWL/framework-for-routed-params
...
Python: Expose framework identifier for route-setup and request handler
2021-02-17 13:19:43 +01:00
Rasmus Wriedt Larsen
0cdb5c48cf
Python: Remove type-tracking snippets for framework modeling
...
We won't need these anymore, since we can now use API graphs
2021-02-17 13:14:23 +01:00
Rasmus Wriedt Larsen
a4de88d39c
Python: Update type-tracking snippet
...
based on what I learned in https://github.com/github/codeql/pull/5184
2021-02-17 13:13:25 +01:00
Erik Krogh Kristensen
a03507a544
avoid cartesian product in isFilteredPropertyName
2021-02-17 13:12:35 +01:00
Mathias Vorreiter Pedersen
e0dca2be20
Merge pull request #5185 from MathiasVP/block-integral-types-in-cgixss-query
...
C++: Add isBarrier to cpp/cgi-xss
2021-02-17 12:44:45 +01:00
Rasmus Wriedt Larsen
eee49cde85
Merge pull request #5184 from tausbn/python-move-type-tracker-tests-to-source-nodes
...
Python: Use `LocalSourceNode` in type tracker tests
2021-02-17 12:13:47 +01:00
Taus
8caafb3710
Merge pull request #5171 from RasmusWL/restructure-queries
...
Python: Restructure query file layout
2021-02-17 12:09:32 +01:00
Geoffrey White
ec79094957
Merge pull request #5191 from MathiasVP/regression-test-const-member-function
...
C++: Add test for missing flow due to const specifier
2021-02-17 10:59:20 +00:00
Mathias Vorreiter Pedersen
25beadcb05
Update cpp/ql/test/query-tests/Security/CWE/CWE-079/semmle/CgiXss/search.c
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-02-17 11:54:24 +01:00
Geoffrey White
c07a60818c
C++: Simplify IteratorAssignArithmeticOperator.
2021-02-17 10:49:28 +00:00
Mathias Vorreiter Pedersen
e1c4406fd4
Merge pull request #5187 from geoffw0/modelsbsl5
...
C++: Support BSL in Allocation.qll, Deallocation.qll.
2021-02-17 11:48:53 +01:00
Mathias Vorreiter Pedersen
6db75df943
Merge pull request #5186 from geoffw0/modelsbsl4
...
C++: More models work
2021-02-17 11:46:23 +01:00
Francis Alexander
58971f9f4e
Switch qualified name to available CollectionType
2021-02-17 16:01:27 +05:30
Rasmus Wriedt Larsen
cf9ad0cdc5
Python: Move ExternalAPI queries back under Security
...
This was raised as a question at review, and I don't really have a good enough
argument for moving it under POI. At the end of the day, they are _security_
related enough I guess :)
2021-02-17 11:29:33 +01:00
Rasmus Wriedt Larsen
dec026a820
Python: Fix security qlref to have single empty line
2021-02-17 11:26:02 +01:00
Rasmus Wriedt Larsen
1adb510578
Python: Add a single missing QLDoc
2021-02-17 11:24:11 +01:00
Mathias Vorreiter Pedersen
1b148c4c90
C++: Add reduced testcase demonstrating the problem in codeql-c-analysis-team/issues/231.
2021-02-17 11:20:00 +01:00
Rasmus Wriedt Larsen
2927d888cf
Python: Fix location of PathInjection tests
2021-02-17 11:20:00 +01:00
Mathias Vorreiter Pedersen
f5d5460dde
C++: Fix testcase.
2021-02-17 10:53:31 +01:00
Chris Smowton
c700d004e0
Commons Lang/Text StrBuilder: propagate taint from constructors
2021-02-17 09:51:28 +00:00
Chris Smowton
c243e03133
Lang3 StrBuilder: fix typo and coding style
2021-02-17 09:50:56 +00:00
Erik Krogh Kristensen
408ac2729d
Merge pull request #5066 from CaptainFreak/express-hbs-lfr
...
JS: add query for Express-HBS LFR
2021-02-17 10:41:38 +01:00
Chris Smowton
10112c50ab
Add support for StrBuilder and TextStringBuilder in commons-text
...
These are identical to the current deprecated StrBuilder in commons-lang3.
2021-02-17 09:36:28 +00:00
Chris Smowton
714611f803
Address review feedback
2021-02-17 09:36:21 +00:00
Chris Smowton
a63f18e49d
Add models for Commons-Lang's StrBuilder class. These exclude its fluent methods for the time being, which will be added in a forthcoming PR.
2021-02-17 09:36:20 +00:00
Anders Schack-Mulligen
5188ad1444
Merge pull request #5126 from smowton/smowton/feature/commons-stringutils
...
Java: Add support for Apache Commons Lang StringUtils
2021-02-17 09:48:22 +01:00
Francis Alexander
520ba47293
Sanitizer improvements from code review
2021-02-17 08:35:50 +05:30
Robert Marsh
6aeec5872d
Merge branch 'main' into rdmarsh2/cpp/operand-reuse
2021-02-16 15:42:58 -08:00
Rasmus Wriedt Larsen
d98aae9fc1
Python: Expose framework identifier for route-setup and req handler
...
This makes collecting metrics on framework coverage a bit simpler (specifically
giving the RoutedParameter class a more descriptive result for getSourceType).
I guess it can also help a bit when trying to get an overview of a new DB, but
making metrics collection easier is my main motivation for this.
2021-02-16 23:44:03 +01:00
Geoffrey White
3323683ab2
C++: Support BSL in Allocation.qll, Deallocation.qll.
2021-02-16 19:19:06 +00:00
Sauyon Lee
8db234f5f3
Merge pull request #5092 from github/sauyon-patch-1
...
Add GoKit to Go supported library list
2021-02-16 11:04:43 -08:00
Geoffrey White
d068ede65b
Merge pull request #5180 from criemen/bsl-stdcontainer
...
C++: Refactor StdContainer.qll.
2021-02-16 18:53:08 +00:00
Geoffrey White
58230d6d0a
C++: Model BSL in Fread.qll.
2021-02-16 18:00:51 +00:00
Mathias Vorreiter Pedersen
fa44cedd38
C++: Add isBarrier to CgiXss.ql.
2021-02-16 18:58:28 +01:00
Geoffrey White
e17d539883
C++: Model BSL in Getenv.qll.
2021-02-16 17:56:48 +00:00
Taus
36be72972d
Merge pull request #2663 from tausbn/python-type-annotation-reuse-fp
...
Python: Add false positive test example for issue #2652 .
2021-02-16 18:46:15 +01:00
Taus Brock-Nannestad
04eb0c774c
Python: Use LocalSourceNode in type tracker tests
...
One minor change to the tests results needed: there is no longer local
flow going into the `ModuleVariableNode` for `attr_ref` in the
`moduleattr.ql` test, but I think this is reasonable.
2021-02-16 18:25:54 +01:00
Geoffrey White
735e014b43
C++: Model BSL in Gets.qll.
2021-02-16 17:22:59 +00:00
Cornelius Riemenschneider
f7f8dd49c6
Merge pull request #5156 from geoffw0/modelsbsl
...
C++: Improve StdSet and StdPair models
2021-02-16 18:00:23 +01:00
Cornelius Riemenschneider
3fb42194a5
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-02-16 17:58:45 +01:00
Geoffrey White
92df1f7a3d
Merge pull request #5165 from criemen/bsl-model-identity
...
C++: Refactor IdentityFunction.qll.
2021-02-16 16:32:57 +00:00
Taus
9499edf761
Merge pull request #5078 from RasmusWL/flask-blueprints
...
Python: Add modeling of Flask blueprints
2021-02-16 17:22:13 +01:00
Geoffrey White
c32e54e902
Merge pull request #5176 from criemen/bsl-smartptr
...
BSL support for smart pointers and other std classes.
2021-02-16 16:21:50 +00:00
Jonathan Leitschuh
a8167c6c9c
Add docstring for DeclaredRepository.getUrl
2021-02-16 11:21:19 -05:00
Cornelius Riemenschneider
173b16ae21
Merge pull request #5169 from criemen/bsl-pure
...
C++: Model bsl functions in Pure.qll.
2021-02-16 17:19:11 +01:00
Cornelius Riemenschneider
80eaf0b67a
Merge pull request #5174 from criemen/bsl-str
...
Model bsl functions in Str*.qll
2021-02-16 17:18:40 +01:00
Cornelius Riemenschneider
f087ff3e49
Merge pull request #5167 from criemen/bsl-memset
...
C++: Refactor Mem*.qll and include bsl model.
2021-02-16 17:18:29 +01:00
Cornelius Riemenschneider
a04883cafc
C++: Fix compilation.
2021-02-16 16:17:59 +00:00
Cornelius Riemenschneider
552f0a7c5e
C++: Address review.
2021-02-16 15:55:41 +00:00
Chris Smowton
a2eeffa9c0
Add support for Apache Commons Lang StringUtils
2021-02-16 14:48:39 +00:00
Chris Smowton
bf03c0f419
Port InlineExpectationsTest for the Java analysis
2021-02-16 14:48:39 +00:00
Rasmus Wriedt Larsen
bc8e61366b
Python: Clarify comment about flask blueprint URL prefixes
2021-02-16 15:29:25 +01:00
Rasmus Wriedt Larsen
1e1cb87436
Python: Model flask blueprints
2021-02-16 15:26:51 +01:00
luchua-bc
e698ee77f7
Update qldoc and test method
2021-02-16 14:11:39 +00:00
Rasmus Wriedt Larsen
b7ea469e26
Python: Add tests for flask blueprints
2021-02-16 15:03:00 +01:00
Rasmus Wriedt Larsen
bf401c7498
Merge pull request #5103 from tausbn/python-port-flask-to-api-graphs
...
Python: Port Flask models to use API graphs
2021-02-16 15:00:46 +01:00
Rasmus Wriedt Larsen
4b9e37f62d
Docs: Update list of support frameworks in Python
...
So it follows what is we actually support with 6eafa9d396/python/ql/src/semmle/python/Frameworks.qll
2021-02-16 14:37:11 +01:00
Rasmus Wriedt Larsen
8494fcf45f
Python: Move query tests to reflect new file layout
2021-02-16 13:15:01 +01:00
Anders Schack-Mulligen
6eafa9d396
Merge pull request #5133 from pwntester/fix_SnakeYaml
...
Remove sanitizing condition which does not prevent vulnerability.
2021-02-16 12:58:47 +01:00
Cornelius Riemenschneider
434a5f04ed
Merge branch 'bsl-memcpy' into bsl-memset
2021-02-16 11:56:40 +00:00
Cornelius Riemenschneider
3f17171f13
C++: Address review.
2021-02-16 11:55:03 +00:00
Cornelius Riemenschneider
30659f3ecf
C++: Address review.
2021-02-16 11:54:21 +00:00
Cornelius Riemenschneider
a42700f09e
C++: Address review.
2021-02-16 11:52:39 +00:00
Cornelius Riemenschneider
5dc57e9cc2
C++: Address review.
2021-02-16 11:49:44 +00:00
Cornelius Riemenschneider
b25f1fd44a
C++: Address review.
2021-02-16 11:37:43 +00:00
Geoffrey White
b309b711ab
Merge pull request #5173 from criemen/bsl-swap
...
C++: Model bsl functions in Swap.qll.
2021-02-16 11:20:41 +00:00
Cornelius Riemenschneider
86268d49ed
C++: Refactor StdContainer.qll.
2021-02-16 11:10:57 +00:00
Rasmus Wriedt Larsen
1d6f9bee08
Python: Update qlrefs
2021-02-16 11:48:36 +01:00
Francis Alexander
8e83de1c05
formatting and grammar corrections from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-02-16 16:13:21 +05:30
Rasmus Wriedt Larsen
3a18881660
Python: Restructure query file location
...
Since I can never remember the CWE numbers
2021-02-16 11:36:10 +01:00
Francis Alexander
0f7f465675
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-02-16 15:48:00 +05:30
haby0
2c96e6cf96
Merge remote-tracking branch 'upstream/main' into main
2021-02-16 17:54:01 +08:00
Geoffrey White
04f15ad43a
C++: BSL support in StdPairConstructor.
2021-02-16 09:49:09 +00:00
Tamas Vajk
a75b952333
Fix Type.GetQualifiedName()
2021-02-16 09:13:13 +01:00
Tamas Vajk
199e937e9e
C#: Rename CachedEntity.symbol to Symbol
2021-02-16 09:13:12 +01:00
Tamas Vajk
67289a498f
Share entity base classes between CIL and source extraction
2021-02-16 09:10:24 +01:00
Tamas Vajk
e7853cc3a0
Simplify TypeContainer class
2021-02-16 09:10:24 +01:00
Tamas Vajk
67caf3cad0
Remove redundant IEntity implemented interface declaration and explit interface member implemenration
2021-02-16 09:10:24 +01:00
Tamas Vajk
61e952766c
Convert CIL.GenericContext to interface
2021-02-16 09:10:24 +01:00
Tamas Vajk
3e2a6fca21
C#: Simplify CIL.GenericContext contract
2021-02-16 09:10:24 +01:00
Tamás Vajk
1c2b9f9a82
Merge pull request #4669 from tamasvajk/feature/csharp9-global-stmt
...
C#: Extract global statements
2021-02-16 09:07:48 +01:00
luchua-bc
5ce3af0591
Enhance the query and update qldoc
2021-02-15 21:38:54 +00:00
Tamas Vajk
9c2ca93986
Use 'Declaration::hasQualifiedName/2' in 'MainMethod'
2021-02-15 21:38:02 +01:00
Tamas Vajk
9bb501c595
Fix failing tests
2021-02-15 21:30:56 +01:00
Francis Alexander
dae6771a19
test file name changes
2021-02-15 23:17:08 +05:30
Francis Alexander
c45be91d6f
more filename changes
2021-02-15 23:09:11 +05:30
Francis Alexander
0004efc2ac
filename changes
2021-02-15 22:43:39 +05:30
Mathias Vorreiter Pedersen
eb8309a17d
Merge pull request #5175 from github/igfoo/thethe
2021-02-15 18:09:32 +01:00
Francis Alexander
f32c77c266
Qldoc and formatting changes
2021-02-15 22:35:58 +05:30
luchua-bc
2f17943abc
Update qldoc
2021-02-15 16:58:09 +00:00
Tamas Vajk
4967664d09
Rework global statement extraction without DB scheme change
2021-02-15 17:47:33 +01:00
Tamas Vajk
a14db7a04f
Fix code review findings
2021-02-15 17:47:33 +01:00
Tamas Vajk
423fee3069
Fix argument location of top level statement entry point
2021-02-15 17:47:32 +01:00
Tamas Vajk
b79d5ab44b
Fix labeled stmt factory method parameter types
2021-02-15 17:44:44 +01:00
Tamas Vajk
6a4b54ec89
C#: Extract global statements
2021-02-15 17:44:44 +01:00
Cornelius Riemenschneider
4a07912006
C++: Small code improvement.
2021-02-15 16:36:49 +00:00
Cornelius Riemenschneider
595bb025f9
C++: Model bsl functions in StdMap.qll.
2021-02-15 16:34:07 +00:00
Tamas Vajk
8c4563b7e3
Code quality improvements
2021-02-15 17:27:33 +01:00
Marcono1234
9e2812cbd5
Sync ConditionalExpr changes with csharp
2021-02-15 17:24:56 +01:00
Tamás Vajk
d1fe542280
Merge pull request #5131 from tamasvajk/feature/refactor
...
C# Cleanup and refactoring
2021-02-15 17:24:25 +01:00
Cornelius Riemenschneider
b6b90b59eb
C++: Model bsl functions in SmartPointer.qll.
2021-02-15 16:22:52 +00:00
Cornelius Riemenschneider
d9c6f7bc35
C++: Model bsl functions in Scanf.qll.
2021-02-15 16:12:46 +00:00
Cornelius Riemenschneider
b670e5b04b
C++: Model bsl functions in Printf.qll.
2021-02-15 16:12:35 +00:00
haby0
92c00cb741
Update java/ql/src/Security/CWE/CWE-652/XQueryInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-02-16 00:09:21 +08:00
Ian Lynagh
ba6e6337f3
C++: Fix TopLevelFunction's qldoc
2021-02-15 16:08:03 +00:00
haby0
f1e44bce4a
Update java/ql/src/Security/CWE/CWE-652/XQueryInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-02-16 00:07:44 +08:00
Cornelius Riemenschneider
fd2e0292c3
C++: Model bsl functions in Strtok.qll.
2021-02-15 16:00:37 +00:00
Tom Hvitved
bb95b8a0cc
Merge pull request #5120 from rvermeulen/rvermeulen/redirect-sink
...
C#: Add Asp.Net Core redirect sinks
2021-02-15 16:52:32 +01:00
Jonathan Leitschuh
d82e8216ed
Merge branch 'main' into feat/JLL/depricated_bintray_usage
2021-02-15 10:48:28 -05:00
Cornelius Riemenschneider
fd91a972a5
C++: Model bsl functions in Strcpy.qll.
2021-02-15 15:43:31 +00:00
Cornelius Riemenschneider
9d19752d9a
C++: Model bsl functions in Strcat.qll.
2021-02-15 15:42:34 +00:00
Cornelius Riemenschneider
3afe934a05
C++: Model bsl functions in Swap.qll.
2021-02-15 15:40:17 +00:00
Cornelius Riemenschneider
28d5ef919c
Merge pull request #5158 from geoffw0/modelsbsl3
...
C++: StdString BSL support
2021-02-15 16:32:30 +01:00
Jonathan Leitschuh
73fba3a3c0
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-02-15 10:01:03 -05:00
Tamas Vajk
f878453f14
Fix performance issue with RecordCloneCallable
2021-02-15 15:49:06 +01:00
luchua-bc
a03e6faf37
Optimize the query and update qldoc
2021-02-15 14:10:17 +00:00
Anders Schack-Mulligen
8f5fe14e52
Merge pull request #5170 from pwntester/ArrayUtils_changeNote
...
add change note for new ArrayUtils support
2021-02-15 15:00:15 +01:00
Alvaro Muñoz
3d3f4ba797
add change note
2021-02-15 14:53:16 +01:00
Alvaro Muñoz
923e1c5e9b
add change note for new ArrayUtils support
2021-02-15 14:41:18 +01:00
Rasmus Wriedt Larsen
1961ec6e8d
Merge pull request #5159 from tausbn/python-unknown-argument-in-format-string-fp
...
Python: Add FP test for unknown argument in string format
2021-02-15 14:39:10 +01:00
Rasmus Wriedt Larsen
69e081e897
Python: Apply code-review suggestion
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-02-15 14:38:20 +01:00
Taus
2ca12aa612
Update python/ql/src/semmle/python/dataflow/new/internal/DataFlowPublic.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-02-15 14:21:12 +01:00
Taus Brock-Nannestad
27c479a8ba
Python: Limit RequestInputAccess to immediate uses
...
This fixes some spurious results that occurred when we considered
_any_ use of `request.something` to be a source, even ones we had
tracked into other functions. To prevent this, using
`getAnImmediateUse` better captures the fact that we want the source
to be just the actual attribute access.
2021-02-15 13:51:29 +01:00
Anders Schack-Mulligen
b9a479dd31
Merge pull request #5134 from pwntester/ArrayUtils
...
Add support for Apache Commons Lang ArrayUtils
2021-02-15 13:50:01 +01:00
Mathias Vorreiter Pedersen
1c91d3dbe0
Merge pull request #5168 from MathiasVP/model-bsd-sockets-part-2
...
C++: Model vector versions of BSD-style reads and writes.
2021-02-15 13:39:08 +01:00
Cornelius Riemenschneider
c9af97b742
C++: Model bsl functions in Pure.qll.
2021-02-15 12:31:16 +00:00
CodeQL CI
b5143dbdb4
Merge pull request #5117 from erik-krogh/parseForm
...
Approved by asgerf
2021-02-15 04:30:59 -08:00
Cornelius Riemenschneider
79e3bf80c3
C++: Simplify code.
2021-02-15 12:13:25 +00:00
Cornelius Riemenschneider
da38377e36
C++: Simplify code.
2021-02-15 12:12:29 +00:00
Cornelius Riemenschneider
2a3d20d9a9
C++: Refactor Memset.qll and include bsl model.
2021-02-15 12:36:18 +01:00
Erik Krogh Kristensen
74ce7369f8
Update javascript/change-notes/2021-02-09-form-parsers.md
...
Co-authored-by: Asger F <asgerf@github.com >
2021-02-15 12:35:16 +01:00
Cornelius Riemenschneider
a9071a62a0
C++: Refactor Memcpy.qll and include bsl model.
2021-02-15 12:15:17 +01:00
Mathias Vorreiter Pedersen
0f9b044814
C++: Model vector versions of BSD-style reads and writes.
2021-02-15 12:04:51 +01:00
Erik Krogh Kristensen
e5db0ef16b
remove the RequestExpr requirement from FormParsers.qll, and use API graphs.
2021-02-15 11:58:26 +01:00
Cornelius Riemenschneider
f79b3144e3
C++: Refactor IdentityFunction.qll.
2021-02-15 11:31:31 +01:00
CodeQL CI
9b8d94d76e
Merge pull request #5148 from erik-krogh/apollo
...
Approved by esbena
2021-02-15 02:23:52 -08:00
Alvaro Muñoz
00a0b12dad
update expected results
2021-02-15 11:23:40 +01:00
Alvaro Muñoz
812884341b
Merge branch 'ArrayUtils' of github.com:pwntester/codeql-1 into ArrayUtils
2021-02-15 10:59:49 +01:00
Alvaro Muñoz
504d119749
adjust max parameter number
2021-02-15 10:58:17 +01:00
Rasmus Wriedt Larsen
745148474a
Python: Model get_redirect_url in django
2021-02-15 10:55:52 +01:00
Rasmus Wriedt Larsen
6934d5e642
Python: Add django test of RedirectView subclass
2021-02-15 10:55:51 +01:00
Rasmus Wriedt Larsen
79855157b3
Python: Move django response test to django v2/v3
...
That's really the django version I care about :P
2021-02-15 10:55:50 +01:00
Alvaro Muñoz
c7072aef16
update A.java test
2021-02-15 10:34:20 +01:00
Jonas Jensen
f0ce524c0d
Merge pull request #5147 from MathiasVP/model-bsd-sockets-part-1
...
C++: Add models for BSD-style send and recv functions
2021-02-15 10:34:11 +01:00
Tamas Vajk
2de7fbe062
Fix build after rebase
2021-02-15 10:18:12 +01:00
Tamas Vajk
6cc858b9ef
Move AstLineCounter to top level class
2021-02-15 10:17:08 +01:00
Tamas Vajk
4f693be33b
Move location creation to instance method on context
2021-02-15 10:17:08 +01:00
Tamas Vajk
6f07230725
Relocate 'AstLineCounter'
2021-02-15 10:17:07 +01:00
Tamas Vajk
1cd7fd6cf7
Simplify 'AstLineCounter'
2021-02-15 10:17:07 +01:00
Tamas Vajk
e8fd6e1112
Move classes to seperate files
2021-02-15 10:17:07 +01:00
Tamas Vajk
5ce5a96cb6
Remove 'ContextExtensions'
2021-02-15 10:17:07 +01:00
Tamas Vajk
9ddeff80bf
Remove useless 'IExtractor' interface
2021-02-15 10:17:07 +01:00
Tamas Vajk
6cdec2d30e
C#: Remove 'extractor.CreateContext' factory method
2021-02-15 10:17:07 +01:00
Tamas Vajk
fc3e6526ce
C#: Remove IExtractionScope.FromSource
2021-02-15 10:17:07 +01:00
Tamas Vajk
a75306acbd
C#: Remove warnings from MdProvider
2021-02-15 10:17:07 +01:00
Tamas Vajk
1a4f370d15
C#: Fix formatting issues
2021-02-15 10:17:07 +01:00
Anders Schack-Mulligen
7e83a608a2
Merge pull request #4954 from aschackmull/java/member-hasqualifiedname
...
Java: Add Member.hasQualifiedName.
2021-02-15 10:02:13 +01:00
Erik Krogh Kristensen
91f277681a
fix typo in ApolloClientRequest
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-02-15 09:59:04 +01:00
Anders Schack-Mulligen
161e756c4b
Merge pull request #5141 from github/yo-h/java-flow-check-fix
...
Java: prepare to enforce additional compiler checks in test code
2021-02-15 09:41:03 +01:00
Francis Alexander
409d95c522
Sanitizer checks to decrease FP
2021-02-15 14:01:14 +05:30
luchua-bc
23f620d255
Query to detect insecure LDAP endpoint configuration
2021-02-15 05:31:29 +00:00
yo-h
1d007b6e72
Java: delete two test cases as per code review
2021-02-14 21:42:58 -05:00
Rasmus Wriedt Larsen
2478a9f10e
Python: Fix wording of change-note
2021-02-14 23:20:46 +01:00
luchua-bc
6a6727fc80
Reduce the scope of the query to reduce FPs
2021-02-14 15:01:06 +00:00
CodeQL CI
178c54e69b
Merge pull request #5139 from RasmusWL/django-improvements
...
Approved by yoff
2021-02-14 02:16:52 -08:00
Tamas Vajk
4cc9bc9bf0
Add new .stats file
2021-02-13 16:21:45 +01:00
Raul Garcia (MSFT)
782f4bc3e2
Fixing shared .qhelp issue (renaming to .qhelp.inc)& addressing a fix
2021-02-12 13:38:55 -08:00
Marcono1234
7a6db061b5
Address review feedback
2021-02-12 20:15:10 +01:00
Tamas Vajk
cb9116028c
Add change note for 'with' expression extraction
2021-02-12 20:04:22 +01:00
Tamas Vajk
10e99203e8
Add DB upgrade folder for 'with' expression
2021-02-12 19:59:14 +01:00
Tamas Vajk
7761774f88
Add record .ctor to property data flow summary
2021-02-12 19:54:52 +01:00
Tom Hvitved
6a6644b5c2
C#: Adjust data-flow for with expressions
...
In `x with { Foo = bar }`, instead of having a single data-flow step
`x => x with { Foo = bar }`
we now have two steps:
`x => { Foo = bar }`
and
`{ Foo = bar } => x with { Foo = bar }`
Moreover, `clearsContent` now targets the object initializer instead of the
whole `with` expression, which means that it will only apply to values carried
over from the old object and not those explicitly stored into the new object.
2021-02-12 19:54:52 +01:00
Tamas Vajk
dd9b1d52b5
C#: Initial data-flow for with expressions
2021-02-12 19:54:52 +01:00
Tamas Vajk
b2b4c9ecd6
C#: Extract 'with' expressions
2021-02-12 19:54:52 +01:00
Tamás Vajk
77af7edaa4
Merge pull request #4628 from tamasvajk/feature/csharp9-foreach
...
C#: Extract underlying methods of foreach statements
2021-02-12 19:53:26 +01:00
Taus Brock-Nannestad
2632422783
Python: Add FP test for unknown argument in string format
...
Reported in https://github.com/github/codeql/issues/2650
I found this during a bit of spring cleaning in my working
directory. As this doesn't have any immediate security implications, I
don't know when we'll get round to fixing it, but it can't hurt to
have the test case checked in.
2021-02-12 19:28:12 +01:00
Erik Krogh Kristensen
4fa33b151f
Merge pull request #5146 from github/more-redos-tests
...
JS: add two non ReDoS regular expressions to the ReDoS test suite
2021-02-12 18:56:52 +01:00
Geoffrey White
6d452521f7
C++: Move StdBasicStringStream to a more logical location.
2021-02-12 17:42:33 +00:00
Geoffrey White
74f05d569b
C++: BSL support.
2021-02-12 17:41:32 +00:00
CodeQL CI
179a7a89dd
Merge pull request #5098 from erik-krogh/xml2js
...
Approved by asgerf
2021-02-12 09:22:40 -08:00
Chris Smowton
402f20c5e2
Merge pull request #5154 from smowton/smowton/admin/deprecate-old-maven-predicate-names
...
Java: Re-introduce deprecated versions of old Maven predicate names
2021-02-12 17:22:05 +00:00
Chris Smowton
80978c7c35
Merge pull request #5153 from smowton/smowton/admin/move-misplaced-experimental-query
...
Move misplaced experimental query into the conventional directory
2021-02-12 17:21:57 +00:00
Geoffrey White
d362b5aa65
C++: StdSet should be private as well.
2021-02-12 16:29:44 +00:00
Geoffrey White
df91b8182c
C++: Deprecate StdPairClass properly.
2021-02-12 16:24:45 +00:00
Geoffrey White
1edfd04598
C++: BSL Support.
2021-02-12 15:56:47 +00:00
Geoffrey White
3cfb0a21fe
C++: Fix Iterator.qll taint/data flows for operator+=.
2021-02-12 14:54:47 +00:00
Geoffrey White
61b0d6a0cd
C++: Fix Iterator.qll non-member operator+= charpred.
2021-02-12 14:54:46 +00:00
Geoffrey White
da06b2a615
C++: Improve Iterator.qll layout and QLDoc.
2021-02-12 14:54:46 +00:00
Geoffrey White
90dbbbb0c2
C++: Update Iterator.qll.
2021-02-12 14:54:46 +00:00
Geoffrey White
7705fc4f98
C++: Add more test cases for iterator taint flow.
2021-02-12 14:54:45 +00:00
Alvaro Muñoz
7d294361dc
Update java/ql/src/semmle/code/java/frameworks/apache/Lang.qll
...
Co-authored-by: Joe Farebrother <joefarebrother@github.com >
2021-02-12 15:40:44 +01:00
Alvaro Muñoz
6b80a42913
apply LSP formatter and add missing dot
2021-02-12 15:03:11 +01:00
Alvaro Muñoz
8606386c2c
add bidirectional import
2021-02-12 14:59:28 +01:00
Alvaro Muñoz
49eda8ced6
apply LSP formatter
2021-02-12 14:56:10 +01:00
Anders Schack-Mulligen
085286ab58
Merge pull request #5135 from pwntester/guava_preconditions
...
Add support for the Preconditions Class in the Guava framework
2021-02-12 14:15:17 +01:00
Chris Smowton
655cfb3a47
Re-introduce deprecated versions of old Maven predicate names
2021-02-12 12:24:19 +00:00
Chris Smowton
97df60f9d6
Move misplaced experimental query into the conventional directory
2021-02-12 12:12:16 +00:00
Chris Smowton
942ae7ef47
Merge pull request #5142 from Marcono1234/marcono1234/maven-pom-improvements
...
Java: Improve MavenPom documentation, rename inconsistent predicates
2021-02-12 11:52:19 +00:00
Rasmus Wriedt Larsen
10fdc4bfb9
Python: Add support for more yaml loading functions
2021-02-12 12:30:00 +01:00
Rasmus Wriedt Larsen
2021cdbe33
Python: Add tests for more yaml loading functions
2021-02-12 12:30:00 +01:00
Rasmus Wriedt Larsen
f328e84bd2
Python: Mention yaml.safe_load in the qhelp
2021-02-12 12:29:55 +01:00
Rasmus Wriedt Larsen
1651f81ac8
Python: Refactor to avoid confusing name
...
After discussion with @yoff
2021-02-12 12:19:37 +01:00
Mathias Vorreiter Pedersen
729c7f2371
C++: Add deprecated alias to RemoteFlowSourceFunction and LocalFlowSourceFunction.
2021-02-12 10:53:34 +01:00
Mathias Vorreiter Pedersen
b1c7cb6396
C++: Address review comments.
2021-02-12 10:37:27 +01:00
Rasmus Wriedt Larsen
ed2dc5f6ad
Python: Fix date for change-note
2021-02-12 10:26:31 +01:00
Tamas Vajk
0aded1549e
Improve NestedLoopsSameVariable query performance
2021-02-12 09:33:33 +01:00
Rasmus Lerchedahl Petersen
cfa72af12c
Python: Update test expectation to new format
2021-02-12 09:30:12 +01:00
Marcono1234
905648e452
Add ConditionalExpr.getBranchExpr(boolean)
2021-02-12 04:50:41 +01:00
haby0
6901cd4899
Merge branch 'main' of https://github.com/haby0/codeql into main
2021-02-12 11:18:33 +08:00
haby0
22e741c7a3
*)add XQExpression.executeCommand(0) sink
2021-02-12 11:17:42 +08:00
haby0
dbb3d458f5
*)add XQExpression.executeCommand(0) sink
2021-02-12 10:47:41 +08:00
Marcono1234
e89891fa1f
Address review comments
2021-02-12 01:30:47 +01:00
Artem Smotrakov
042c0b005e
Covered sandboxes for JEXL 2
...
- Updated SandboxedJexlFlowConfig to cover JEXL 2
- Added SandboxedJexl2 test
2021-02-11 22:57:26 +01:00
Raul Garcia (MSFT)
710ca21d19
Addressing comments we missed earlier
2021-02-11 11:52:58 -08:00
Artem Smotrakov
7543df60da
Callable.call() should not be a sink in JexlInjection.ql
2021-02-11 20:37:23 +01:00
Geoffrey White
354f21f2c3
C++: BSL support.
2021-02-11 16:57:20 +00:00
Erik Krogh Kristensen
004147a22f
add change note
2021-02-11 17:54:53 +01:00
Erik Krogh Kristensen
6f405635ef
add ClientRequest model for apollo-client
2021-02-11 17:49:44 +01:00
Mathias Vorreiter Pedersen
91627cbd88
C++: Add models for BSD-style send and recv functions.
2021-02-11 17:21:32 +01:00
Geoffrey White
21b2999722
C++: Update StdSet.qll.
2021-02-11 16:01:55 +00:00
Geoffrey White
33b5802ff6
C++: Update StdPair.qll (just for consistency).
2021-02-11 16:01:44 +00:00
Erik Krogh Kristensen
fd46b7a7bc
fix type in change-note
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-02-11 16:17:26 +01:00
Erik Krogh Kristensen
69d8aa143c
add taint step for the snarkdown libary
2021-02-11 16:16:46 +01:00
Taus Brock-Nannestad
4c66071f5f
Python: Revert "Python: Support moduleImport("dotted.name") in API graphs"
...
This reverts commit 2c4a477a4e .
It's probably best _not_ to do this, as any `getMember` cycle in the
API graph will lead to nontermination.
2021-02-11 16:08:28 +01:00
Taus Brock-Nannestad
ea30598a08
Python: Split dotted names more efficiently
2021-02-11 16:07:39 +01:00
Jonathan Leitschuh
35e2ceba13
Update java/ql/src/semmle/code/xml/MavenPom.qll
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-02-11 08:59:02 -05:00
Erik Krogh Kristensen
d14586de56
add two non ReDoS regular expressions to the ReDoS test suite
...
Adds the regular expression from #5145
2021-02-11 14:41:45 +01:00
Erik Krogh Kristensen
f12c38425f
add change-note
2021-02-11 13:36:53 +01:00
Erik Krogh Kristensen
3ee0029cd8
Update javascript/change-notes/2021-02-08-xml-parser-taint.md
...
Co-authored-by: Asger F <asgerf@github.com >
2021-02-11 13:33:42 +01:00
CodeQL CI
02578cfff2
Merge pull request #5112 from erik-krogh/forms
...
Approved by asgerf
2021-02-11 04:32:14 -08:00
Erik Krogh Kristensen
044f80215e
add change note
2021-02-11 09:34:04 +01:00
Erik Krogh Kristensen
010d580f8e
add model for multiparty
2021-02-11 09:34:04 +01:00
Erik Krogh Kristensen
61b4ffec3d
add remote flow from the Formidable library
2021-02-11 09:34:04 +01:00
Erik Krogh Kristensen
a03f4ed3cd
add remote flow source for busboy
2021-02-11 09:34:02 +01:00
Erik Krogh Kristensen
e2fbf8a68c
add files uploaded with multer as RemoteFlowSource
2021-02-11 09:33:15 +01:00
haby0
a6a0fa28c4
*)add XQExpression.executeQuery(0) sink
2021-02-11 16:05:48 +08:00
Marcono1234
2a1c11b517
Improve MavenPom documentation, rename inconsistent predicates
2021-02-10 23:56:45 +01:00
Raul Garcia (MSFT)
ef0d3720a1
Addressing a few comments
2021-02-10 13:39:24 -08:00
Raul Garcia
190164c182
Update csharp/ql/src/experimental/Security Features/campaign/Solorigate/Solorigate.qhelp
...
Co-authored-by: Bas van Schaik <5082246+sj@users.noreply.github.com >
2021-02-10 13:30:40 -08:00
Artem Smotrakov
af0f361ac8
Updated JexlInjection.ql to check for sandboxes
...
- Added a dataflow config to track setting a sandbox
on JexlBuilder
- Added SandboxedJexl3.java test
2021-02-10 22:19:45 +01:00
Erik Krogh Kristensen
7cff1f441b
add model for the unified and remark libraries
2021-02-10 18:13:01 +01:00
Rasmus Wriedt Larsen
c57a4df819
Python: Model taint of self.request on django view class
2021-02-10 17:48:48 +01:00
Rasmus Wriedt Larsen
9ca738d921
Python: Add taint test for self.request on django view class
2021-02-10 17:48:41 +01:00
Jonathan Leitschuh
3b92f97967
Refactor DeclaredRepository to library
2021-02-10 11:41:50 -05:00
Erik Krogh Kristensen
0d497e8b9a
add model for the showdown library
2021-02-10 17:22:42 +01:00
Anders Schack-Mulligen
e9bfbb677d
Java: Connect the external sources and steps to the defaults.
2021-02-10 17:06:21 +01:00
Anders Schack-Mulligen
5a391ab6c0
Java: Add qldoc.
2021-02-10 16:54:48 +01:00
Jonathan Leitschuh
21b6f35ddc
Update java/ql/src/Security/CWE/CWE-1104/MavenPomDependsOnBintray.qhelp
2021-02-10 10:52:27 -05:00
Jonathan Leitschuh
49985a77e3
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2021-02-10 10:51:37 -05:00
Rasmus Wriedt Larsen
ca0d345987
Django: Model any class used in django route setup as view class
2021-02-10 16:26:25 +01:00
Rasmus Wriedt Larsen
b428945bc2
Django: Fix DjangoRouteHandler char-pred
...
Before it the class would contain _all_ functions xD
2021-02-10 16:21:51 +01:00
Rasmus Wriedt Larsen
78a3206fce
Python: Add test with unkown view class in django
2021-02-10 15:56:33 +01:00
Anders Schack-Mulligen
b74911204a
Merge pull request #4945 from intrigus-lgtm/java/insecure-jxbrowser
...
Java: Insecure JXBrowser
2021-02-10 15:48:17 +01:00
Rasmus Wriedt Larsen
42eceb80bd
Python: Handle view functions with decorators
2021-02-10 15:47:55 +01:00
Erik Krogh Kristensen
f76018c039
add taint step for the markdown-table library
2021-02-10 15:11:41 +01:00
Erik Krogh Kristensen
b4704f7016
add taint-step for the marked library
2021-02-10 14:51:08 +01:00
Erik Krogh Kristensen
91f7d33044
add change note
2021-02-10 14:17:49 +01:00
Erik Krogh Kristensen
101d4358a9
detect DOM nodes from event callbacks
2021-02-10 14:17:49 +01:00
Erik Krogh Kristensen
be9636491b
add source for react-hook-form in xss-through-dom
2021-02-10 14:17:49 +01:00
Erik Krogh Kristensen
65d93c9061
detect for DOM elements from DOM events in React
2021-02-10 14:17:49 +01:00
Erik Krogh Kristensen
458dda9d25
add xss-through-dom source from react-final-form
2021-02-10 14:17:49 +01:00
Erik Krogh Kristensen
ff3950ce98
add model for formik
2021-02-10 14:17:49 +01:00
Erik Krogh Kristensen
d1087d4e41
move sources from XssThroughDom into a customizations file
2021-02-10 14:17:49 +01:00
Erik Krogh Kristensen
4969a1ef4f
add change note
2021-02-10 14:16:31 +01:00
Erik Krogh Kristensen
0ca2310594
add model for htmlparser2
2021-02-10 14:16:31 +01:00
Erik Krogh Kristensen
e2a66bf3ed
add model for xml-js
2021-02-10 14:16:31 +01:00
Erik Krogh Kristensen
73f7cd149f
add model for sax
2021-02-10 14:16:31 +01:00
Erik Krogh Kristensen
c43025d7b3
add model for xml2js
2021-02-10 14:16:30 +01:00
Erik Krogh Kristensen
44ca2e26a6
add taint-step to XML parsers
2021-02-10 14:16:08 +01:00
intrigus
5c82ff83de
Java: Fix qhelp, fix CWE reference
2021-02-10 13:57:51 +01:00
Anders Schack-Mulligen
3a6fa9d99b
Java: Add support for framework modelling through csv data.
2021-02-10 13:25:03 +01:00
Alvaro Muñoz
645b021845
Add support for the Preconditions Class in the Guava framework
2021-02-10 13:20:29 +01:00
Alvaro Muñoz
0cf3a29429
Add support for Apache Commons Lang ArrayUtils
2021-02-10 13:09:57 +01:00
Shati Patel
18225fa254
Merge pull request #4997 from github/shati-patel/cwe-coverage-docs
...
Docs: Add outline for CWE coverage page
2021-02-10 11:45:09 +00:00
Alvaro Muñoz
3b4357792b
Remove sanitizing condition which does not prevent
...
vulnerability.
2021-02-10 12:21:48 +01:00
Anders Schack-Mulligen
66d0bf6b5e
Merge pull request #5128 from hvitved/dataflow/exploration-clears-content
...
Data flow: Take `clearsContent()` into account in flow exploration
2021-02-10 11:52:24 +01:00
yoff
9930d59aca
Merge pull request #5124 from RasmusWL/typetracking-with-decorator
...
Python: Add test for type-tracking through decorators
2021-02-10 09:34:54 +01:00
Tom Hvitved
1f9b42f9ab
Data flow: Sync files
2021-02-09 20:10:23 +01:00
Tom Hvitved
e5970f4c65
Data flow: Take clearsContent() into account in flow exploration
2021-02-09 20:09:24 +01:00
Geoffrey White
d475e55ec0
Update cpp/ql/test/README.md
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-02-09 15:20:03 +00:00
Geoffrey White
cc031118dd
Update CONTRIBUTING.md
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-02-09 15:19:30 +00:00
yo-h
e5331a4735
Java: accept changes in expected output
2021-02-09 09:17:35 -05:00
yo-h
e194411cfa
Java: fix javac errors in test code
2021-02-09 09:16:57 -05:00
luchua-bc
cb01613aa6
Exclude FP token patterns
2021-02-09 13:53:23 +00:00
Tamas Vajk
9854b95c30
Fix query performance
2021-02-09 14:45:22 +01:00
Alexander Eyers-Taylor
1c43505d30
Merge pull request #5121 from alexet/fix-js-jdoc
...
Javascript Extractor: Update <tt> tages to <code>
2021-02-09 13:07:19 +00:00
CodeQL CI
475d216f8e
Merge pull request #5087 from erik-krogh/immutable
...
Approved by asgerf
2021-02-09 12:43:19 +00:00
Rasmus Wriedt Larsen
1d25184b32
Python: Add test for type-tracking through decorators
...
In general, if there is _some_ decorator on a function, it might not be safe to
track content out of it (since the decorator could do anything), but in this
case, we can see what the decorator does, so we should be able to handle it (but
we don't right now).
By my understanding of how type-tracking works, if we track content through
`my_decorator`, then we would also track content to the result of
`unrelated_func()`, which I wanted to make sure our tests would catch.
I found out the core of the problem seems to come from our lack of being able to
track to the inner scope, and added an explicit test for that.
2021-02-09 13:43:10 +01:00
Rasmus Wriedt Larsen
eb7e30d472
Python: Add test of django view handler with decorator
...
Which we currently don't handle :(
Also added a bit more explanatory comments
2021-02-09 13:25:12 +01:00
Geoffrey White
d1910a3f5c
Update CONTRIBUTING.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-02-09 12:12:24 +00:00
alexet
8dd5a7e7c7
Javascript Extractor: Update <tt> tages to <code>
2021-02-09 12:10:09 +00:00
Remco Vermeulen
3818971b79
Add redirect sinks
...
Both the familiy of `Accepted` and `Created` method set the location
header based on provided input. If this is untrusted input this can
result in an URL redirect attack.
2021-02-09 13:09:02 +01:00
Alexander Eyers-Taylor
bed10ad562
Merge pull request #5113 from github/alexet/fix-var-decls-spec
...
Update the language specification to allow empty var_decls
2021-02-09 11:08:23 +00:00
Rasmus Lerchedahl Petersen
e3002aa1bf
Python: model for sys.exc_info
...
made _easy_ by API graphs :D
2021-02-09 11:39:44 +01:00
Rasmus Lerchedahl Petersen
0ea2f457a1
Python: type trackers for exceptions
2021-02-09 11:39:44 +01:00
Rasmus Lerchedahl Petersen
232d9b006a
Python: Implement traceback module
...
Just functions, not the classes for now
2021-02-09 11:39:44 +01:00
Rasmus Lerchedahl Petersen
6a45f6e7e0
Python: Port StackTraceExposure query
...
using empty concept implementation
2021-02-09 11:12:44 +01:00
Rasmus Lerchedahl Petersen
77ae91c47d
Python: Add concept ExceptionSource
2021-02-09 11:12:44 +01:00
CaptainFreak
503b339a1f
remove hbs specific checks
2021-02-09 07:35:35 +05:30
Raul Garcia (MSFT)
f114ef1f06
Adding unit tests
2021-02-08 16:57:49 -08:00
Geoffrey White
8bf9fc6111
Consistent capitalisation.
2021-02-08 20:29:46 +00:00
Geoffrey White
07b263bb2f
Typo.
2021-02-08 20:27:28 +00:00
Geoffrey White
bd255617d8
Three copies of a link is too much.
2021-02-08 20:25:35 +00:00
Geoffrey White
e1ca762bbc
Fix layout.
2021-02-08 20:24:15 +00:00
Geoffrey White
65ea1a4631
Add hints / links about tests and documentation to CONTRIBUTING.md.
2021-02-08 20:04:10 +00:00
Geoffrey White
690b525192
Add a link to the C/C++ CodeQL Tests README.md from the Supported CodeQL queries and libraries doc.
2021-02-08 20:04:10 +00:00
Geoffrey White
74178a5e86
Call out the copied code issue for qhelp files again (more generally) in the Supported CodeQL queries and libraries doc.
2021-02-08 20:04:09 +00:00
Geoffrey White
cb16c64540
Call out the issue of copied code for C/C++ example code in the C/C++ CodeQL Tests README.md (where we talk about it for tests).
2021-02-08 19:58:36 +00:00
Alexander Eyers-Taylor
7583904046
Update the language specification to allow empty var_decls
...
This is a degenerate form that is accepted in the compiler even if they don't make much sense.
Fixes #5060
2021-02-08 18:54:13 +00:00
Taus Brock-Nannestad
c59b5c98cb
Python: Replace use of AttrNode with getMember
2021-02-08 19:14:11 +01:00
Taus Brock-Nannestad
72a699e099
Python: Add CallCfgNode class and rewrite using that class
...
I prefer this name to `CfgCallNode` as the latter will make
autocomplete more difficult.
2021-02-08 16:55:18 +01:00
Asger Feldthaus
b278233a94
JS: Mention all versions of Angular are supported
2021-02-08 15:45:46 +00:00
Taus Brock-Nannestad
46eb3fd10a
Python: Even more API::Node pushing.
2021-02-08 14:22:42 +01:00
Taus
c0c2aa69b3
Merge branch 'main' into python-port-flask-to-api-graphs
2021-02-08 14:17:25 +01:00
Taus Brock-Nannestad
2c4a477a4e
Python: Support moduleImport("dotted.name") in API graphs
2021-02-08 14:08:34 +01:00
Taus
738d1bc3d4
Python: More use of API::Node
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-02-08 14:08:16 +01:00
haby0
97690b4eb7
Update java/ql/src/Security/CWE/CWE-652/XQueryInjection.qhelp
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-02-08 19:15:28 +08:00
Tamas Vajk
bd50ed975f
Fix doc comment
2021-02-08 11:18:37 +01:00
Erik Krogh Kristensen
504db8739d
fix typo in execa change-note file name
2021-02-08 10:00:26 +01:00
Erik Krogh Kristensen
8ca75e41d2
add change note
2021-02-08 09:59:45 +01:00
intrigus
2e30f2d9ce
Java: Fix QHelp & accept test output
...
Accept test output for changed alert message.
2021-02-08 00:05:02 +01:00
Tamas Vajk
ef55ca179b
Improve file read exception logging
2021-02-07 09:06:11 +01:00
Tamas Vajk
6d908876e0
Add new .stats file
2021-02-07 09:06:11 +01:00
Tamas Vajk
96248f8845
Add DB upgrade folder
2021-02-07 09:06:11 +01:00
Tamas Vajk
63b0fe10e4
Rework foreach_stmt_info extraction
2021-02-07 09:06:11 +01:00
Tamas Vajk
7c506f445c
C#: Extract underlying methods of foreach statements
2021-02-07 09:06:11 +01:00
Raul Garcia (MSFT)
d775528069
Fixes on multiple files.
2021-02-05 14:09:26 -08:00
Taus
d3a79ecff1
Update python/ql/src/semmle/python/frameworks/Flask.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-02-05 22:54:27 +01:00
Jonathan Leitschuh
f00b0baaea
Update java/ql/src/Security/CWE/CWE-1104/MavenPomDependsOnBintray.qhelp
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-02-05 16:31:37 -05:00
Taus Brock-Nannestad
3d2548ed28
Python: Get rid of remaining type trackers in Flask model
...
At this point, we may want to reconsider whether we really want the
deeply-nested module structure we had before (and which made the type
trackers somewhat bearable).
There's also a question of how we can make this a bit more
smooth. I think we need to consider exactly how we would like the
interface to this to work.
2021-02-05 21:58:08 +01:00
Taus Brock-Nannestad
5bfde2c0f2
Python: Fix overly broad class attribute node class
...
This is not strictly necessary, but it was bothering me that this
simply covered _all_ nodes that were both definitions and names at the
same time. Now it actually encompasses what the documentation claims
it does.
2021-02-05 21:56:57 +01:00
Taus Brock-Nannestad
7f3c6acd08
Python: Handle class attribute references in API graph
...
This is slightly dubious, and should really be in the currently
unimplemented "def" counterpart to the "use" bits we already have.
However, it seems to work correctly, and in the spirit of moving
things along, this seemed like the easier solution. We can always
replace the implementation with the "proper" approach at a later point.
2021-02-05 21:54:35 +01:00
Jonathan Leitschuh
bfa9324266
CWE-1104: Maven POM dependence upon Bintray/JCenter
2021-02-05 13:05:51 -05:00
Raul Garcia (MSFT)
d48a713f30
Fixing cutom edges predicate
2021-02-05 09:27:08 -08:00
Raul Garcia (MSFT)
681e6a9303
Adding Solorigate context for the generic backdoor queries.
2021-02-05 09:02:59 -08:00
Taus Brock-Nannestad
ef600575ca
Python: Add API graph support for subclasses
2021-02-05 16:52:58 +01:00
Taus Brock-Nannestad
b39cbf82c6
Python: Port Flask models to use API graphs
...
Most of the type trackers in this model were easily replaceable with
uses of the API graph, but the ones for tracking subclasses are
problematic, as these take us out of the API graph.
2021-02-05 14:41:42 +01:00
Shati Patel
6a46be2379
Install sphinx extension for building markdown tables
2021-02-05 12:07:06 +00:00
Shati Patel
5f17fa8366
Docs: Add outline for CWE coverage page
2021-02-05 12:06:57 +00:00
luchua-bc
a183b00166
Query to detect main method in servlets
2021-02-05 03:53:01 +00:00
Raul Garcia (MSFT)
3dc1b81d65
Changing ProcessNameToHash query to path-problem. Any additional feedback will be welcomed
2021-02-04 17:54:35 -08:00
Raul Garcia (MSFT)
9ef4aef28e
Changing location for NonCryptographicHash qll
...
Changing the TimeBomb query to path-problem (any suggestions to improve it would be welcomed, no previous experience iwth path-problem queries)
2021-02-04 16:59:38 -08:00
Raul Garcia (MSFT)
d5c9db42de
Fixing format
2021-02-04 14:26:03 -08:00
Raul Garcia (MSFT)
1d8f8286a5
Fixes to address some of the comments during PR
2021-02-04 13:25:43 -08:00
Raul Garcia (MSFT)
8e85145df4
Updated Readme file
2021-02-04 12:51:31 -08:00
Raul Garcia (MSFT)
979fdd2c6a
Addressing multiple comments
2021-02-04 10:23:01 -08:00
Francis Alexander
683233333c
test case return statements and feedback
2021-02-04 22:28:10 +05:30
Sauyon Lee
5927ce5d69
Add GoKit to Go supported library list
2021-02-04 14:43:34 +00:00
Rasmus Wriedt Larsen
1de3524bc5
Update docs/ql-style-guide.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-02-04 12:27:38 +01:00
Erik Krogh Kristensen
6cbf7b3267
add of Set, Stack and similar to the Immutable model
2021-02-04 12:05:44 +01:00
Erik Krogh Kristensen
b74df66463
implement Immutable merge
2021-02-04 12:05:44 +01:00
Erik Krogh Kristensen
c0de6a3af2
add support for Immutable Record
2021-02-04 12:05:44 +01:00
Erik Krogh Kristensen
609b16b1f7
implement Immutable OrderedMap
2021-02-04 12:05:44 +01:00
Erik Krogh Kristensen
2e7bf9b53c
implement Immutable lists
2021-02-04 12:05:44 +01:00
Erik Krogh Kristensen
a5c9492c87
add support for fromJS in the Immutable model
2021-02-04 12:05:44 +01:00
Erik Krogh Kristensen
6cbe4caecc
support toJS() by using plain property names instead of pseudoproperties.
2021-02-04 12:05:44 +01:00
Erik Krogh Kristensen
b1f092f052
add support for map.set in Immutable model
2021-02-04 12:05:44 +01:00
Erik Krogh Kristensen
b77dd54618
implement basic map get/set for immutable.js
2021-02-04 12:05:44 +01:00
Raul Garcia (MSFT)
53ab787efc
Fixed format
2021-02-03 15:54:47 -08:00
Raul Garcia (MSFT)
86a2aa97ec
Fixing incorrect file extension & adding suite
2021-02-03 15:48:16 -08:00
Raul Garcia (MSFT)
5e1e27c2b6
Adding queries related to the Solorigate campaign
2021-02-03 15:12:31 -08:00
Rasmus Wriedt Larsen
2453a25833
Update docs/ql-style-guide.md
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-02-03 13:42:08 +01:00
Rasmus Wriedt Larsen
0ea7aa54f9
Update CodeQL Style guide to mention acronyms
...
Adding this after asking how to do this internally. Is based on https://dart.dev/guides/language/effective-dart/style#do-capitalize-acronyms-and-abbreviations-longer-than-two-letters-like-words
2021-02-03 13:31:26 +01:00
Erik Krogh Kristensen
d016ba2252
rename name dataflow configuration in js/template-object-injection
2021-02-03 12:29:23 +01:00
Erik Krogh Kristensen
a5bde53bfe
use the TaintedObject library in js/template-object-injection
2021-02-03 12:26:37 +01:00
Erik Krogh Kristensen
c6a22844e2
add test for js/template-object-injection
2021-02-03 12:16:57 +01:00
CaptainFreak
12ee497485
move query to src, rename and refactor
2021-02-03 15:48:02 +05:30
Robert Marsh
631ee28cae
C++: update comments about SSA sharing
2021-02-02 09:11:21 -08:00
Robert Marsh
50edf44e84
C++/C#: autoformat and sync files
2021-02-02 09:06:44 -08:00
CaptainFreak
3363f5e6db
JS: add query for Express-HBS LFR
2021-02-01 18:01:34 +05:30
Artem Smotrakov
59f48ecea3
Removed LocalUserInput in JexlInjectionLib.ql
2021-01-29 12:38:51 +01:00
luchua-bc
ff1ed3a012
Revamp the query to use three configurations to detect password hash without salt
2021-01-29 03:39:02 +00:00
haby0
81c56b9bed
Update java/ql/src/Security/CWE/CWE-652/XQueryInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-01-27 19:47:12 +08:00
haby0
31deca016f
Update java/ql/src/Security/CWE/CWE-652/XQueryInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-01-27 19:46:45 +08:00
haby0
ca2e6587fe
Update java/ql/src/Security/CWE/CWE-652/XQueryInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-01-27 19:46:15 +08:00
intrigus
d3e6e594b2
Java: Improve QLDoc
2021-01-27 11:57:32 +01:00
intrigus
bdba7e14fe
Java: Switch to data flow
2021-01-27 11:54:40 +01:00
haby0
b5ae417851
*)update CWE-652 qhelp references
2021-01-27 10:19:04 +08:00
haby0
b76854a384
*)add CWE-652 test case
2021-01-27 10:14:33 +08:00
Robert Marsh
8919e5546b
C++ Use dontcare instead of one-use exists
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-01-26 14:12:49 -08:00
Francis Alexander
19872e9aed
More Feedback integration
2021-01-26 17:24:17 +05:30
luchua-bc
fee0b94cd4
Use isRequestGetParamMethod as the source
2021-01-26 04:41:44 +00:00
Robert Marsh
44bc6d7fdb
C++/C#: add NonPhiMemoryOperand union type
...
This fixes a performance issue where the whole MemoryOperand table was
scanned in some predicates that used only NonPhiMemoryOperand
2021-01-25 17:03:19 -08:00
Francis Alexander
985d3d469a
PR feedback integration
2021-01-25 23:26:36 +05:30
Artem Smotrakov
8d701e604a
Simplified JexlInjectionLib.qll
...
- Merged multiple method definitions to DirectJexlEvaluationMethod
- Don't use TaintPropagatingJexlMethodCall field in JexlInjectionConfig
- Better variable names in JexlEvaluationSink
2021-01-25 14:17:51 +01:00
haby0
42f55e1ebe
Merge pull request #1 from smowton/smowton/admin/rewrite-xquery
...
Rewrite XQuery injection to use an additional taint step instead of multiple configurations
2021-01-25 19:49:20 +08:00
Chris Smowton
d34233b44f
Rewrite XQuery injection to use an additional taint step instead of multiple configurations.
...
Also remove a needless barrier -- the method in question doesn't conduct taint by default, so excluding particular instances of that call is not necessary.
2021-01-25 11:18:45 +00:00
haby0
16308fe557
Update java/ql/src/Security/CWE/CWE-652/XQueryInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-01-25 19:16:18 +08:00
haby0
14a23eed4f
Update java/ql/src/Security/CWE/CWE-652/XQueryInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-01-25 19:15:59 +08:00
Francis Alexander
75b79039a1
Example fixes
2021-01-24 20:46:37 +05:30
Francis Alexander
81e372d078
Formatting changes
2021-01-24 20:44:21 +05:30
Francis Alexander
a64fc2b24e
Java: Queries to detect remote source flow to CORS header
2021-01-24 18:58:39 +05:30
Artem Smotrakov
71e5cb45d3
Simplified method and class definitions for JEXL
2021-01-23 19:50:16 +01:00
Artem Smotrakov
03348b18b5
Simplified TaintPropagatingJexlMethodCall
2021-01-23 19:41:14 +01:00
Artem Smotrakov
a47147bc5e
Simplify sinks in JexlInjectionLib.qll
2021-01-23 19:22:43 +01:00
Artem Smotrakov
28ebbee61d
Added TaintPropagatingJexlMethodCall class
2021-01-23 17:42:04 +01:00
haby0
0b326aae20
*)update XQueryInjectionLib.qll
2021-01-23 18:27:38 +08:00
haby0
44d99f8cd4
*)update XQueryInjection.ql
2021-01-23 18:26:58 +08:00
haby0
ec4c155043
*)update XQueryInjection.qhelp
2021-01-23 18:26:15 +08:00
Artem Smotrakov
73c8338e52
Use <code> tag in JexlInjection.qhelp
2021-01-21 22:49:36 +01:00
Artem Smotrakov
ee6d28b562
Use LocalUserInput when looking for JEXL injections
2021-01-21 22:46:18 +01:00
Artem Smotrakov
8166e269ec
Added examples of a sandbox for JEXL expressions
2021-01-21 20:53:15 +01:00
haby0
a56dd60baa
*)add CWE-652 XQueryInjection detection
2021-01-21 19:18:10 +08:00
Artem Smotrakov
7df813354a
Improved JexlInjectionLib.qll
2021-01-20 20:26:48 +01:00
luchua-bc
b9809b071e
Update the query to work with wrapper classes
2021-01-18 19:22:34 +00:00
luchua-bc
048167d39a
Revamp the query to reduce FPs introduced by wrapper calls
2021-01-18 04:23:30 +00:00
Artem Smotrakov
7d2d27394b
Java: Added a source and a taint step for JexlInjectionConfig
...
- Added TaintedSpringRequestBody source
- Added returningTaintedDataFromBean() taint step
- Added tests
2021-01-17 22:28:42 +01:00
Artem Smotrakov
99401f6e84
Java: Query for detecting JEXL injections
2021-01-17 14:19:26 +01:00
intrigus
a4cbd7037b
Java: Add tests for different versions.
...
Adds a test for version 6.24, because that version is not vulnerable.
The other test is for versions < 6.24, because these versions are
vulnerable.
2021-01-15 17:20:57 +01:00
luchua-bc
3af8773dd6
Add more cases
2021-01-15 16:20:31 +00:00
intrigus-lgtm
b8076481bf
Java: Suggestions from Review
2021-01-13 20:32:23 +01:00
Anders Schack-Mulligen
f3b8fe2e2e
Java: Add Member.hasQualifiedName.
2021-01-13 13:42:35 +01:00
intrigus
5b3086a93a
Java: Fix capitalization of JxBrowser
2021-01-12 22:43:41 +01:00
intrigus
1ebc9f4d93
Java: Only detect JxBrowser < 6.24
2021-01-12 22:39:08 +01:00
intrigus
b30872806d
Java: Add tests and test stubs.
2021-01-12 14:49:12 +01:00
intrigus
9b3070ab7c
Java: Add JXBrowser disabled certificate query.
2021-01-12 14:48:22 +01:00
luchua-bc
86c04e6971
Detect the scenario of passwords concatenated with a salt to reduce FPs
2021-01-11 16:59:57 +00:00
luchua-bc
39103af718
Remove additional taint step
2021-01-08 13:02:57 +00:00
luchua-bc
b56fe2b25f
Remove specific method name in additional taint step
2021-01-07 16:31:21 +00:00
luchua-bc
19ff00bad4
Enhance the additional step flow and update qldoc
2021-01-07 13:15:30 +00:00
Francis Alexander
435502e070
missing new lines
2021-01-06 23:05:09 +05:30
luchua-bc
ce2db21f15
Query to detect hash without salt
2021-01-06 17:30:04 +00:00
Francis Alexander
1f5a466e46
Playframework test cases & review fixes
2021-01-06 22:57:14 +05:30
luchua-bc
3d26e5b8a4
Update qldoc
2021-01-06 12:41:00 +00:00
luchua-bc
f1763ae354
Use the sensitive info sink
2021-01-06 01:48:19 +00:00
luchua-bc
367ff99909
Change the source to be the request variable
2021-01-05 17:30:19 +00:00
luchua-bc
195755d687
Revamp the query to be more selective
2021-01-05 00:04:08 +00:00
luchua-bc
496db4b42f
Factor isGetServletMethod into the servlet library
2021-01-04 16:14:13 +00:00
luchua-bc
ffe9d4a310
Sensitive GET Query
2020-12-26 16:51:30 +00:00
Robert Marsh
5d2a553059
C++/C#: autoformat
2020-12-15 17:16:31 -08:00
Robert Marsh
fd14eb4c8c
C++: remove unreachable IR operands in late stages
2020-12-15 11:45:40 -08:00
Robert Marsh
a404ca66d1
C++: fix typo
2020-12-11 16:16:19 -08:00
Robert Marsh
96e913031d
C#: share IR Operand IPA type between stages
2020-12-11 16:11:00 -08:00
Robert Marsh
89a59d5f1a
C++: comments about shared Operand IPA type
2020-12-11 15:52:07 -08:00
Robert Marsh
1e08c11d40
C++: Share Operand IPA type across IR stages
2020-12-11 14:47:25 -08:00
Robert Marsh
77729918c1
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
...
Update for submodule pointer
2020-11-18 13:09:02 -08:00
Robert Marsh
5aed82a210
C++: Autoformat more
2020-11-17 13:44:20 -08:00
Robert Marsh
04641a3f2d
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2020-11-17 12:55:12 -08:00
Robert Marsh
c2e44fa180
C++: autoformat
2020-11-17 09:28:39 -08:00
Robert Marsh
db8766ca69
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2020-11-16 17:46:20 -08:00
Robert Marsh
525aeb6551
C++: autoformat
2020-11-13 16:14:07 -08:00
Robert Marsh
29eacbd28b
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
...
Update for submodule bump
2020-11-13 12:22:41 -08:00
Robert Marsh
bd00988c37
C++: accept test output for DefaultTaintTracking
2020-11-12 14:38:53 -08:00
Robert Marsh
68040b717e
C++: autoformat
2020-11-12 14:32:19 -08:00
Robert Marsh
275d75295c
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
...
Fix test conflict
2020-11-12 13:28:10 -08:00
Robert Marsh
049bff09e6
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
...
Make this branch a valid taget for a submodule bump
2020-11-10 14:25:05 -08:00
Robert Marsh
2a6ba40a93
C++: Accept more test changes
2020-11-10 13:59:35 -08:00
Robert Marsh
04ad94d1cc
C++: model taint from pointers to aliased buffers
2020-11-09 13:52:08 -08:00
Robert Marsh
afbeca0d54
C++: Accept test outputs
2020-11-09 13:24:31 -08:00
Robert Marsh
95ed5465de
C++: improve handling of function arguments in DTT
2020-11-09 13:02:06 -08:00
Robert Marsh
fbe857d1fa
C++: require that other operands be predictable
...
This brings back a constraint that was lost when switching
DefaultTaintTracking to use a TaintTracking::Configuration
2020-11-09 13:00:55 -08:00
Robert Marsh
7d79be71d1
C++: taint tracking conf in DefaultTaintTracking
...
Switch from using additional flow steps with a DataFlow::Configuration
in DefaultTaintTracking to using a TaintTracking::Configuration. This
makes future improvements to TaintTracking::Configuration reflected in
DefaultTaintTracking without further effort. It also removes the
predictability constraint in DefaultTaintTracking, which increases the
number of results, with both new true positives and new false positives.
Those may need to be addressed on a per-query basis.
There are some additional regressions from losing pointer/object
conflation for arguments. Those can be worked around by adding that
conflation to TaintTracking::Configuration until precise indirect
parameter flow is ready.
2020-11-09 13:00:55 -08:00
Francis Alexander
27c554c164
feedback integration - Move all files to Play.qll, improvements to add methods to remotetainted method for play
2020-10-24 11:56:06 +05:30
Francis Alexander
5d5b84974b
Play remote source update to return functionaccessexpr
2020-10-22 22:29:43 +05:30
Francis Alexander
d216dcdee0
updates & conflict marker removal
2020-10-22 22:25:36 +05:30
Francis Alexander
518de822e1
updates
2020-10-22 20:47:11 +05:30
Francis Alexander
5c256dadc8
Feedback incorporation and documentation updates
2020-10-22 20:27:38 +05:30
Francis Alexander
f7d63f8666
Feedback incorporation and documentation updates
2020-10-22 20:21:47 +05:30
Francis Alexander
33f7d52a46
Naming Fixes
2020-10-22 20:20:52 +05:30
Francis Alexander
ddc544aa07
Initial support for Play Framework > 2.6.x
2020-10-22 20:20:49 +05:30
dilanbhalla
26b030f8cc
fixed pr suggestions
2020-07-07 10:52:26 -07:00
dilanbhalla
dc73fcc4e8
moved to experimental
2020-07-01 09:54:58 -07:00
dilanbhalla
dc58f6fa87
function/class synatax
2020-06-25 11:39:09 -07:00
Taus Brock-Nannestad
ead687da06
Python: Add false positive test example for issue #2652 .
2020-01-21 15:28:01 +01:00