Tom Hvitved
05b45da42f
Merge pull request #6556 from hvitved/csharp/insecure-sql-conn-flow
...
C#: Use data flow instead of taint tracking in `InsecureSQLConnection.ql`
2021-08-30 11:31:22 +02:00
Tom Hvitved
7dbdfeb161
Merge pull request #6548 from hvitved/csharp/dataflow/tests
...
C#: Update call-context data-flow tests
2021-08-30 11:30:55 +02:00
Andrew Eisenberg
bf15b18f22
Merge pull request #6565 from github/dbartol/suite-helpers-incomatbility
2021-08-27 12:40:11 -07:00
Dave Bartolomeo
ede2ae11e9
Fix incompatibility with release CLI
...
This fixes #6563 , in which a customer reports being unable to run a query suite despite following the "Getting Started with the CodeQL CLI" instructions. The problem is that the released versions of the CodeQL CLI incorrectly disallow any reference to a library pack from within a .qls file. This is a CLI bug that will be fixed in the next CLI release, but since our policy is to make `github/codeql`'s `main` branch compatible with the latest released CLI, we need to work around this for now by pretending `codeql/suite-helpers` is a query pack.
2021-08-27 14:17:48 -04:00
Edoardo Pirovano
48829450bb
Merge pull request #6560 from edoardopirovano/bump-js-packs
...
JS: Release new version of library and upgrade pack
2021-08-26 16:53:29 +01:00
Edoardo Pirovano
29e75aed75
JS: Release new version of library and upgrade pack
2021-08-26 15:54:54 +01:00
Chris Smowton
7a0555ecb3
Merge pull request #6357 from artem-smotrakov/static-iv
...
Java: Static initialization vector
2021-08-26 13:45:43 +01:00
Chris Smowton
4e243f9277
Merge pull request #6555 from bmuskalla/objectsAsCsv
...
Java: Migrate `Objects` flow to CSV model
2021-08-26 13:45:16 +01:00
Alexandre Boulgakov
f18e8a4d95
Merge pull request #6541 from sashabu/sashabu/init
...
C++: Add support for default member initializers.
2021-08-26 13:29:56 +01:00
Benjamin Muskalla
9ca3b4661a
Fix return value for requireNonNullElse
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-26 14:03:55 +02:00
Tom Hvitved
7e1efbdd8e
C#: Use data flow instead of taint tracking in InsecureSQLConnection.ql
2021-08-26 13:48:57 +02:00
Tom Hvitved
592a42231f
C#: Fix test for InsecureSQLConnection.ql
2021-08-26 13:48:56 +02:00
Alexandre Boulgakov
10bc2568b7
C++: Add support for default member initializers.
2021-08-26 12:32:30 +01:00
yoff
7b204cebbe
Merge pull request #6551 from erik-krogh/redosUnicode
...
JS/Python: use toUnicode in ReDoSUtil.qll
2021-08-26 12:41:11 +02:00
Benjamin Muskalla
8abb9fb045
Replace Objects model
2021-08-26 12:06:56 +02:00
Benjamin Muskalla
4e2c148e80
Model Objects API as CSV
2021-08-26 12:06:47 +02:00
Fosstars
1dd4bf00ac
Simplify StaticInitializationVectorSource
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-26 09:42:23 +02:00
Erik Krogh Kristensen
0cc19d914e
use toUnicode in ReDoSUtil.qll
2021-08-25 22:21:43 +02:00
Andrew Eisenberg
039b655f7f
Merge pull request #6544 from github/aeisenberg/pack/javascript
...
Packaging: Rafactor Javascript core libraries
2021-08-25 13:17:34 -07:00
Andrew Eisenberg
5609c3d1b5
Packaging: Fix identical files script
2021-08-25 12:17:27 -07:00
Andrew Eisenberg
45d1fa7f01
Packaging: Rafactor Javascript core libraries
...
Extract the external facing `qll` files into the codeql/javascript-all
query pack.
2021-08-25 12:15:56 -07:00
Andrew Eisenberg
48344d9ffc
Merge pull request #6545 from github/aeisenberg/pack/python
...
Packaging: Rafactor Python core libraries
2021-08-25 12:04:44 -07:00
Artem Smotrakov
23e2322635
Simplify ArrayUpdate
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-25 19:43:43 +02:00
Artem Smotrakov
f41828e5db
Better qldoc in StaticInitializationVectorQuery.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-25 19:38:33 +02:00
CodeQL CI
1daeea5696
Merge pull request #6472 from erik-krogh/apiPromise
...
Approved by asgerf
2021-08-25 14:45:03 +01:00
CodeQL CI
170a069657
Merge pull request #6403 from asgerf/js/handlebars-extraction
...
Approved by erik-krogh
2021-08-25 13:54:52 +01:00
Fosstars
f97c8bb049
Removed sanitizer in StaticInitializationVectorConfig
2021-08-25 12:40:48 +02:00
Fosstars
86b7b2b86d
Updated qldoc for ArrayUpdate
2021-08-25 12:14:36 +02:00
Fosstars
c80a1da483
Don't consider copyOf() and clone() in ArrayUpdate
2021-08-25 12:11:34 +02:00
Asger Feldthaus
87843a3794
JS: Autoformatttt
2021-08-25 10:37:37 +02:00
Tom Hvitved
01f7fdfea5
C#: Update call-context data-flow tests
2021-08-25 10:34:53 +02:00
Erik Krogh Kristensen
c664d7cfb3
add a getMaybePromisifiedCall method in API graphs, and use it to model child_process
2021-08-25 10:27:09 +02:00
Jonas Jensen
abdf993e47
Merge pull request #6537 from andersfugmann/implicit_downcast_involving_references
...
Implicit downcast involving references
2021-08-25 09:45:32 +02:00
Anders Peter Fugmann
67a267d971
Update cpp/change-notes/2021-08-24-implicit-downcast-from-bitfield.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-08-25 08:58:44 +02:00
Andrew Eisenberg
e23df94748
Packaging: Fix identical files script
2021-08-24 16:12:43 -07:00
Andrew Eisenberg
8f73c6968a
Merge pull request #6542 from github/aeisenberg/pack/move-external
...
Java: Move the ExternalArtifact.qll module to the library pack
2021-08-24 16:07:26 -07:00
yo-h
2b4635c4e0
Merge pull request #6539 from smowton/smowton/admin/downgrade-sql-unescaped
...
Downgrade precision of java/concatenated-sql-query
2021-08-24 17:22:01 -04:00
Andrew Eisenberg
3660c64328
Packaging: Rafactor Python core libraries
...
Extract the external facing `qll` files into the codeql/python-all
query pack.
2021-08-24 13:23:45 -07:00
Andrew Eisenberg
7f3066cd64
Java: Move the ExternalArtifact.qll module to the library pack
2021-08-24 13:01:02 -07:00
Chris Smowton
2689c13bde
Merge pull request #6485 from Marcono1234/marcono1234/field-initializer-fix
...
Java: Fix Field.getInitializer() matching non-initializer assignments
2021-08-24 20:52:02 +01:00
Geoffrey White
8f38ab0116
Merge pull request #6540 from jbj/ctime-weaken-claims
...
C++:Lower potentially-dangerous-function precision
2021-08-24 17:01:23 +01:00
Jonas Jensen
19ee64d9ad
C++:Lower potentially-dangerous-function precision
...
There have been multiple reports of false positives from this query over
time. Now that it has `@security-severity 10.0`, these false positives
look even worse.
The query looks purely for calls to functions with certain names, not
at whether the calls happen in a dangerous context. To justify a higher
precision, the query should only flag calls that happen in a thread or
another non-reentrant context.
2021-08-24 17:14:42 +02:00
yoff
2f5ed03798
Merge pull request #6323 from RasmusWL/sec-test-layout
...
Python: Restructure security tests to contain query name
2021-08-24 16:50:08 +02:00
Chris Smowton
5a2dfda09e
Add test for field initializers
2021-08-24 14:04:45 +01:00
Marcono1234
c8d98ae649
Java: Fix Field.getInitializer() matching non-initializer assignments
2021-08-24 14:04:44 +01:00
Asger Feldthaus
8a564cc64b
JS: Fix qldoc
2021-08-24 14:31:00 +02:00
Asger F
8f8a46848d
Update javascript/ql/src/semmle/javascript/frameworks/Templating.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-08-24 14:16:41 +02:00
CodeQL CI
c66a34be9c
Merge pull request #6533 from erik-krogh/cwdPath
...
Approved by asgerf
2021-08-24 13:10:38 +01:00
CodeQL CI
c0e8680c81
Merge pull request #6534 from erik-krogh/fallbackEntry
...
Approved by asgerf
2021-08-24 11:38:25 +01:00
Erik Krogh Kristensen
99d7e8b953
add change note
2021-08-24 12:35:20 +02:00
Chris Smowton
7f73efe3e1
Downgrade precision of java/concatenated-sql-query
2021-08-24 10:46:01 +01:00
Rasmus Wriedt Larsen
ca341bde08
Merge pull request #5612 from jty-team/jty/python/nosqlInjection
...
Python: CWE-943 - Add NoSQL injection query
2021-08-24 11:29:25 +02:00
Anders Fugmann
6b66f5dbb4
C++: Add change note for implicit downcasting involving references
2021-08-24 10:26:25 +02:00
Anders Fugmann
6d4b7c828c
C++: Remove superfluous 'and any()'
2021-08-24 09:37:39 +02:00
Ian Lynagh
43355feaeb
Merge pull request #6536 from github/igfoo/getPrimaryQlClasses
...
All languages: Add getPrimaryQlClasses()
2021-08-23 19:49:37 +01:00
Geoffrey White
bc9994774a
Merge pull request #6515 from MathiasVP/clarify-initialization-vs-assignment-in-docs
...
C++: Clarify difference between 'Initializer' and 'Assignment'.
2021-08-23 18:00:36 +01:00
Ian Lynagh
1e06808105
Update cpp/change-notes/2021-08-23-getPrimaryQlClasses.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-08-23 16:52:07 +01:00
Chris Smowton
57d44b8a40
Merge pull request #6538 from atorralba/atorralba/fix-test-generator-qlpack
...
Java: Adapt test generator to new qlpack name
2021-08-23 15:57:38 +01:00
Ian Lynagh
a9db1c52e5
All languages: Add getPrimaryQlClasses()
...
This is a non-overridable predicate that concatenates all the
getAPrimaryQlClass() results into a comma-separated string.
2021-08-23 15:49:10 +01:00
Shati Patel
2a51abdee3
Merge pull request #6523 from shati-patel/vscode-docs
...
Docs: Minor tweaks to VS Code docs (query history + viewing results)
2021-08-23 15:06:09 +01:00
Tony Torralba
1ee2f6f207
Adapt test generator to new package name
2021-08-23 16:05:13 +02:00
Erik Krogh Kristensen
38477d7d2e
Merge pull request #6462 from erik-krogh/repeat
...
JS: support more regular expressions in js/incomplete-multi-character-sanitization
2021-08-23 15:39:31 +02:00
Shati Patel
1dc18c4f9c
Update docs/codeql/codeql-for-visual-studio-code/analyzing-your-projects.rst
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-08-23 14:37:51 +01:00
yoff
0c0f335b1c
Merge pull request #6508 from github/RasmusWL-patch-1
...
Python: Update comment for RegExpTreeView isExcluded
2021-08-23 15:07:29 +02:00
Anders Fugmann
c04ba7b724
C++: Revert benign change of return type from 'unsigned int' to 'int' in testcase, and add 'GOOD' annotation to the testcase
2021-08-23 14:58:43 +02:00
Anders Fugmann
9324d8f348
C++: Fix case where implicit downcasts were not detected when using reference
2021-08-23 14:44:49 +02:00
Anders Fugmann
8939a9b2c1
C++: Add tests for implicit downcast involving references
2021-08-23 14:42:36 +02:00
Chris Smowton
0210d85ce8
Merge pull request #6499 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-23 11:26:36 +01:00
Chris Smowton
4cfa0f66a8
Merge pull request #6526 from github/aeisenberg/pack/java-default
...
Packaging: Migrate default.qll
2021-08-23 11:05:00 +01:00
yoff
467aa647da
Merge pull request #6507 from tausbn/python-prevent-polynomial-redos-explosion
...
Python: Prevent explosion in poly-ReDoS query
2021-08-23 11:48:14 +02:00
Erik Krogh Kristensen
5fe6671cc5
making it more explicit what character class matching is used for
2021-08-23 08:30:50 +02:00
Erik Krogh Kristensen
5d232bbfce
recognize more src folders when "main" in package.json points to a compiled output
2021-08-23 08:09:01 +02:00
Erik Krogh Kristensen
32ac8778bd
add the cwd option to shell executions as a sink to js/path-injection
2021-08-23 07:32:05 +02:00
github-actions[bot]
7d9f06fb63
Add changed framework coverage reports
2021-08-23 00:08:11 +00:00
Andrew Eisenberg
2042cc7871
Packaging: Migrate default.qll
2021-08-20 20:01:29 -07:00
Andrew Eisenberg
eda7616a23
Merge pull request #6514 from github/aeisenberg/pack/java
...
Packaging: Refactor java and C#
2021-08-20 15:24:13 -07:00
Andrew Eisenberg
8e75fef923
Fix identical files script
2021-08-19 14:55:54 -07:00
Andrew Eisenberg
c9f1c98390
Packaging: C# refactoring
...
Split c# pack into `codeql/csharp-all` and `codeql/csharp-queries`.
2021-08-19 14:09:35 -07:00
Andrew Eisenberg
8e750f18ad
Packaging: Java refactoring
...
Split java pack into `codeql/java-all` and `codeql/java-queries`.
2021-08-19 14:09:35 -07:00
Andrew Eisenberg
39533317ff
Merge pull request #6524 from github/aeisenberg/cpp/move-file
...
C++: Move file from src to lib
2021-08-19 13:46:31 -07:00
Andrew Eisenberg
2b36378917
C++: Move file from src to lib
...
Neglected to do this one earlier.
2021-08-19 13:12:42 -07:00
shati-patel
03953ef32d
Update default query history format
2021-08-19 19:07:47 +01:00
shati-patel
58073ceeb1
Docs: Update options for viewing results in VS Code
2021-08-19 19:07:29 +01:00
Owen Mansel-Chan
714e126088
Merge pull request #6370 from owen-mc/java/model/apache-collections
...
Java: Model more of Apache Commons Collections
2021-08-19 15:09:06 +01:00
Asger Feldthaus
2553338bce
JS: Autoformat {AST,HTML}Extractor.java
2021-08-19 14:54:05 +02:00
Asger Feldthaus
bac212c610
JS: Fix typo: instantiaton -> instantiation
2021-08-19 14:41:18 +02:00
Asger Feldthaus
a1819a54f2
JS: Remove unused isInPlainCodeContext
2021-08-19 14:22:05 +02:00
Asger Feldthaus
bef222dfcc
JS: Add placeholder in attribute to trap test
2021-08-19 14:19:25 +02:00
CodeQL CI
1e1ee55ade
Merge pull request #6511 from asgerf/js/vue-component-renaming
...
Approved by erik-krogh
2021-08-19 12:57:15 +01:00
Mathias Vorreiter Pedersen
207dcb08a7
C++: Make it clear that 'getAnAssignment' also gets the expression from the initializer.
2021-08-19 13:38:32 +02:00
Alexandre Boulgakov
297ae91e3b
Merge pull request #6516 from sashabu/sashabu/elements
...
C++: Move element tests to internal repo.
2021-08-19 11:28:43 +01:00
Mathias Vorreiter Pedersen
586c5b90c1
C++: Mention Variable.getAnAssignedValue() in the QLDoc for getAnAssignment.
2021-08-19 12:27:03 +02:00
Joe Farebrother
9dc28eb9b5
Merge pull request #6387 from joefarebrother/guava-cache
...
Java: Model guava cache package
2021-08-19 10:53:48 +01:00
Tamás Vajk
763de4fff9
Merge pull request #6425 from raulgarciamsft/insecureRandom_potential_fix
...
C#: Adding Membership.GeneratePassword() as a bad source of random data
2021-08-19 11:16:26 +02:00
Alexandre Boulgakov
89e52bf500
C++: Move element tests to internal repo.
2021-08-19 09:48:13 +01:00
Mathias Vorreiter Pedersen
01dfab2aec
Update cpp/ql/lib/semmle/code/cpp/exprs/Assignment.qll
...
Co-authored-by: Matan Merom <1010225+matan7890@users.noreply.github.com >
2021-08-19 10:32:46 +02:00
Tamas Vajk
d97525e21e
Fix minor quality issues in comment and change note
2021-08-19 09:30:23 +02:00
Mathias Vorreiter Pedersen
f5c23c9c52
C++: Clarify the difference between 'Initializer' and 'Assignment' in the QLDoc for these classes.
2021-08-19 08:33:27 +02:00
Alexandre Boulgakov
1eb804a072
Merge pull request #6496 from sashabu/sashabu/c_linkage
...
C++: Allow querying for "C" language linkage on routine types.
2021-08-18 17:46:44 +01:00
Chris Smowton
48818ebd6d
Merge pull request #6434 from smowton/smowton/admin/jodd-unsafe-deserialization
...
Java: Unsafe deserialization: add support for Jodd JSON library
2021-08-18 17:26:02 +01:00
Mathias Vorreiter Pedersen
24638418f1
Merge pull request #6503 from andersfugmann/model_strdupa_functions
...
C++: Model strdupa and strndupa
2021-08-18 17:48:04 +02:00
Shati Patel
089077ed60
Merge pull request #6322 from shati-patel/shati-patel/docs-multi-dbs-vscode
...
Docs: Running query on multiple DBs in CodeQL for VS Code
2021-08-18 16:41:10 +01:00
Alexandre Boulgakov
3ba308a69f
C++: Allow querying for "C" language linkage on routine types.
2021-08-18 15:35:30 +01:00
Taus
021e5ff510
Python: Autoformat
2021-08-18 14:27:54 +00:00
Rasmus Wriedt Larsen
60eb81106a
Python: Update comment for RegExpTreeView isExcluded
...
I noticed after reading https://github.com/github/codeql/pull/6507 , but didn't want to overload that PR.
2021-08-18 16:16:26 +02:00
Chris Smowton
cc4fe7375c
Merge pull request #5953 from github/sauyon/java/spring-webutil
...
Java: Add models for the Spring `web.util` package
2021-08-18 15:07:28 +01:00
Mathias Vorreiter Pedersen
27df2727e9
Merge pull request #6501 from erik-krogh/rank
...
CPP/C#: use min() instead of rank[1]()
2021-08-18 15:47:08 +02:00
Asger Feldthaus
eef7f559c6
JS: Change note
2021-08-18 15:36:41 +02:00
Asger Feldthaus
cde8059960
JS: Update some comments referring to Vue instances
2021-08-18 15:36:41 +02:00
Asger Feldthaus
165f6c6935
JS: Add a deprecated forwarder for Vue::Instance
2021-08-18 15:36:41 +02:00
Asger Feldthaus
7b6485c32a
JS: Rename some test predicates to match class name
2021-08-18 15:36:41 +02:00
Asger Feldthaus
b21071923e
JS: Rename variables to match new class name
2021-08-18 15:36:41 +02:00
Asger Feldthaus
0a98679f74
JS: Rename Vue::Instance to Vue::Component
2021-08-18 15:36:41 +02:00
Anders Fugmann
0b98b39f91
C++: Test dataflow tests for strdupa and strndupa functions
2021-08-18 15:22:14 +02:00
Taus
af91a2df00
Python: Prevent explosion in poly-ReDoS query
...
I consider this to be a short-term solution to the performance problems
we identified. The choice of "at most ten occurrences of `.*`" is
somewhat arbitrary, and it's possible a higher limit would work just as
well.
2021-08-18 13:21:46 +00:00
Anders Fugmann
44752d5ee0
C++: Model strdupa and strndupa string functions returning memory allocated with alloca
2021-08-18 13:12:08 +02:00
Asger Feldthaus
4a1fb5df5d
JS: De-abstractify Vue::Instance class
2021-08-18 11:14:25 +02:00
Asger Feldthaus
40ae13a20e
JS: Rename Vue::{Component -> ComponentRegistration}
2021-08-18 11:14:25 +02:00
Erik Krogh Kristensen
dd59f79947
use min() instead of rank[1]()
2021-08-18 11:09:03 +02:00
Erik Krogh Kristensen
4cc2ac9d35
exclude char classes that match everything
2021-08-18 08:59:17 +00:00
Aditya Sharad
21d03cd365
Merge pull request #6488 from github/aeisenberg/pack/cpp
...
Packaging: Refactor cpp libraries
2021-08-17 16:44:04 -07:00
Andrew Eisenberg
03d6b15401
Merge branch 'main' into aeisenberg/pack/cpp
2021-08-17 15:28:47 -07:00
Andrew Eisenberg
88ceb42356
Packaging: Migrate cpp experimental/semmle folder to lib
...
Also, fix up some library path dependencies.
2021-08-17 14:41:41 -07:00
Andrew Eisenberg
d8e4e25c1e
Packaging: Fix query pack references
...
We can't have recursive references to query packs.
2021-08-17 13:03:40 -07:00
Sauyon Lee
17cef3f498
Address review comments
2021-08-17 12:45:47 -07:00
Andrew Eisenberg
2c5dd2dfa3
Packaging: Refactor the cpp libraries
...
This PR separates the core cpp packs into `codeql/cpp-queries` and
`codeql/cpp-all`.
There are very few lines of code changed. Almost all changes are moving
files around.
2021-08-17 11:22:36 -07:00
Joe Farebrother
076aeb5d80
Update tests
2021-08-17 16:44:58 +01:00
Mathias Vorreiter Pedersen
88372df125
Merge pull request #6495 from andersfugmann/more_buffer_overrun_tests
...
More buffer overrun tests
2021-08-17 16:18:36 +02:00
yoff
50a4345235
Merge pull request #6161 from RasmusWL/peewee-modeling
...
Python: Add modeling of `peewee`
2021-08-17 16:06:35 +02:00
Anders Fugmann
666d5917fa
C++: Avoid inclusion of standard headers
2021-08-17 15:56:28 +02:00
Anders Fugmann
469f8a638b
C++: Add more tests for buffer overruns
2021-08-17 15:21:33 +02:00
Anders Fugmann
35b7808866
C++: Fix wrong comment on what is tested
2021-08-17 15:21:03 +02:00
Rasmus Wriedt Larsen
3231ae77ef
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-08-17 15:17:10 +02:00
Erik Krogh Kristensen
25d29b2c29
add change-note
2021-08-17 15:12:15 +02:00
Erik Krogh Kristensen
3f7f5d2418
performance improvements in ReDoSUtil
2021-08-17 15:10:33 +02:00
Erik Krogh Kristensen
49e47641e4
sync ReDoSUtil.qll with python
2021-08-17 15:10:33 +02:00
Erik Krogh Kristensen
9c2d83e82b
add tests
2021-08-17 15:10:30 +02:00
Erik Krogh Kristensen
6d06550f7d
update expected output
2021-08-17 15:10:30 +02:00
Erik Krogh Kristensen
5d4c434d34
restrict char class matches to alpha-numeric chars
2021-08-17 15:10:30 +02:00
Erik Krogh Kristensen
59f0a41665
support more regular expressions in js/incomplete-multi-character-sanitization
2021-08-17 15:10:20 +02:00
Chris Smowton
92d1becf08
Merge pull request #6474 from github/yo-h-patch-1
...
Java: add `org.json` package to known frameworks
2021-08-17 14:09:39 +01:00
Chris Smowton
c52a51e5c8
Merge pull request #6454 from smowton/smowton/admin/change-note-wording
...
Java: Elaborate change note a little
2021-08-17 14:08:04 +01:00
CodeQL CI
92804a3cc3
Merge pull request #6487 from erik-krogh/moreJquerySinks
...
Approved by asgerf
2021-08-17 11:46:24 +01:00
Cornelius Riemenschneider
341dad5f73
Merge pull request #6490 from criemen/criemen/delete-flaky-test
...
JS: Delete flaky test.
2021-08-17 12:33:03 +02:00
CodeQL CI
e3cdc4522e
Merge pull request #6450 from asgerf/js/query-suffix-convention2
...
Approved by erik-krogh
2021-08-17 11:31:21 +01:00
Rasmus Wriedt Larsen
15d483d56c
Python: Use TypeTrackingNode in new PEP249 modeling
2021-08-17 12:03:40 +02:00
Rasmus Wriedt Larsen
b649f5f38c
Merge branch 'main' into peewee-modeling
2021-08-17 12:03:18 +02:00
Tom Hvitved
44ff623d8c
Merge pull request #5508 from edvraa/deserializers
...
deserialization sinks
2021-08-17 11:41:52 +02:00
Sauyon Lee
390e48fdd2
Remove more redundant models
2021-08-17 02:17:36 -07:00
Cornelius Riemenschneider
59b3d55b9a
JS: Delete flaky test.
2021-08-17 10:58:39 +02:00
Andrew Eisenberg
e566fb9c5a
Packaging: Update suite-helpers qlpack
...
Uses new style naming scheme.
2021-08-16 17:51:33 -07:00
Erik Krogh Kristensen
cc2a267b07
recognize array elements from JQuery objects as DOM values
2021-08-16 22:35:57 +02:00
Chris Smowton
ff3f85be49
Autoformat
2021-08-16 18:09:40 +01:00
Owen Mansel-Chan
b23fabe8cb
Fix errors from previous PR
2021-08-16 16:11:17 +01:00
Joe Farebrother
48c61fc4b4
Update models for Cache.getAllPresent and LoadingCache.getAll
2021-08-16 13:50:54 +01:00
Mathias Vorreiter Pedersen
221a259938
Merge pull request #6486 from ihsinme/ihsinme-patch-textFix
...
correction of the error text
2021-08-16 14:49:33 +02:00
ihsinme
6988912b72
Update UndefinedOrImplementationDefinedBehavior.ql
2021-08-16 15:20:00 +03:00
Erik Krogh Kristensen
46959234b7
Merge pull request #6288 from erik-krogh/emptyRedos
...
JS/Python: Fix FP in redos related to empty lookaheads
2021-08-16 13:48:22 +02:00
Asger Feldthaus
0047536337
JS: Add change note
2021-08-16 13:22:43 +02:00
ihsinme
c63dff639c
Update UndefinedOrImplementationDefinedBehavior.expected
2021-08-16 14:15:10 +03:00
ihsinme
74f372d547
Update UndefinedOrImplementationDefinedBehavior.ql
2021-08-16 14:11:28 +03:00
Asger Feldthaus
4923bda0f3
JS: Autoformat
2021-08-16 12:33:55 +02:00
Tamás Vajk
166a6b02f6
Merge pull request #6268 from tamasvajk/feature/generic-type-name
...
C#: Remove type args/params from generic type names in extractor
2021-08-16 12:22:16 +02:00
Chris Smowton
497f36796c
Merge pull request #6483 from Marcono1234/marcono1234/callable-string-signature-doc
...
Java: Improve Callable.getStringSignature() documentation
2021-08-16 11:05:59 +01:00
Erik Krogh Kristensen
e962a7c77c
Update python/ql/src/semmle/python/RegexTreeView.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-08-16 11:24:05 +02:00
Fosstars
fbac5891b8
Fixed a typo in qldoc
2021-08-14 21:28:30 +02:00
Marcono1234
48872b4588
Java: Improve Callable.getStringSignature() documentation
2021-08-14 19:58:55 +02:00
Fosstars
e2dc9753ac
Covered copyOfRange() and clone() in ArrayUpdate
2021-08-14 13:25:46 +02:00
Fosstars
d218813320
Updated qldoc for ArrayUpdate
2021-08-14 13:09:14 +02:00
Fosstars
11992404ec
Be precise when checking for Cipher.ENCRYPT_MODE
2021-08-14 12:18:02 +02:00
Fosstars
4e69081c22
Support multi-dimensional arrays
2021-08-13 20:52:27 +02:00
Sarita Iyer
57ff8e7138
Merge pull request #6473 from github/sarita-iyer/codeql-packs-vscode
...
Added article for working with codeQL packs in VS Code
2021-08-12 16:08:00 -04:00
Sarita Iyer
a373ac8332
Update period at end of quote
2021-08-12 15:42:23 -04:00
Sarita Iyer
eb2ef23d56
Apply suggestions from code review
...
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com >
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-08-12 14:57:13 -04:00
Sauyon Lee
814004e63d
Add tests for html escape functions
2021-08-12 11:20:49 -07:00
Sauyon Lee
ed1d855025
Java: Remove redundant models from Spring web.util and fix typo
2021-08-12 11:20:49 -07:00
Sauyon Lee
9c1d5a70e3
Java: Add test for XSS sanitizer
2021-08-12 11:20:49 -07:00
Sauyon Lee
9a5c0f6c73
Java: Add HTML escapes as XSS sanitizers
...
Co-Authored-By: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-12 11:20:49 -07:00
Sauyon Lee
eb980e2a40
Add change note
2021-08-12 11:20:49 -07:00
Sauyon Lee
d86dffbb5d
Add tests for Spring web.util
2021-08-12 11:20:48 -07:00
Sauyon Lee
fd0ea15719
Add stubs for Spring web.util tests
2021-08-12 11:20:48 -07:00
Sauyon Lee
25649a61c4
Java: Add models for the Spring web.util package
2021-08-12 11:20:48 -07:00
Sarita Iyer
d1190dc5f2
Switch from object to element, and clarify package cache functionality
2021-08-12 10:41:20 -04:00
Owen Mansel-Chan
1c2476c6a1
Add explanatory comments
2021-08-12 14:51:49 +01:00
Owen Mansel-Chan
fe477ff989
Fix more models based on review comments
2021-08-12 14:51:37 +01:00
Shati Patel
1707fb8821
Merge pull request #6475 from github/correct-link-syntax
...
Fix markup in `metadata-for-codeql-queries.rst`
2021-08-12 09:36:18 +01:00
Asger Feldthaus
a6c389698e
JS: Fix DomBasedXssQuery.qll
2021-08-12 09:31:24 +02:00
Asger Feldthaus
fd027451b1
JS: Fix StoresXss example query
2021-08-12 09:30:43 +02:00
Asger Feldthaus
020d65befc
Fix StoredXssTypeTracking example query
2021-08-12 09:30:43 +02:00
Asger Feldthaus
cb0075f15a
JS: Remove use of deprecated API
2021-08-12 09:30:43 +02:00
Asger Feldthaus
3a6da34454
JS: Add missing QLdoc
2021-08-12 09:30:43 +02:00
Asger Feldthaus
71930f93f1
JS: Fix cleartext logging
2021-08-12 09:30:43 +02:00
Asger Feldthaus
abb819ed88
JS: Fix insecure randomness
2021-08-12 09:30:43 +02:00
Asger Feldthaus
5638a33199
JS: Remove obsolete module prefix
2021-08-12 09:30:43 +02:00
Asger Feldthaus
f6da030572
JS: Migrate to *Query.qll convention
2021-08-12 09:30:18 +02:00
CodeQL CI
8fe2a43fd9
Merge pull request #6433 from asgerf/js/tainted-url-suffix
...
Approved by erik-krogh
2021-08-12 00:28:46 -07:00
James Fletcher
3bd918972e
fix markup
2021-08-12 08:16:20 +01:00
yo-h
bd3a24d568
Java: add org.json package to known frameworks
2021-08-11 20:03:32 -04:00
Sarita Iyer
186e011a4b
Added codeql packs info for use in VS code
2021-08-11 15:47:27 -04:00
Alexandre Boulgakov
00466e4bb0
Merge pull request #6464 from sashabu/sashabu/auto
...
C++: Expose trailing return type presence.
2021-08-11 18:43:39 +01:00
Chris Smowton
7a2704373f
Merge pull request #5943 from joefarebrother/java-stub
...
[Java] Add stubbing script
2021-08-11 16:11:53 +01:00
Alexandre Boulgakov
490498899b
C++: Expose trailing return type presence.
2021-08-11 16:04:07 +01:00
Geoffrey White
3f72a1abea
Merge pull request #6471 from MathiasVP/fix-fp-in-incorrect-allocation-error-handling
...
C++: Fix false-positive in 'cpp/incorrect-allocation-error-handling'
2021-08-11 15:56:55 +01:00
CodeQL CI
c8ded7ebf6
Merge pull request #6459 from erik-krogh/oreq
...
Approved by asgerf
2021-08-11 07:40:13 -07:00
Mathias Vorreiter Pedersen
8d594dbf08
Update cpp/ql/test/query-tests/Security/CWE/CWE-570/test.cpp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-08-11 16:18:18 +02:00
Mathias Vorreiter Pedersen
0d1884d7a6
C++: Fix FP and accept test changes.
2021-08-11 15:38:57 +02:00
Mathias Vorreiter Pedersen
c2b1da0010
C++: Add FP testcase with an 'new' that has a 'std::nothrow&' parameter, but not a 'noexcept' specifier. This case was previously not reported because of the 'noexcept' specifier, and apparently the 'std::nothrow' case was broken all along.
2021-08-11 15:38:03 +02:00
Mathias Vorreiter Pedersen
89ce25f247
Merge pull request #6083 from ihsinme/ihsinme-patch-275
...
CPP: Add query for CWE-783 Operator Precedence Logic Error When Use Bitwise Or Logical Operations
2021-08-11 14:40:09 +02:00
Asger Feldthaus
2da40b8b07
JS: Fix some performance issues
2021-08-11 14:31:06 +02:00
ihsinme
6d24047626
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-11 14:34:20 +03:00
Asger Feldthaus
13fa49a7f1
JS: Update TRAP output
2021-08-11 12:54:22 +02:00
Asger Feldthaus
b9b10af9b5
JS: Tolerate parse errors in test due to speculative parsing
2021-08-11 12:54:22 +02:00
Asger Feldthaus
74505544e9
JS: Remove unused getTemplateContentNode
2021-08-11 12:54:22 +02:00
Asger Feldthaus
5d2bc5e40b
JS: Update stats file
2021-08-11 12:54:22 +02:00
Asger Feldthaus
31d93bb150
JS: Add upgrade script
2021-08-11 12:54:22 +02:00
Asger Feldthaus
349a851631
JS: Add change note
2021-08-11 12:54:19 +02:00
Asger Feldthaus
65b44248f8
JS: Autoformat
2021-08-11 12:50:54 +02:00
Asger Feldthaus
4f4f524937
JS: Add test for upward traversal
2021-08-11 12:50:54 +02:00
Asger Feldthaus
b7339348ef
JS: Add tests for EJS includes
2021-08-11 12:50:54 +02:00
Asger Feldthaus
b1cadc8ae7
JS: Add test for AngularJS sinks
2021-08-11 12:50:54 +02:00
Asger Feldthaus
e61d534c59
JS: Add ambiguity test for template file resolution
2021-08-11 12:50:54 +02:00
Asger Feldthaus
308461a3e3
JS: Pass around base folder in file resolution
2021-08-11 12:50:54 +02:00
Asger Feldthaus
e8d10b983e
JS: Tests for template file resolution
2021-08-11 12:50:54 +02:00
Asger Feldthaus
28fe8da37c
JS: Add similar test for .njk file
2021-08-11 12:50:54 +02:00
Asger Feldthaus
1444ec5255
JS: Add similar test for hbs
2021-08-11 12:50:54 +02:00
Asger Feldthaus
7045fb4679
JS: Expand on test
2021-08-11 12:50:54 +02:00
Asger Feldthaus
ec5e0283d5
JS: Bump extractor version string
2021-08-11 12:50:54 +02:00
Asger Feldthaus
e3e24f9880
JS: Use separate ScopeManager for template exprs
2021-08-11 12:50:54 +02:00
Asger Feldthaus
b36e9e0e54
JS: Filter out common string literal sinks
2021-08-11 12:50:53 +02:00
Asger Feldthaus
f563a015a4
JS: Recognize .njk extension in QL
2021-08-11 12:50:53 +02:00
Asger Feldthaus
e19b6c2c3b
JS: Update taint step
2021-08-11 12:50:53 +02:00
Asger Feldthaus
13aa511364
JS: Support TemplatePlaceholderTag.getEnclosingExpr
...
fixup! makeLocation
2021-08-11 12:50:52 +02:00
Asger Feldthaus
0a14de1741
JS: Also extract .njk files
2021-08-11 12:36:35 +02:00
Asger Feldthaus
14bada4bbe
JS: Model consolidate and factor in template syntax from call site
2021-08-11 12:36:35 +02:00
Asger Feldthaus
425bd7abf9
JS: Model template instantiation from Fastify, Hapi, and Koa
2021-08-11 12:36:35 +02:00
Asger Feldthaus
266c10462e
JS: More aggressive TemplateFileReference.getValue
2021-08-11 12:36:35 +02:00
Asger Feldthaus
bc73d9f431
JS: Support templates importing each other
2021-08-11 12:36:35 +02:00
Asger Feldthaus
bb80fdddbd
JS: Handle leading ../ in template resolution
2021-08-11 12:36:35 +02:00
Asger Feldthaus
6954a9ac23
JS: Treat EJS-include calls as template instantiations
...
JS: Fixup EJS include call (API node)
2021-08-11 12:36:35 +02:00
Asger Feldthaus
248715c743
JS: Restrict FileAccessToHttp a bit
2021-08-11 12:36:35 +02:00
Asger Feldthaus
8a50d99f33
JS: Treat GeneratedCodeExpr as DirectEval in UnusedVariable.ql
2021-08-11 12:36:35 +02:00
Asger Feldthaus
623557ba39
JS: "this" in a template is not the global object
2021-08-11 12:36:35 +02:00
Asger Feldthaus
ee33c593e0
JS: Autoformat
2021-08-11 12:36:34 +02:00
Asger Feldthaus
0f27bffb05
JS: Add sinks for server-template tags in AngularJS templates
2021-08-11 12:36:34 +02:00
Asger Feldthaus
d6dbabf9e0
JS: Ignore empty char sequences
2021-08-11 12:36:34 +02:00
Asger Feldthaus
745f9b36e0
JS: Exclude non-code script tags
2021-08-11 12:36:34 +02:00
Asger Feldthaus
2412f530f9
JS: Add steps and sinks for pipes
2021-08-11 12:36:34 +02:00
Asger Feldthaus
23eeb49959
JS: Detect relevant templating syntax, and add sinks
2021-08-11 12:36:34 +02:00
Asger Feldthaus
f3b97f05c9
JS: Add steps to/from placeholder tags
2021-08-11 12:36:34 +02:00
Asger Feldthaus
f1c663b01b
JS: Add steps from instantiation site to placeholder expr
2021-08-11 12:36:34 +02:00
Asger Feldthaus
5659a8a30f
JS: Add template resolution logic
2021-08-11 12:36:34 +02:00
Asger Feldthaus
1474c0788b
JS: Introduce TemplateInstantiation
2021-08-11 12:36:34 +02:00
Asger Feldthaus
8fe2d84d53
JS: Move template-related classes to Templating file
2021-08-11 12:36:34 +02:00
Asger Feldthaus
f26e94c0db
JS: Rename to Angular-style template
2021-08-11 12:36:34 +02:00
Asger Feldthaus
66cec65bfb
JS: Format HTMLExtractor
2021-08-11 12:36:34 +02:00
Asger Feldthaus
8666bc1894
JS: Extract placeholders in HTML
2021-08-11 12:36:31 +02:00
Chris Smowton
d45d58804b
Merge pull request #6466 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-11 07:56:55 +01:00
github-actions[bot]
5db82651fe
Add changed framework coverage reports
2021-08-11 00:13:37 +00:00
jorgectf
e6ce10b5c5
Merge remote-tracking branch 'origin/main' into jty/python/nosqlInjection
2021-08-10 20:01:08 +02:00
Joe Farebrother
7462180dcd
Improve handling or array types
2021-08-10 16:52:38 +01:00
Joe Farebrother
207c753f6f
Update model for getAll
2021-08-10 15:05:02 +01:00
Tamas Vajk
243424063a
Add pragma inline to getMember/Method/Callable
2021-08-10 13:25:56 +02:00
Tamas Vajk
51661bfa62
Add pragma noinline to fix uselessUpcast check
2021-08-10 13:24:30 +02:00
Owen Mansel-Chan
2000985509
Remove duplicate test
2021-08-10 11:58:28 +01:00
Owen Mansel-Chan
a55a32f50a
Add more missing models
...
And corresponding tests
2021-08-10 11:35:20 +01:00
Erik Krogh Kristensen
01a202fa10
fix cfg and dataflow for logical compound assignments
2021-08-10 12:17:59 +02:00
Asger Feldthaus
b1ce3d1c5a
JS: Do not extract binary HTML
2021-08-10 12:15:44 +02:00
Asger Feldthaus
96a2c3f2db
JS: Extract .hbs and .ejs as HTML
2021-08-10 12:15:44 +02:00
Asger Feldthaus
e678c16d59
JS: Parse EJS-style template tags
2021-08-10 12:15:44 +02:00
Asger Feldthaus
a7cdf532fa
JS: Parse mustache-style tags as expressions
2021-08-10 12:15:43 +02:00
Asger Feldthaus
d1c31db06f
JS: Reset implicit variable scope when leaving template expr
2021-08-10 12:15:43 +02:00
Tom Hvitved
d658ef1dcd
Merge pull request #6449 from hvitved/python/contains-in-scope-perf
...
Python: Avoid bad join in `AstExtended::AstNode::containsInScope`
2021-08-10 10:27:00 +02:00
Chris Smowton
cb73100717
Merge pull request #6458 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-10 09:23:53 +01:00
Chris Smowton
9f9c76390f
Nudge CI
2021-08-10 09:12:18 +01:00
Asger Feldthaus
d83f5a9cd7
JS: Update StringConcatenation tests after handling 0-arg join calls
2021-08-10 08:56:36 +02:00
Asger Feldthaus
a3e56dea5e
JS: Factor out StringOps::substringMethodName
2021-08-10 08:55:04 +02:00
Asger Feldthaus
1074d409fb
JS: Autoformat
2021-08-10 08:55:03 +02:00
Asger Feldthaus
6ef83f8015
JS: Change note
2021-08-10 08:55:03 +02:00
Asger Feldthaus
f1bcfa287b
JS: Add more tests
2021-08-10 08:55:03 +02:00
Asger Feldthaus
4efea4316e
JS: Use TaintedUrlSuffix flow label in jQuery xss
2021-08-10 08:55:03 +02:00
Asger F
077aa05336
Merge pull request #6448 from asgerf/js/handlebars-extraction-preliminary
...
JS: Update locations in Angular2 test
2021-08-10 08:50:18 +02:00
github-actions[bot]
22fe354aab
Add changed framework coverage reports
2021-08-10 00:07:47 +00:00
Owen Mansel-Chan
54fdfe3906
Make helper functions more consistent
2021-08-09 17:18:03 +01:00
Owen Mansel-Chan
2d31bb8d64
Remove toString taint propagation
...
We do not do this for other overrides of toString
2021-08-09 17:18:02 +01:00
Owen Mansel-Chan
487a46ae77
Improve treatment of new and old package name
2021-08-09 16:25:11 +01:00
Chris Smowton
021e405294
Elaborate change note a little
2021-08-09 15:33:21 +01:00
Chris Smowton
5ba9347281
Merge pull request #6006 from artem-smotrakov/timing-attacks
...
Java: Timing attacks while comparing results of cryptographic operations
2021-08-09 15:30:47 +01:00
Chris Smowton
171dc26531
Fix test reference and expectations
2021-08-09 13:56:55 +01:00
Tom Hvitved
ea6d51f123
Python: Avoid bad join in AstExtended::AstNode::containsInScope
2021-08-09 11:20:57 +02:00
Asger Feldthaus
88500a3fa3
JS: Update TRAP test output
2021-08-09 11:19:08 +02:00
Asger Feldthaus
2836d465e4
JS: Update locations in Angular2 test
2021-08-09 11:03:15 +02:00
Tamas Vajk
91bd3d1a11
Cache getName to improve performance
2021-08-09 10:28:31 +02:00
Tom Hvitved
15db6dfb10
Merge pull request #6431 from hvitved/csharp/silence-xml-extraction
...
C#: Silence XML extraction commands
2021-08-09 09:36:23 +02:00
CodeQL CI
562ba49f4e
Merge pull request #6406 from erik-krogh/cleanCfg
...
Approved by asgerf
2021-08-09 00:21:31 -07:00
Tamás Vajk
c1cf2a1c5f
Merge pull request #5579 from edvraa/cookies
...
C#: HttpOnly and Secure cookie queries
2021-08-09 08:58:11 +02:00
Owen Mansel-Chan
1997dfbb4a
Remove unnecessary casts
2021-08-08 14:03:57 +01:00
Owen Mansel-Chan
f94e467076
Fixes to models and tests
...
Running the test generator script again showed many missing tests.
2021-08-08 14:03:48 +01:00
Owen Mansel-Chan
377403d525
Remove redundant models and corresponding test
...
Iterator.next is already modelled
2021-08-08 13:57:51 +01:00
Owen Mansel-Chan
5d3f10824e
Fix erroneous treatment of varargs in models
2021-08-08 13:57:50 +01:00
Fosstars
df0f9ee3a5
Fixed a few typos
2021-08-08 12:50:04 +02:00
Owen Mansel-Chan
9533f12e24
Add explanatory commented for MapIterator model
2021-08-06 07:06:36 +01:00
Owen Mansel-Chan
2ba41df2ba
Remove commented line
2021-08-06 07:06:36 +01:00
Owen Mansel-Chan
d1a440a45a
Improve helper functions for Put
2021-08-06 07:06:35 +01:00
Owen Mansel-Chan
26f5ac9ff2
Add change note
2021-08-06 07:06:35 +01:00
Owen Mansel-Chan
b922d7c6f3
Duplicate models for old package name
...
The package name was org.apache.commons.collection until release 4.0.
2021-08-06 07:06:34 +01:00
Owen Mansel-Chan
51a7018afc
Add stubs
2021-08-06 07:06:16 +01:00
Raul Garcia
2708326624
Update csharp/ql/test/query-tests/Security Features/CWE-338/InsecureRandomness.cs
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-08-05 16:33:01 -07:00
Raul Garcia (MSFT)
e117077761
Adding change-note
2021-08-05 15:29:18 -07:00
Chris Smowton
0b6c991ac4
Unsafe deserialization: add support for Jodd JSON library
2021-08-05 16:01:14 +01:00
Shati Patel
8bb47b91b9
Merge pull request #6426 from shati-patel/docs/cwe-coverage
...
Docs: Make TOC more visible and add note about CWE coverage
2021-08-05 15:01:29 +01:00
Shati Patel
97dd88661e
Merge pull request #6427 from shati-patel/docs/vscode-tests
...
Docs: Mention setting for running tests in VS Code (already shipped)
2021-08-05 15:01:20 +01:00
Tom Hvitved
5b5ed97421
C#: Silence XML extraction commands
2021-08-05 15:24:01 +02:00
Tom Hvitved
4ee5cc5557
Merge pull request #6428 from hvitved/csharp/xss-nodes
...
C#: Add missing `nodes` predicate to XSS queries
2021-08-05 15:03:22 +02:00
Tom Hvitved
9eb3f28ef1
C#: Add missing nodes predicate to XSS queries
2021-08-05 13:53:52 +02:00
Tom Hvitved
6471092139
Merge pull request #6394 from github/p0/csharp-virtual-dispatch-limit
...
C#: Guard against virtual dispatch branching too much.
2021-08-05 13:20:14 +02:00
shati-patel
dbf49a8257
Docs: Mention setting for running tests in VS Code
2021-08-05 11:27:20 +01:00
shati-patel
09f3001048
Docs: Make TOC more visible and add note about CWE coverage
2021-08-05 10:55:41 +01:00
Anders Schack-Mulligen
c29353db80
Merge pull request #6424 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-05 09:48:53 +02:00
Tony Torralba
0356ed7f9e
Merge pull request #5911 from atorralba/atorralba/promote-missing-jwt-signature-check
...
Java: Promote Missing JWT signature check query from experimental
2021-08-05 09:43:03 +02:00
Anders Schack-Mulligen
1932f604dc
Merge pull request #6419 from smowton/smowton/admin/unsafe-deserialization-jabsorb
...
Add unsafe-deserialization support for Jabsorb
2021-08-05 09:04:23 +02:00
Erik Krogh Kristensen
d3ea58002d
fix a case in union where order wasn't necessarily preserved
2021-08-05 08:48:15 +02:00
Erik Krogh Kristensen
6ca53c8b25
a little more special casing in CFGExtractor union
2021-08-05 08:32:56 +02:00
CodeQL CI
475032780e
Merge pull request #6311 from asgerf/js/dom-element-methods
...
Approved by erik-krogh
2021-08-04 23:18:34 -07:00
Raul Garcia (MSFT)
7340a1293f
Fixing query & test
2021-08-04 19:37:57 -07:00
Raul Garcia (MSFT)
8544356f90
Adding Membership.GeneratePassword() as a bad source of random data because of the bias.
2021-08-04 17:12:00 -07:00
github-actions[bot]
9d13edb325
Add changed framework coverage reports
2021-08-05 00:08:17 +00:00
Erik Krogh Kristensen
7e422a656a
remove unused imports
2021-08-04 23:41:36 +02:00
Erik Krogh Kristensen
ff9943906d
micro optimize the hot loops by adding special cases and removing streams
2021-08-04 23:35:58 +02:00
Fosstars
b913928294
Renamed queries and merged qhelp files
2021-08-04 17:54:16 +02:00
Chris Smowton
1f08c3fe55
Move test files to appropriate package directories
2021-08-04 16:50:03 +01:00
edvraa
db2f9add53
Post merge
2021-08-04 18:37:17 +03:00
Chris Smowton
5a42448888
Code review suggestions
...
- Remove unneeded import
- Remove unnecessary `toLowerCase` call
2021-08-04 16:08:07 +01:00
Chris Smowton
69549e9ce3
Add unsafe-deserialization support for Jabsorb
...
This is partly extracted from https://github.com/github/codeql/pull/5954
2021-08-04 15:35:50 +01:00
Asger Feldthaus
1b67b43b40
JS: Change note
2021-08-04 16:25:59 +02:00
Asger Feldthaus
00f4694616
JS: Recognize methods returning DOM objects
2021-08-04 16:25:56 +02:00
Anders Schack-Mulligen
5f9f857c34
Update java/ql/src/semmle/code/java/security/JWT.qll
2021-08-04 16:23:21 +02:00
Anders Schack-Mulligen
78998d0ca1
Update java/ql/src/semmle/code/java/security/JWT.qll
2021-08-04 16:22:56 +02:00
Anders Schack-Mulligen
6a09a5667d
Merge pull request #5931 from atorralba/atorralba/promote-jndi-injection
...
Java: Promote JNDI Injection query from experimental
2021-08-04 15:48:44 +02:00
Owen Mansel-Chan
2e04319d9f
Manually improve tests
2021-08-04 14:27:01 +01:00
Owen Mansel-Chan
a538699a0a
Add automatically generated tests
2021-08-04 14:27:00 +01:00
Owen Mansel-Chan
b82389088b
Model interfaces in Apache Commons Collections main package
2021-08-04 14:26:59 +01:00
Owen Mansel-Chan
39ea0a989a
Model *Utils classes
2021-08-04 14:26:58 +01:00
Tony Torralba
bc9563c073
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-04 14:40:32 +02:00
Tony Torralba
989afb446e
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-04 14:07:10 +02:00
edvraa
d1e41689bb
Merge with main
2021-08-04 14:25:34 +03:00
Tony Torralba
a046d75ea6
Apply suggestions from code review
2021-08-04 13:15:49 +02:00
edvraa
e790ee7c2e
Fix formatting
2021-08-04 14:06:27 +03:00
Tony Torralba
452fd9a8e3
Refactor to path query
2021-08-04 13:05:18 +02:00
Anders Schack-Mulligen
fe654dc8ee
Merge pull request #6418 from github/cwe-918-add-sec-sev
...
Update Security-Severity for CWE-918
2021-08-04 13:04:40 +02:00
Tamas Vajk
6405b89443
Add DB upgrade script to change generic type names to undecorated ones
2021-08-04 12:38:16 +02:00
Tamas Vajk
f1a596ee81
Fix code review findings
2021-08-04 12:38:16 +02:00
Tamas Vajk
62f5af9ac8
Fix TupleType::getName
2021-08-04 12:38:16 +02:00
Tamas Vajk
d3803b01e4
Fix nested generic type qualified names
2021-08-04 12:38:16 +02:00
Tamas Vajk
99fe9d8d07
Fix erroneous space in type name
2021-08-04 12:38:16 +02:00
Tamas Vajk
0cfd73c818
Adjust QL getName to the extracted undecorated names
2021-08-04 12:38:15 +02:00
Tamas Vajk
8df77060ba
C#: Remove type args/params from generic type names in extractor
2021-08-04 12:38:15 +02:00
turbo
a8f84da7ac
Update Security-Severity for CWE-918
2021-08-04 12:17:21 +02:00
Tony Torralba
b586f3ec9c
Make the additional flow step abstract
2021-08-04 12:11:17 +02:00
Tony Torralba
f4bc4df8c1
Renamed JWTQuery so that it's named after the actual query name
2021-08-04 12:08:08 +02:00
Anders Schack-Mulligen
1a078c38ad
Merge pull request #6412 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-04 09:58:34 +02:00
github-actions[bot]
8a2acda53c
Add changed framework coverage reports
2021-08-04 00:07:10 +00:00
Erik Krogh Kristensen
fe551f1359
remove the last use of createCollection
2021-08-03 21:54:55 +02:00
Robert Marsh
55256d434d
Merge pull request #6410 from geoffw0/uncontrolledarithtests
...
C++: Clean up the test directories for cpp/uncontrolled-arithmetic
2021-08-03 12:46:31 -07:00
Geoffrey White
e679eac008
C++: Rename test directories to match the test names, where possible.
2021-08-03 18:43:02 +01:00
Mathias Vorreiter Pedersen
8ce6335383
Merge pull request #6372 from geoffw0/uncontrolledarith
2021-08-03 17:53:39 +02:00
Erik Krogh Kristensen
85d6bfe044
move createCollection to the only place it is used
2021-08-03 16:55:44 +02:00
Erik Krogh Kristensen
ef5ea437c3
remove raw Object type where possible, and simplify accordingly
2021-08-03 16:55:38 +02:00
Geoffrey White
54253bc2eb
C++: Resurrect underflow detection, but only on unsigned types.
2021-08-03 15:02:39 +01:00
Chris Smowton
eaf3d3cc03
Merge pull request #6162 from smowton/smowton/feature/jax-rs-content-type-sensitivity-fixes
...
Jax-RS: implement content-type tracking
2021-08-03 14:53:31 +01:00
Geoffrey White
23ba7dcf9c
Merge pull request #6141 from ihsinme/ihsinme-patch-276
...
CPP: Add a query to find incorrectly used exceptions. 2
2021-08-03 14:46:39 +01:00
Anders Schack-Mulligen
7fb1e1578e
Merge pull request #5894 from atorralba/atorralba/promote-ognl-injection
...
Java: Promote OGNL Injection query from experimental
2021-08-03 15:31:40 +02:00
Anders Schack-Mulligen
be6fd7c22e
Merge pull request #6382 from bmuskalla/stringValueOfTaint
...
Track taint for String.valueOf(..)
2021-08-03 15:30:30 +02:00
Chris Smowton
3bf41491b3
Apply suggestions from code review
2021-08-03 14:15:39 +01:00
Benjamin Muskalla
8ce841493c
Avoid taint for valueOf(Object)
2021-08-03 14:46:55 +02:00
ihsinme
a1755b0b53
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-03 15:42:59 +03:00
ihsinme
e5c30c2edf
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-03 15:29:51 +03:00
Anders Schack-Mulligen
c0d76da1a6
Merge pull request #5846 from atorralba/atorralba/promote-unsafe-android-webview-fetch
...
Java: Promote Unsafe resource loading in Android WebView from experimental
2021-08-03 14:24:34 +02:00
Tony Torralba
f5cbec4938
Fix tests affected by Jackson stubs changes
2021-08-03 14:22:55 +02:00
Anders Schack-Mulligen
fb9feabe64
Merge pull request #6062 from atorralba/atorralba/promote-groovy-injection
...
Java: Promote Groovy Code Injection from experimental
2021-08-03 14:19:15 +02:00
ihsinme
4f09545f24
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-03 15:12:39 +03:00
ihsinme
15e76d1a98
Update cpp/ql/src/experimental/Security/CWE/CWE-783/OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-08-03 15:11:22 +03:00
Mathias Vorreiter Pedersen
43044cd475
Merge pull request #6081 from ihsinme/ihsinme-patch-273
...
CPP: Add a query to find incorrectly used switch
2021-08-03 13:16:45 +02:00
Tony Torralba
a33e0bce9d
Fix tests affected by Jackson stubs changes
2021-08-03 13:15:45 +02:00
Anders Schack-Mulligen
ad86641e22
Merge pull request #6216 from smowton/smowton/admin/serializability-dataflow
...
Create a dataflow instance specifically for the Serializability library
2021-08-03 13:03:49 +02:00
Tony Torralba
c44de87503
Fix reference to PostUpdateNode
2021-08-03 12:45:12 +02:00
Tom Hvitved
ee51e1593f
Merge pull request #6217 from hvitved/csharp/dataflow/csv-override-fix
...
C#: Fix CSV overrides logic
2021-08-03 12:11:26 +02:00
Chris Smowton
36379146c5
Resync dataflow clone
2021-08-03 11:03:30 +01:00
Joe Farebrother
a4659f4e96
Exclude package protected members
2021-08-03 10:51:39 +01:00
Chris Smowton
afa827829a
Make imports private where possible
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-03 10:36:46 +01:00
Chris Smowton
a52c4746bc
Improve docs
2021-08-03 10:36:46 +01:00
Chris Smowton
75310a6609
Create a dataflow instance specifically for the Serializability library
...
Otherwise because this dataflow instance populates AdditionalTaintStep there is an ever-present danger that a user will stumble into creating a recursive configuration, or at least that by using DataFlow5::Configuration for any other purpose they will needlessly recalculate the Serializability dataflow results.
2021-08-03 10:36:46 +01:00
Chris Smowton
f83f950be6
Merge pull request #6325 from smowton/smowton/feature/org-json-models
...
Java: add models of JSON-java, aka `org.json`
2021-08-03 10:33:49 +01:00
Mathias Vorreiter Pedersen
3a456577d8
Merge pull request #6378 from geoffw0/impropnull
...
C++: Test and improve cpp/improper-null-termination
2021-08-03 11:32:15 +02:00
CodeQL CI
07f6ce7f3b
Merge pull request #6398 from erik-krogh/authHeader
...
Approved by esbena
2021-08-03 02:04:35 -07:00
CodeQL CI
394d3349ac
Merge pull request #6213 from asgerf/js/vuex
...
Approved by erik-krogh
2021-08-03 01:49:06 -07:00
Geoffrey White
bb96ca3e00
Merge branch 'main' into impropnull
2021-08-03 09:37:58 +01:00
Anders Schack-Mulligen
62adefb015
Merge pull request #6400 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-03 10:36:27 +02:00
Geoffrey White
db292287db
Merge branch 'main' into impropnull
2021-08-03 09:34:16 +01:00
Tony Torralba
084cda6daa
Merge branch 'main' into atorralba/promote-groovy-injection
2021-08-03 09:53:46 +02:00
Tony Torralba
36565802dc
Delete unnecesary file
...
RequestForgery.expected in experimental was an artifact from a merge that wasn't adequately removed
2021-08-03 09:48:04 +02:00
Tony Torralba
8852f69d36
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-03 09:46:32 +02:00
CodeQL CI
a27cb4b1ae
Merge pull request #6399 from erik-krogh/nunjucks
...
Approved by esbena
2021-08-03 00:45:37 -07:00
Erik Krogh Kristensen
f1f44ceee7
add change-note
2021-08-03 09:11:27 +02:00
Erik Krogh Kristensen
6b579dfad3
normalize auth-headers to lowercase
2021-08-03 09:09:47 +02:00
Erik Krogh Kristensen
116679d8b6
simplify union
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
8f613b6b16
rename seq to visitSequence
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
e56e56c14e
use Collection instead of Iterable
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
1479376f23
rename visit to visitWithSuccessors to avoid ambiguity
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
4289875747
make utility methods static
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
94a593b208
rename entry and exit to getEntryNode and getExitNode respectively
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
366a16f700
rename the V class to WriteSuccessorsVisitor
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
c059ceaee9
add qldoc to union(xs, ys)
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
8db10aeb9d
add JavaDoc to createIterable and createReversedIterable
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
8fdcd917ee
rename foreach and hcaerof to createIterable and createReversedIterable respectively
2021-08-03 08:59:32 +02:00
Erik Krogh Kristensen
014728a66a
implement hcaerof in terms of foreach
2021-08-03 08:59:32 +02:00
Erik Krogh Kristensen
ca26b5ebbc
rename succ to writeSuccessor/writeSuccessors
2021-08-03 08:59:32 +02:00
Asger Feldthaus
c88d213f37
JS: Use appendToNamespace
2021-08-03 08:52:19 +02:00
Asger Feldthaus
f5f255d93d
JS: Rename getPrefix -> getNamespace
2021-08-03 08:51:35 +02:00
Asger F
ff17d298b0
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-08-03 08:45:56 +02:00
github-actions[bot]
cd65baf481
Add changed framework coverage reports
2021-08-03 00:07:34 +00:00
Ethan Palm
2c6977e5e2
Merge pull request #6327 from ethanpalm/cwe-coverage-tables
...
CodeQL: Display CWE coverage information by language
2021-08-02 18:00:01 -04:00
Erik Krogh Kristensen
87c0c60c22
don't report dummy authentication headers as hardcoded-crendentials
2021-08-02 22:56:14 +02:00
Erik Krogh Kristensen
f719e0ca1b
remove nunjucks template URLs from the target-blank query
2021-08-02 22:46:59 +02:00
Ethan P
6a6993248d
Add note to readme about CWE coverage tables
2021-08-02 13:34:26 -07:00
Chris Smowton
fad1622730
Merge pull request #5435 from haby0/DynamicallyLoadedClasses
...
Java: CWE-470 Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
2021-08-02 16:04:30 +01:00
Tony Torralba
08bdd1aa7a
Merge branch 'main' into atorralba/promote-ognl-injection
2021-08-02 16:05:38 +02:00
Tony Torralba
8b50b3d00f
Add jackson-core to test dependencies
2021-08-02 16:04:49 +02:00
Geoffrey White
904db788ec
Merge branch 'main' into impropnull
2021-08-02 15:00:12 +01:00
Chris Smowton
09a873138d
Add missing qldoc
2021-08-02 14:48:42 +01:00
Chris Smowton
170bb43393
Update java/ql/test/library-tests/frameworks/json-java/test.ql
...
Remove unnecessary import
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-02 14:46:38 +01:00
Chris Smowton
8a78075d3d
Remove redundant method taint flow specifications
2021-08-02 14:30:31 +01:00
Mathias Vorreiter Pedersen
bbbbeda7c3
Merge pull request #6385 from MathiasVP/more-FieldConfiguration-sources
...
C++: Fix missing local flow in AST dataflow
2021-08-02 15:22:07 +02:00
Anders Schack-Mulligen
53e6ddfeb6
Merge pull request #6001 from atorralba/atorralba/promote-mvel-injection
...
Java: Promote MVEL injection query from experimental
2021-08-02 14:40:26 +02:00
Tony Torralba
f4b78ef3bd
Fix stubs
2021-08-02 14:12:05 +02:00
Tony Torralba
9b384d84cc
Merge branch 'main' into atorralba/promote-ognl-injection
2021-08-02 14:06:45 +02:00
Tony Torralba
351a24558d
Add tests for JacksonSerializability
...
Upgraded jackson stubs to 2.12
2021-08-02 14:03:30 +02:00
Tony Torralba
632ae747c7
Fix JacksonModel duplicate row
2021-08-02 12:53:30 +02:00
Anders Schack-Mulligen
3b676d432f
Merge pull request #5900 from artem-smotrakov/unsafe-jackson-deserialization
...
Java: Unsafe deserialization with Jackson
2021-08-02 12:45:30 +02:00
Anders Schack-Mulligen
0a1c754de8
Merge pull request #6395 from github/bmuskalla/fixTypoInVariables
...
Fix typo in variables documentation
2021-08-02 12:30:14 +02:00
Benjamin Muskalla
d678cdc815
Update variables.rst
2021-08-02 12:07:09 +02:00
Pavel Avgustinov
2be9f3e41e
C#: Guard against virtual dispatch branching too much.
...
We have observed databases where dispatch to highly overridden
virtual methots (like Enumerable.GetEnumerator) ends up branching
to many thousands of overrides, if there is not sufficient type
context to prune. This causes performance problems for analyses
that use dataflow.
As an immediate fix, this commit prevents branching to virtual
method overrides if this would result in branching to 1,000 or
more methods.
2021-08-02 09:40:16 +01:00
Tom Hvitved
7a475eb0a2
C#: Fix CSV overrides logic
2021-08-02 10:35:21 +02:00
Tom Hvitved
df29538840
C#: Add test that exhibits bug in CSV overrides logic
2021-08-02 10:35:21 +02:00
Anders Schack-Mulligen
6c973b59ac
Update java/ql/src/semmle/code/java/frameworks/Jackson.qll
2021-08-02 10:16:42 +02:00
Anders Schack-Mulligen
26881ec220
Merge pull request #6389 from github/yo-h-patch-1
...
Java: update `frameworks.rst` with Jackson
2021-08-02 10:07:02 +02:00
Tony Torralba
9fadb26325
Fix qhelp sample
2021-08-02 10:00:59 +02:00
Tony Torralba
4435853c8a
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-08-02 09:56:40 +02:00
ihsinme
375a60194b
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-01 16:44:54 +03:00
ihsinme
14b4e08ce9
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.expected
2021-08-01 16:43:56 +03:00
ihsinme
36131ee16a
Update test.cpp
2021-08-01 16:43:05 +03:00
ihsinme
098773dd10
Update FindIncorrectlyUsedSwitch.ql
2021-08-01 15:04:30 +03:00
ihsinme
80eb4907c0
Update FindIncorrectlyUsedSwitch.expected
2021-08-01 15:03:30 +03:00
ihsinme
5c71a7c024
Update test.c
2021-08-01 15:02:41 +03:00
Fosstars
bd7e7b1371
Better qldoc for timing attacks
2021-08-01 10:18:37 +02:00
Fosstars
44e52517ad
Removed unsafeMacCheckWithArraysDeepEquals() test
2021-08-01 10:12:38 +02:00
Fosstars
0fc487fb04
Better qhelp for timing attacks
2021-08-01 09:57:14 +02:00
Artem Smotrakov
9b953cf0fc
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-01 09:47:07 +02:00
Fosstars
ad54c9d937
Two queries for timing attacks
2021-08-01 09:47:07 +02:00
Artem Smotrakov
e3b6ceade5
Renamed NonConstantTimeCryptoComparison.ql to NonConstantTimeCheckOnSignature.ql
2021-08-01 09:47:06 +02:00
Artem Smotrakov
8b557765b3
Narrow NonConstantTimeCryptoComparison.ql to timing attack on signatures and MACs only
2021-08-01 09:47:06 +02:00
Artem Smotrakov
c359852608
Consider only Cipher.ENCRYPT_MODE in NonConstantTimeCryptoComparison.ql
2021-08-01 09:47:06 +02:00
Artem Smotrakov
1f2a9cdda7
Added taint propagation steps for hashes in NonConstantTimeCryptoComparison.ql
2021-08-01 09:47:06 +02:00
Artem Smotrakov
c96d939cf5
Covered custom fast-fail checks in NonConstantTimeCryptoComparison.ql
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-08-01 09:47:06 +02:00
Artem Smotrakov
6500a1bbbb
More references in NonConstantTimeCryptoComparison.qhelp
2021-08-01 09:47:05 +02:00
Artem Smotrakov
860e8f379e
Better signatures in java/non-constant-time-crypto-comparison
2021-08-01 09:47:05 +02:00
Artem Smotrakov
622c7ee957
Added a change note for new steps for ByteBuffer and InputStream
2021-08-01 09:47:05 +02:00
Artem Smotrakov
1b4ee05b80
Better docs for java/non-constant-time-crypto-comparison
2021-08-01 09:47:05 +02:00
Artem Smotrakov
8c4da16459
More test cases for java/non-constant-time-crypto-comparison
2021-08-01 09:47:04 +02:00
Artem Smotrakov
295fd686ce
Make java/non-constant-time-crypto-comparison a warning
2021-08-01 09:47:04 +02:00
Artem Smotrakov
c977fd09cb
Better constant check in java/non-constant-time-crypto-comparison
2021-08-01 09:47:04 +02:00
Artem Smotrakov
d01dc35011
Less duplicate code in java/non-constant-time-crypto-comparison
2021-08-01 09:47:04 +02:00
Artem Smotrakov
40e513ba52
Added more taint propagation steps for InputStream and ByteBuffer
2021-08-01 09:47:04 +02:00
Artem Smotrakov
a4f3a5a88e
Take into account remote user input in java/non-constant-time-crypto-comparison
2021-08-01 09:47:03 +02:00
Artem Smotrakov
8e6d227dc0
More sinks for java/ql/src/experimental/Security/CWE/CWE-208/NonConstantTimeCryptoComparison.ql
2021-08-01 09:47:03 +02:00
Artem Smotrakov
dfa3b523d0
Renamed files
2021-08-01 09:47:03 +02:00
Artem Smotrakov
75f67959f3
Covered Arrays.deepEquals() in NonConstantTimeCryptoComparison.ql
2021-08-01 09:47:02 +02:00
Artem Smotrakov
5dbcf1d611
Covered Object.deepEquals() in NotConstantTimeCryptoComparison.ql
2021-08-01 09:47:02 +02:00
Artem Smotrakov
5c474f689d
Better comments and descriptions
2021-08-01 09:47:02 +02:00
Artem Smotrakov
f245dc3ac8
Removed hashes from NotConstantTimeCryptoComparison.ql
2021-08-01 09:47:02 +02:00
Artem Smotrakov
8a69b7b3ac
Added NotConstantTimeCryptoComparison.qhelp and examples
2021-08-01 09:47:01 +02:00
Artem Smotrakov
67579dd1d8
Added tests for NotConstantTimeCryptoComparison.ql
2021-08-01 09:47:01 +02:00
Artem Smotrakov
c2c85d32da
Java: Added a query for timing attacks
2021-08-01 09:47:01 +02:00
Artem Smotrakov
7959e76da8
Better qldoc in UnsafeDeserializationQuery.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-30 09:30:59 +02:00
Fosstars
a4b0041120
Better looksLikeResolveClassStep() predicate
2021-07-30 09:28:03 +02:00
Fosstars
1d3eb570bf
hasJsonTypeInfoAnnotation() should check fields recursively
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-30 08:30:40 +02:00
yo-h
6a18b33616
Java: update frameworks.rst with Jackson
...
Updating manually maintained list with coverage in `JacksonSerializability.qll`
2021-07-29 17:35:06 -04:00
Aditya Sharad
cb686ea802
Merge pull request #6388 from github/geoffw0-patch-2
...
Update query-metadata-style-guide.md
2021-07-29 10:20:26 -07:00
Geoffrey White
5e6e176f32
Update query-metadata-style-guide.md
...
Add a note about the `@security-severity` tag.
2021-07-29 17:53:31 +01:00
Mathias Vorreiter Pedersen
b1e5fbe2de
Merge pull request #6377 from sashabu/sashabu/virtual
...
C++: Allow querying virtual, override, and final declaration specifiers.
2021-07-29 17:51:14 +02:00
Joe Farebrother
227818adb4
Add change note
2021-07-29 16:41:33 +01:00
Joe Farebrother
e23f666f67
Replace get and newWith methods with real implementations
2021-07-29 16:39:50 +01:00
Tony Torralba
29490e5872
Add suggestion from code review
2021-07-29 17:07:18 +02:00
Joe Farebrother
f1ca29a846
Add more stubs
2021-07-29 15:58:42 +01:00
Tony Torralba
3fcc9fae79
Refactor sinks to reuse code
2021-07-29 16:48:47 +02:00
Geoffrey White
417edab126
C++: Simplify out the 'effect' string.
2021-07-29 15:44:53 +01:00
Geoffrey White
7f621bc737
C++: Repair the tests that use subtraction so that the thing they're testing is preserved, and add two new explicit tests of behaviour on subtraction.
2021-07-29 15:36:43 +01:00
Tony Torralba
6e3b6dcb98
Imporve qhelp
2021-07-29 16:36:38 +02:00
Tony Torralba
bdf0f582a4
QLDoc improvements from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-29 16:34:21 +02:00
Tony Torralba
90b5e02b6e
Improve qhelp
2021-07-29 16:28:10 +02:00
Geoffrey White
13823df5a1
C++: Remove underflow detection.
2021-07-29 15:22:18 +01:00
Geoffrey White
9e0411238b
C++: Add some more test cases.
2021-07-29 15:15:26 +01:00
Tony Torralba
4ea6729c53
Update java/ql/src/Security/CWE/CWE-347/MissingJWTSignatureCheck.ql
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-07-29 16:10:49 +02:00
mc
0a986ad0e8
Update JndiInjection.qhelp
...
Improve negation
2021-07-29 15:10:32 +01:00
Joe Farebrother
096509b9aa
Generate tests and stubs
2021-07-29 15:01:50 +01:00
Joe Farebrother
3bcb46f875
Model guava cache package
2021-07-29 14:52:26 +01:00
Mathias Vorreiter Pedersen
bbb38fd2aa
C++: Accept more test changes.
2021-07-29 15:49:50 +02:00
Tony Torralba
2628d3dc39
Improve csv sink models
2021-07-29 15:36:18 +02:00
Tony Torralba
3edc8bc679
Doc improvements
2021-07-29 15:35:39 +02:00
Tony Torralba
d9fb650dfb
JacksonCreateParserMethod converted to CSV summay model
2021-07-29 15:19:30 +02:00
Tony Torralba
b20d53cfd4
Update java/ql/src/semmle/code/java/security/OgnlInjection.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-29 15:08:27 +02:00
Alexandre Boulgakov
e55bd4fb64
C++: Allow querying virtual, override, and final declaration specifiers.
2021-07-29 14:02:03 +01:00
Mathias Vorreiter Pedersen
41d233f086
C++: Make the 'definition by reference'-node in 'foo(a.b);' a source in the 'FieldConfiguration' configuration.
2021-07-29 14:49:59 +02:00
Mathias Vorreiter Pedersen
a082172422
C++: Add testcase demonstrating missing local flow out of fields that are defined by reference.
2021-07-29 14:46:32 +02:00
mc
8f1fc9e893
Update MvelInjection.qhelp
...
Minor tweaks
2021-07-29 11:30:19 +01:00
Joe Farebrother
143b302eef
Merge pull request #6384 from joefarebrother/test-gen-improvements
...
Java: Test generator: use getComponentType
2021-07-29 10:47:37 +01:00
Joe Farebrother
3b430d4925
Use getComponentType
2021-07-29 10:11:22 +01:00
Joe Farebrother
f7099f459f
Java: Test generator: use getComponentType
2021-07-29 10:08:45 +01:00
Artem Smotrakov
83a9b0ee28
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-29 11:04:21 +02:00
mc
ebf004a4df
Update MissingJWTSignatureCheck.qhelp
...
Using same syntax as on other queries for 'BAD' and 'GOOD'.
2021-07-29 09:13:00 +01:00
Benjamin Muskalla
b7b74b51a3
Track taint for String.valueOf(..)
2021-07-29 09:14:03 +02:00
Geoffrey White
ae35ae10e6
C++: Fix readlink FPs.
2021-07-28 17:45:18 +01:00
Fosstars
893f84fbf4
Merge branch 'unsafe-jackson-deserialization' of github.com:artem-smotrakov/ql into unsafe-jackson-deserialization
2021-07-28 18:25:53 +02:00
Fosstars
50497eb747
Make imports as private as possible
2021-07-28 18:25:05 +02:00
ihsinme
2d5a263799
Update FindIncorrectlyUsedExceptions.ql
2021-07-28 18:46:49 +03:00
Geoffrey White
c2ef58d29d
C++: Support 'readlinkat'.
2021-07-28 16:15:28 +01:00
Geoffrey White
358d89f3ce
C++: Add tests.
2021-07-28 16:15:16 +01:00
Joe Farebrother
d900fcaf42
Merge pull request #6374 from joefarebrother/test-gen-improvements
...
Java: Add support for synthetic fields to the test generator
2021-07-28 16:02:47 +01:00
Artem Smotrakov
7fec575df8
Simplify JsonTypeInfo stub
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-28 14:23:50 +02:00
Joe Farebrother
9ddae3e9f6
Fix spelling
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-07-28 10:12:17 +01:00
Tony Torralba
3248f458a5
Update java/change-notes/2021-06-14-groovy-code-injection-query.md
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-07-28 10:45:03 +02:00
haby0
eda3d864f5
Model written using smowton
2021-07-28 15:55:47 +08:00
Aditya Sharad
d7c29791de
Merge pull request #6368 from bmuskalla/addMissingKeywords
...
Add missing keywords to language specification
2021-07-27 11:08:25 -07:00
Felicity Chapman
0714f4abbb
Merge pull request #6339 from github/package-manager-docs
...
[July 27-8, 2021] CodeQL package manager: update CodeQL CLI docs (beta)
2021-07-27 18:24:03 +01:00
Joe Farebrother
2d862ef119
Support synthetic fields
2021-07-27 17:28:53 +01:00
Chris Smowton
23de0859ea
Add missing models and other minor improvements per Marcono1234's review
2021-07-27 16:03:39 +01:00
Joe Farebrother
a8cca4ba0e
Merge pull request #6373 from joefarebrother/test-gen-improvements
...
Java: Test generator improvements
2021-07-27 15:44:56 +01:00
Chris Smowton
0049b8e3c4
Merge pull request #6371 from github/smowton/admin/test-generator-notice-bad-rows
...
Add test-case generator check for non-parseable rows
2021-07-27 15:44:01 +01:00
Joe Farebrother
309f0e7c26
Fix handling of arrays
2021-07-27 15:05:57 +01:00
Joe Farebrother
9ffcfbcd33
Add --force option
2021-07-27 15:05:57 +01:00
Joe Farebrother
8ab0fd54b4
Improvements to the test generator:
...
- Only reference public methods
- Report rows for which test cases could not be generated
- Add a blanket `throws Exception` clause to the generated method
2021-07-27 15:05:55 +01:00
Joe Farebrother
2036aa1e4a
Format test generator
2021-07-27 15:04:19 +01:00
Felicity Chapman
28ce21ed7e
Update docs/codeql/codeql-cli/publishing-and-using-codeql-packs.rst
2021-07-27 15:02:39 +01:00
Geoffrey White
5ac6b38380
C++: Change note.
2021-07-27 14:27:16 +01:00
mc
10a3dcb188
Update GroovyInjection.qhelp
2021-07-27 14:26:49 +01:00
Chris Smowton
97d603cafb
Add test-case generator check for non-parseable rows
2021-07-27 14:26:22 +01:00
Geoffrey White
e7842b9625
C++: Autoformat.
2021-07-27 14:19:30 +01:00
Geoffrey White
00f6f668cc
C++: Don't report underflowing multiplication.
2021-07-27 14:02:40 +01:00
Geoffrey White
40f0658e8a
C++: Exclude unintended results on pointers.
2021-07-27 13:39:20 +01:00
Geoffrey White
503c5c9e33
C++: Add more test cases.
2021-07-27 13:38:00 +01:00
Anders Schack-Mulligen
a5f0a4ea71
Merge pull request #6087 from smowton/smowton/admin/rest-xss-tests
...
Java: Add Spring XSS tests
2021-07-27 14:09:34 +02:00
Felicity Chapman
e5d8e81634
Merge branch 'package-manager-docs' of github.com:github/codeql into package-manager-docs
2021-07-27 12:52:46 +01:00
Felicity Chapman
f060296cf8
Update beta note with details of release
2021-07-27 12:52:15 +01:00
Anders Schack-Mulligen
aa8fa26a2a
Merge pull request #6355 from intrigus-lgtm/patch-6
...
Update broken link
2021-07-27 09:05:02 +02:00
haby0
00f13e1e6e
Modify isAdditionalTaintStep
2021-07-27 10:59:38 +08:00
Felicity Chapman
ecaf03ff7e
Update docs/codeql/codeql-cli/about-ql-packs.rst
2021-07-27 00:19:31 +01:00
Felicity Chapman
070554e0d8
Update description of 'suites'
2021-07-26 23:48:50 +01:00
Felicity Chapman
de5d14df62
Replace package manager
2021-07-26 23:37:13 +01:00
Felicity Chapman
5b92d9445e
Apply suggestions from code review
...
Co-authored-by: Dave Bartolomeo <dbartol@github.com >
2021-07-26 23:29:01 +01:00
Felicity Chapman
5197c2db9f
Move beta note into a reusable
2021-07-26 23:15:45 +01:00
Felicity Chapman
84fe27270f
Further changes from the technical review
2021-07-26 23:08:32 +01:00
Felicity Chapman
6c82c2c0c8
Apply suggestions from code review
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 22:38:25 +01:00
Robert Marsh
b6200e5b23
Merge pull request #6369 from geoffw0/toctou3
...
C++: Increase cpp/toctou-race-condition query precision.
2021-07-26 13:16:28 -07:00
Robert Marsh
fbb3f2e506
Merge pull request #6273 from geoffw0/cleartext-storage-file
...
C++: Improve the CleartextFileWrite query
2021-07-26 12:46:51 -07:00
Felicity Chapman
c6a9b029cf
Update docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst
2021-07-26 18:19:24 +01:00
Felicity Chapman
8b64b8144c
Apply suggestions from code review
2021-07-26 18:15:04 +01:00
Geoffrey White
f65c5cfb70
C++: Increase query precision.
2021-07-26 15:15:12 +01:00
intrigus-lgtm
434b36c648
Update broken link
2021-07-26 15:48:47 +02:00
Felicity Chapman
33d859eb5c
Fix further Sphinx build warnings
2021-07-26 13:12:10 +01:00
Dominik Bamberger
f2ac9f6224
Wrap code in a block.
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-07-26 13:55:08 +02:00
Dominik Bamberger
275ab370d4
Revert "Remove space to test if that fixes CI."
...
This reverts commit 3eb8d11a0a .
2021-07-26 13:44:11 +02:00
Anders Schack-Mulligen
6c666b49f5
Merge pull request #6366 from smowton/smowton/fiix/junit-nested-classes
...
Prevent class-could-be-static alerts regarding JUnit Nested tests
2021-07-26 12:45:23 +02:00
Dominik Bamberger
3eb8d11a0a
Remove space to test if that fixes CI.
2021-07-26 12:35:56 +02:00
Benjamin Muskalla
a32e6f507c
Add missing keywords to language specification
2021-07-26 12:27:56 +02:00
Dominik Bamberger
f1883adb34
Rename label to avoid collision.
2021-07-26 12:17:00 +02:00
Dominik Bamberger
1cdb345148
Add missing table columns.
2021-07-26 11:40:20 +02:00
Joe Farebrother
358a7c1707
Fix issue when building with no pom file
2021-07-26 10:38:16 +01:00
Dominik Bamberger
fedd4d7d15
Remove typo from file name.
2021-07-26 11:23:40 +02:00
Dominik Bamberger
163dfa086a
Note accepting multiple packs.
2021-07-26 11:21:20 +02:00
Anders Schack-Mulligen
5d3e8d2add
Merge pull request #6365 from Marcono1234/marcono1234/InstanceOfExpr-getCheckedType
...
Java: Add `InstanceOfExpr.getCheckedType()`
2021-07-26 11:20:48 +02:00
Dominik Bamberger
db056fb57b
Remove obsolete '--allow-packs' flag.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:18:06 +02:00
Dominik Bamberger
1f439a15db
Remove obsolete '--allow-packs' flag.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:17:25 +02:00
Dominik Bamberger
66922dcfa8
Clarify sequence.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:16:59 +02:00
Dominik Bamberger
a634d37026
Include location.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:15:59 +02:00
Anders Schack-Mulligen
ee13520836
Merge pull request #6364 from Marcono1234/marcono1234/TypeLiteral-getReferencedType
...
Java: Add `TypeLiteral.getReferencedType()`
2021-07-26 11:15:06 +02:00
Dominik Bamberger
270d49d3fd
Refer to GitHub Packages.
2021-07-26 11:14:20 +02:00
Dominik Bamberger
659af055e7
Wrap note.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:12:03 +02:00
Dominik Bamberger
5193e657bc
Add warning about reformatting and stripping comments.
2021-07-26 11:08:50 +02:00
Dominik Bamberger
f89f3f408b
Mention optional dependencies block.
2021-07-26 11:07:13 +02:00
Dominik Bamberger
ff74e9b73b
Mention optional '+' modifier to combine input with config file.
2021-07-26 11:04:02 +02:00
Chris Smowton
aca905fa36
Prevent class-could-be-static alerts regarding JUnit Nested tests
2021-07-26 09:35:26 +01:00
Anders Schack-Mulligen
f6439b792e
Merge pull request #6356 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-26 10:33:08 +02:00
Dominik Bamberger
15ed567420
Set expectations for multi-language analysis.
2021-07-26 10:32:31 +02:00
Dominik Bamberger
de573a373b
Use 'query suites' instead of 'code scanning suites'.
2021-07-26 10:27:18 +02:00
Dominik Bamberger
77f481d8da
Fix command invocation.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 10:15:45 +02:00
Dominik Bamberger
120f00354e
Include '--output' and '--format' flags.
2021-07-26 10:11:59 +02:00
Dominik Bamberger
f6ce9b9eb3
Remove '--allow-packs' flag.
2021-07-26 10:09:45 +02:00
Dominik Bamberger
3402ca62c2
Explain GitHub Packages as GitHub Container Registry (GHCR).
2021-07-26 10:06:48 +02:00
Dominik Bamberger
907179c704
Explain GitHub Packages as GitHub Container Registry (GHCR).
2021-07-26 10:02:13 +02:00
Dominik Bamberger
228e4938df
Add description metadata example.
2021-07-26 09:41:05 +02:00
Dominik Bamberger
c8e604d141
Add licenses metadata example.
2021-07-26 09:40:00 +02:00
Dominik Bamberger
1df3f7f1cf
Remove section on 'bugs'.
2021-07-26 09:35:40 +02:00
Dominik Bamberger
1d5c5c2021
Replace collaborators with authors.
2021-07-26 09:34:04 +02:00
Dominik Bamberger
589e18c6fc
Remove obsolete version warning.
2021-07-26 09:32:16 +02:00
Dominik Bamberger
756cbab361
Remove mention of test files to make it sound less exclusive to testing.
2021-07-26 09:31:27 +02:00
Dominik Bamberger
c9732937dd
Mention suites correctly.
2021-07-26 09:25:18 +02:00
Dominik Bamberger
4d88326ad3
Add space to YAML syntax.
2021-07-26 09:23:52 +02:00
Dominik Bamberger
4116bfaea0
Add more naming restrictions.
2021-07-26 09:22:09 +02:00
Dominik Bamberger
e7bfa8f6ac
Use a less generic example.
2021-07-26 09:18:07 +02:00
Dominik Bamberger
e2f13ecf20
Mention cache lookup.
2021-07-26 09:15:53 +02:00
Dominik Bamberger
8ae9b9b865
Remove section about '.qll' file structure.
2021-07-26 09:10:16 +02:00
Dominik Bamberger
fdae0dd402
Mention cache usage.
2021-07-26 09:07:27 +02:00
github-actions[bot]
d51eafbfd5
Add changed framework coverage reports
2021-07-26 00:08:31 +00:00
Marcono1234
606173012a
Java: Add InstanceOfExpr.getCheckedType()
...
Additionally change `EqualsUsesInstanceOf.ql` to check for all RefTypes
instead of only Class.
2021-07-26 00:50:11 +02:00
Marcono1234
3569ed56e5
Java: Add TypeLiteral.getReferencedType()
2021-07-26 00:02:08 +02:00
haby0
291ca3830a
Modify according to suggestions
2021-07-23 09:28:55 +08:00
Ethan P
87005b93e3
Remove placeholder note
2021-07-22 16:25:41 -04:00
intrigus-lgtm
a30005c42e
Replace broken link with archive.org link.
2021-07-22 22:14:44 +02:00
Robert Marsh
0e9d36b922
Merge pull request #6335 from geoffw0/toctou2
...
C++: Improvements to the cpp/toctou-race-condition query
2021-07-22 12:49:32 -07:00
Taus
74f1992aaf
Merge pull request #6352 from tausbn/mergeback-rc/3.2-to-main
...
Mergeback `rc/3.2` to `main`
2021-07-22 19:58:29 +02:00
Geoffrey White
d9682aa440
C++: Autoformat.
2021-07-22 18:32:40 +01:00
Dominik Bamberger
807fdb01c8
Add beta note.
2021-07-22 19:23:10 +02:00
Dominik Bamberger
b51db7f2de
Include packaging in 'Using custom queries with the CodeQL CLI'.
2021-07-22 19:23:10 +02:00
Geoffrey White
e9b96adf24
C++: Exclude results formatted with a character other than %s.
2021-07-22 17:40:32 +01:00
Geoffrey White
f8fed263e6
C++: Exclude results that are used as file names.
2021-07-22 17:40:25 +01:00
Ethan P
c7731ebbbe
Correct codeql database analyze command syntax
2021-07-22 11:44:54 -04:00
Dominik Bamberger
af80a255a3
Add example for 'Integrating a CodeQL pack into a Code Scanning workflow'.
2021-07-22 17:35:39 +02:00
Dominik Bamberger
7519288bfb
Add example for 'Running a CodeQL pack'.
2021-07-22 17:35:39 +02:00
Joe Farebrother
6be9c705f0
Update usage text
2021-07-22 16:30:26 +01:00
Chris Smowton
5c917b4a23
Merge pull request #6353 from sauyon/sauyon/java/model-constructors
...
Java: Add models for collection constructors
2021-07-22 16:27:59 +01:00
Sauyon Lee
150f3fd352
improve windows compatibility
2021-07-22 08:00:14 -07:00
Rasmus Wriedt Larsen
f71c99af22
Merge pull request #5444 from jorgectf/jorgectf/python/ldapimproperauth
...
Python: Add LDAP Improper Authentication query
2021-07-22 17:00:09 +02:00
Sauyon Lee
5d716b95b1
Allow use of pom.xml to generate stubs
2021-07-22 07:52:35 -07:00
Geoffrey White
1d582182b0
C++: Exclude 'path'.
2021-07-22 15:49:30 +01:00
Geoffrey White
86ee5fea40
C++: More test cases and correct an existing one.
2021-07-22 15:47:06 +01:00
haby0
2a50cf8244
Fix
2021-07-22 22:24:09 +08:00
Sauyon Lee
fd02dcdf2e
Java: Add models for collection constructors
2021-07-22 07:23:26 -07:00
Rasmus Wriedt Larsen
42a997cbcb
Python: Fix deprecation warning
2021-07-22 15:59:13 +02:00
Ethan P
1606d96859
fix typo
2021-07-22 09:58:43 -04:00
Rasmus Wriedt Larsen
71e6db8a01
Merge branch 'main' into jorgectf/python/ldapimproperauth
2021-07-22 15:57:43 +02:00
haby0
d8f5f6987b
Fix
2021-07-22 21:53:41 +08:00
Taus
6ea8ef5d16
Merge branch 'rc/3.2' into mergeback-rc/3.2-to-main
2021-07-22 13:52:56 +00:00
haby0
e160352b38
Fix
2021-07-22 21:48:46 +08:00
Taus
08f480a556
Merge pull request #6351 from tausbn/python-hotfix-localsourcenode-typetrackingnode
...
Python: Hotfix `LocalSourceNode`
2021-07-22 15:47:59 +02:00
haby0
735ab28040
Update java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-22 21:45:30 +08:00
haby0
7cf2e9ed79
Update java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-22 21:45:29 +08:00
haby0
46a212b712
Update java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-22 21:45:29 +08:00
haby0
676f0ad817
Update java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-22 21:45:29 +08:00
haby0
4ebf0ed7c5
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
2021-07-22 21:45:29 +08:00
Chris Smowton
40173f7abb
Remove stubbing script outputs
2021-07-22 14:33:34 +01:00
Rasmus Wriedt Larsen
802d9bda83
Merge pull request #5680 from mrthankyou/python-use-sqlalchemy
...
Python: Add SqlAlchemy model
2021-07-22 15:31:39 +02:00
Mathias Vorreiter Pedersen
f6f9c8af65
Merge pull request #6350 from MathiasVP/mergeback-2021-07-22
...
Mergeback `rc/3.2`
2021-07-22 15:13:44 +02:00
Taus
020c6e3b3b
Python: Update change note
2021-07-22 13:11:29 +00:00
Taus
badf6311c9
Python: Remove flow between globals...
...
... in a local scope. Or rather, remove these from the `hasLocalSource`
relation.
This prevents a quadratic blowup when the same global is mentioned
_a lot_ of times within a single function scope.
2021-07-22 13:10:40 +00:00
Taus
ed794f42b5
Python: Soft revert TypeTrackingNode
...
Temporarily instates `TypeTrackingNode` as an alias of `LocalSourceNode`
as having it as a separate class lead to performance regressions.
In the hopes that this will be resolved in the near future, I have left
the current `TypeTrackingNode` implementation in situ, but hidden inside
a `FutureWork` private module.
2021-07-22 13:10:07 +00:00
Mathias Vorreiter Pedersen
e34261accf
Merge branch 'rc/3.2' into mergeback-2021-07-22
2021-07-22 14:40:22 +02: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
Ethan P
09c2ccafd8
Formatting fixes
2021-07-22 08:31:28 -04: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
Dominik Bamberger
6d869f2572
Remove section on 'Creating a custom QL pack'.
2021-07-22 13:25:01 +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
Geoffrey White
a4c137fae5
C++: Add '_fsopen' as well.
2021-07-22 11:31:41 +01:00
Mathias Vorreiter Pedersen
39144ee02b
C++: Import 'GVN' in 'Overflow.qll' to prevent IR reevaluation.
2021-07-22 11:35:16 +02:00
Chris Smowton
e2a533c7de
Merge pull request #6346 from aschackmull/java/perf-fix
...
Java: Fix bad magic.
2021-07-22 10:15:16 +01:00
Chris Smowton
605f037af8
Merge pull request #6247 from p0wn4j/spring-responseentity-redirect-sink
...
[Java] CWE-601: Add Spring URL Redirect ResponseEntity sink
2021-07-22 09:45:30 +01:00
Anders Schack-Mulligen
dcfc027b5f
Java: Fix bad magic.
2021-07-22 10:12:49 +02:00
Chris Smowton
c568a9463a
Remove <> qualifier from ResponseEntity name
...
This was an extractor bug that was fixed recently
2021-07-21 17:58:06 +01:00
Geoffrey White
fa0f5d08a2
Merge branch 'main' into toctou2
2021-07-21 16:21:29 +01:00
Ethan P
3a048a1cdd
Add `qlpack.yml` information
2021-07-21 09:27:41 -04:00
Mathias Vorreiter Pedersen
73ee7409f6
Merge pull request #6342 from MathiasVP/fix-fp-in-uninitialized-local
...
C++: Fix FP in `cpp/uninitialized-local`
2021-07-21 14:46:57 +02:00
Ethan P
2cdf404e05
Create "About CodeQL packs" and add to ToC
2021-07-21 08:10:46 -04:00
Anders Schack-Mulligen
22f6b021ba
Merge pull request #6338 from aschackmull/java/cleanup-deprecated
...
Java: Remove deprecated ParExpr.
2021-07-21 11:36:40 +02:00
Geoffrey White
daed988108
Merge pull request #6341 from MathiasVP/mergeback-2021-07-21
...
Mergeback `rc/3.2`
2021-07-21 10:35:07 +01:00
Mathias Vorreiter Pedersen
e536cecefe
C++: Fix FP caused by a variable missing type information.
2021-07-21 11:04:23 +02:00
Mathias Vorreiter Pedersen
6d0290809d
Merge branch 'rc/3.2' into mergeback-2021-07-21
2021-07-21 10:23:58 +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
Tony Torralba
76905c47b4
Formatting
2021-07-21 09:47:45 +02:00
ihsinme
8aac5b339e
Update FindIncorrectlyUsedExceptions.expected
2021-07-21 09:49:19 +03:00
ihsinme
4202759bcc
Update test.cpp
2021-07-21 09:48:36 +03:00
ihsinme
2d1924ac0e
Update test.cpp
2021-07-21 08:32:18 +03:00
ihsinme
cf689b83a9
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-07-21 08:29:42 +03:00
Ethan P
0eb2f903a3
add procedural information for publishing and using CodeQL packs
2021-07-20 23:21:36 -04:00
Ethan P
e586765cbe
add new articles to ToC
2021-07-20 22:33:06 -04:00
p0wn4j
f0d5520976
Add Spring URL Redirect ResponseEntity sink
...
Copyedit qhelp
2021-07-21 03:16:16 +04:00
Ethan P
96de32bd2a
Add conceptual information "Creating and working with CodeQL packs"
2021-07-20 14:01:30 -04:00
Geoffrey White
473198a6ef
C++: Accept any check followed by a 'sensitive' use such as 'chmod'.
2021-07-20 18:11:05 +01:00
Aditya Sharad
46fbb2a3cc
Merge pull request #6334 from github/security-severity-docs
...
Update CodeQL docs for security-severity levels
2021-07-20 09:58:19 -07:00
Geoffrey White
c6d8abc9b1
C++: Add a couple more testcases.
2021-07-20 17:52:59 +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
Tony Torralba
4622d8590b
Fix change note
2021-07-20 17:50:58 +02:00
Tony Torralba
26999c7ac4
Decouple UnsafeAndroidAccess.qll to reuse the taint tracking configuration
2021-07-20 17:46:35 +02:00
Tony Torralba
99e66cffa2
Merge branch 'main' into atorralba/promote-unsafe-android-webview-fetch
2021-07-20 17:30:56 +02:00
Tony Torralba
ed0db7c7b4
Fix release note
2021-07-20 17:24:24 +02:00
Tony Torralba
7a898a04f3
Fix release note
2021-07-20 17:23:47 +02:00
Tony Torralba
3259ead946
Decouple OgnlInjection.qll to reuse the taint tracking configuration
2021-07-20 17:21:10 +02:00
Tony Torralba
b6904a7992
Merge branch 'main' into atorralba/promote-ognl-injection
2021-07-20 17:17:17 +02:00
Tony Torralba
22c9baa462
Refactor JWT.qll
2021-07-20 17:14:34 +02:00
Tony Torralba
430d9f1834
Merge branch 'main' into atorralba/promote-missing-jwt-signature-check
2021-07-20 16:20:35 +02:00
Tony Torralba
8f1ecf529f
QLDoc
2021-07-20 15:53:38 +02:00
Tony Torralba
42b6b26c10
Decouple JndiInjection.qll to reuse the taint tracking configuration
2021-07-20 15:38:34 +02:00
Anders Schack-Mulligen
77d53676ba
Java: Remove deprecated ParExpr.
2021-07-20 15:27:31 +02:00
Geoffrey White
5d1c7841a6
C++: Change note.
2021-07-20 14:14:01 +01:00
Tony Torralba
b8ea833a61
Merge branch 'main' into atorralba/promote-jndi-injection
2021-07-20 15:01:26 +02:00
Tony Torralba
68df8028d2
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-20 14:47:16 +02:00
Arthur Baars
890adf97d6
Merge pull request #6333 from github/rc/3.2
...
Merge rc/3.2 to main
2021-07-20 12:19:20 +02:00
Geoffrey White
ae944b268a
C++: Restrict the 'check' to stat / access only as these are by far the more reliable results.
2021-07-20 11:18:00 +01:00
James Fletcher
a365d4fb34
update docs for security-severity
2021-07-20 11:00:13 +01:00
Rasmus Wriedt Larsen
5a489a386a
Merge pull request #6329 from havron/qhelp-typo
...
Fix qhelp typo in RequestWithoutValidation
2021-07-20 10:18:35 +02:00
Artem Smotrakov
158a75e5a1
Import UnsafeDeserializationQuery in unsafeDeserialization.ql
2021-07-20 10:14:50 +02:00
Tony Torralba
0f199601f8
Refactor GroovyInjection.qll
2021-07-20 09:44:37 +02:00
Anders Schack-Mulligen
47528b3379
Merge pull request #6332 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-20 09:27:59 +02:00
github-actions[bot]
bed08a6f4f
Add changed framework coverage reports
2021-07-20 00:06:37 +00:00
Ethan P
1cf5386824
Create publishing-and-using-codeql-packs.rst
2021-07-19 18:42:01 -04:00
Ethan P
a5cbc560e3
Add conceptual info for creating and working with CodeQL packs
2021-07-19 18:41:44 -04:00
Aditya Sharad
48778ce9a4
Merge pull request #6160 from timoles/patch-1
...
Add information for generating qhelp files locally
2021-07-19 14:14:22 -07:00
Ethan P
26a36592ce
Add intros and Overview headers
2021-07-19 16:29:18 -04:00
Ethan P
511e01aa1b
shorten title for full-cwe
2021-07-19 16:23:57 -04:00
Sam Havron
733e5b45bf
Fix qhelp typo in RequestWithoutValidation
2021-07-19 16:01:06 -04:00
Timo Müller
b24c096a76
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-07-19 21:12:59 +02:00
Aditya Sharad
20fa8e49c8
Merge pull request #6326 from adityasharad/codeowners/codeql-tools
...
Codeowners: Add reviewer teams for CodeQL tools and associated docs
2021-07-19 11:15:58 -07:00
Ethan P
5028fccee5
Create new CWE coverage overview and full CWE coverage page
2021-07-19 14:01:42 -04:00
Ethan P
618e8b34dc
Create individual language pages for CWE tables
2021-07-19 14:01:18 -04:00
Aditya Sharad
94b2b174c1
Merge pull request #6177 from skyzyx/patch-1
...
Update getting-started-with-the-codeql-cli.rst
2021-07-19 10:58:43 -07:00
Geoffrey White
ab4b2c2342
C++: Fix 'rename'.
2021-07-19 18:58:39 +01:00
Geoffrey White
95ec8f5394
C++: Add support for '_wfsopen'.
2021-07-19 18:36:09 +01:00
Aditya Sharad
c26a4d315d
Codeowners: Add reviewer teams for CodeQL tools and associated docs
2021-07-19 10:35:59 -07:00
Chris Smowton
7819d32784
Make MediaType stub constants actually constant
...
This is required to use them in annotations
2021-07-19 18:28:30 +01:00
Chris Smowton
a0297d51e5
Note fixed test result
...
the Optional type has now been modelled
2021-07-19 18:28:06 +01:00
Chris Smowton
82ea2592ad
Spring HTTP: Fix test mistakes
...
Classes without RestController and methods without GetMapping or similar were never going to be detected.
2021-07-19 18:21:13 +01:00
Chris Smowton
392e405f5d
Add Spring-XSS test
...
This covers the cases currently exercised in https://github.com/github/codeql-securitylab/blob/main/java/ql/src/pwntester/security/RestXSS.ql
2021-07-19 18:21:11 +01:00
Chris Smowton
16c5952167
Add and improve Spring-web stubs
2021-07-19 18:20:37 +01:00
Chris Smowton
8051a7cd83
Add change note
2021-07-19 18:11:05 +01:00
Chris Smowton
34a4b71891
Add models of JSON-java, aka org.json
2021-07-19 17:57:27 +01: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
ed054acd8e
Merge pull request #6305 from intrigus-lgtm/patch-5
...
C# remove spurious spaces in <code> tag
2021-07-19 17:09:36 +02:00
Arthur Baars
d960ef2dac
Code Scanning selectors: Include diagnostic and summary metric queries
2021-07-19 17:05:43 +02:00
Rasmus Wriedt Larsen
5249591747
Python: Fix test folder for InsecureProtocol
2021-07-19 16:57:00 +02:00
Rasmus Wriedt Larsen
5939128a76
Python: Fix test folder for InsecureDefaultProtocol
...
it was named wrong before. whoops.
2021-07-19 16:56:07 +02:00
Rasmus Wriedt Larsen
77021ae119
Python: Restructure security tests to contain query name
...
We were mixing between things, so this is just to keep things
consistent. Even though it's not strictly needed for all queries,
it does look nice I think
2021-07-19 16:54:34 +02:00
Rasmus Wriedt Larsen
da021feb8b
Python: Move py/incomplete-hostname-regexp tests to own folder
2021-07-19 16:48:21 +02:00
Rasmus Wriedt Larsen
7939a1372e
Python: Move Jinja2WithoutEscaping tests to own folder
2021-07-19 16:44:41 +02:00
Geoffrey White
c85edb6c03
C++: Use [, ] in the query.
2021-07-19 15:24:25 +01:00
Geoffrey White
7684796d63
C++: Fix handling of the 'stat' pointer argument.
2021-07-19 15:13:19 +01:00
Mathias Vorreiter Pedersen
7bc18abbb0
Merge pull request #6150 from geoffw0/toctou
...
C++: Tests for cpp/toctou-race-condition
2021-07-19 15:51:35 +02:00
Tony Torralba
70081b6a1e
Refactor MvelInjection.qll
2021-07-19 15:36:35 +02:00
Artem Smotrakov
47e4cf4180
Make UnsafeDeserializationSink public
2021-07-19 15:34:33 +02:00
Geoffrey White
0c029898bb
C++: Autoformat.
2021-07-19 13:58:25 +01:00
Geoffrey White
49bbfefb4d
C++: Fix uses of 'rename' in tests.
2021-07-19 13:57:16 +01:00
Tony Torralba
45a72ff6eb
Fix InsecureBasicAuth test expectations
2021-07-19 13:56:31 +02:00
Tony Torralba
46faf68d64
Decouple MvelInjection.qll to reuse the taint tracking configuration
2021-07-19 13:50:03 +02:00
Tony Torralba
5ca8b380e9
Merge branch 'main' into atorralba/promote-mvel-injection
2021-07-19 13:45:10 +02:00
shati-patel
69dab49073
Docs: Running query on multiple DBs in CodeQL for VS Code
2021-07-19 12:24:05 +01:00
Artem Smotrakov
035f7ac669
Refactored libs for unsafe deserialization
2021-07-19 13:19:36 +02:00
Tony Torralba
1c91e74269
Rename sink models class
2021-07-19 13:05:37 +02:00
Tony Torralba
441e8afe81
Decouple GrovyInjection.qll to reuse the taint tracking configuration
2021-07-19 12:53:37 +02:00
Anders Schack-Mulligen
db76b12f3f
Merge pull request #6313 from aschackmull/java/fix-csv-dispatch
...
Java: Fix a bug in call-context-sensitve dispatch to SummarizedCallable.
2021-07-19 12:49:31 +02:00
Tony Torralba
b08f417a1e
Merge branch 'main' into atorralba/promote-groovy-injection
2021-07-19 12:44:03 +02:00
Artem Smotrakov
e02530749b
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-19 11:52:12 +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
thank_you
9e01338500
Query only vulnerable methods
2021-07-18 17:13:10 -04: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
Artem Smotrakov
cfe74b527a
Use inline-expectation tests for StaticInitializationVector.ql
2021-07-17 01:04:52 +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
ihsinme
4083da3218
Update cpp/ql/src/experimental/Security/CWE/CWE-561/FindIncorrectlyUsedSwitch.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-07-16 23:18:58 +03:00
Artem Smotrakov
218731ca0a
Added a query for static initialization vectors in encryption
...
- Added StaticInitializationVector.ql
- Added StaticInitializationVector.qhelp
- Added tests
2021-07-16 19:06:44 +02:00
Artem Smotrakov
c367c7e33b
Merge branch 'unsafe-jackson-deserialization' of github.com:artem-smotrakov/ql into unsafe-jackson-deserialization
2021-07-16 18:26:38 +02:00
Artem Smotrakov
3856527d14
Refactored tests for unsafe deserialization
2021-07-16 18:26:06 +02:00
Artem Smotrakov
6d7cb48054
Refactored the query for unsafe deserialization
2021-07-16 18:25:41 +02: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
effca4495f
Java: Fix a bug in call-context-sensitve dispatch to SummarizedCallable.
2021-07-16 14:31:29 +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
Erik Krogh Kristensen
6da1007f67
mark new redos tests correctly
2021-07-16 13:37:47 +02:00
Erik Krogh Kristensen
b2b736db10
add more tests for non-empty positive lookaheads
2021-07-16 13:25:37 +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
Asger Feldthaus
be8c574d5c
JS: Add test and comment for access path termination criteria
2021-07-16 09:42:59 +02:00
Asger Feldthaus
0247de76af
JS: Add a .vue file to vuex test
2021-07-16 09:31:47 +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
intrigus-lgtm
7aa19ea00f
C# remove spurious spaces in <code> tag
2021-07-15 19:34:36 +02:00
intrigus-lgtm
88bd464296
C# remove spurious spaces in <code> tag
2021-07-15 19:34:13 +02:00
intrigus-lgtm
f587db4385
C# remove spurious spaces in <code> tag
2021-07-15 19:33:24 +02:00
Rasmus Wriedt Larsen
5e193ee8da
Python: Add more snippets
2021-07-15 18:56:49 +02:00
Rasmus Wriedt Larsen
a07de3faae
Merge branch 'main' into emptyRedos
2021-07-15 18:21:29 +02:00
Geoffrey White
c5ed859cf5
C++: Update test comments to my best understanding.
2021-07-15 16:36:21 +01:00
jorgectf
6f09b95019
Update .expected
2021-07-15 17:16:29 +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
Geoffrey White
e5e8a1b781
C++: Exclude integral types from SensitiveExprs.
2021-07-15 14:44:14 +01: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
Geoffrey White
dd95c53a3e
C++: More test cases.
2021-07-15 14:39:56 +01: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
Geoffrey White
aabb2fc3a1
C++: Tune SensitiveExprs.qll based on real TP and FP results.
2021-07-15 14:25:29 +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
af78b99475
Include stubs for javax
2021-07-15 10:58:12 +01:00
Joe Farebrother
f59ab527b4
Fix issue with nested types
2021-07-15 10:57:32 +01:00
Joe Farebrother
65ce8aa798
Fix issue with circular type bounds
2021-07-15 10:49:14 +01:00
Joe Farebrother
0577e12b97
Add consistency checks
2021-07-15 10:49:13 +01:00
Joe Farebrother
ecf130f7ae
Move stubber to utils folder for consistency with test generator
2021-07-15 10:49:13 +01:00
Joe Farebrother
ddb93e8829
Fix a bug with type bounds + a few other bugs
2021-07-15 10:49:13 +01:00
Joe Farebrother
036e83a247
Fix error with implementing interfaces
2021-07-15 10:49:13 +01:00
Joe Farebrother
06d6ddc1b9
Fix issue with reporting javac output
2021-07-15 10:49:13 +01:00
Joe Farebrother
8f40a6e21e
Use shlex for printing commands
2021-07-15 10:49:13 +01:00
Joe Farebrother
c850c7d079
Fix typo in comment
2021-07-15 10:49:13 +01:00
Joe Farebrother
b562bdd14f
Simplify the python script
2021-07-15 10:49:12 +01:00
Joe Farebrother
f35320e85b
Add explanatory comments + minor fixes
2021-07-15 10:49:12 +01:00
Joe Farebrother
cce6217e17
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-15 10:49:12 +01:00
Joe Farebrother
471c140d2c
Fix incorrect comment
2021-07-15 10:49:12 +01:00
Joe Farebrother
cffaa8d9a0
Improve the stubbing query to handle more language constructs correctly
2021-07-15 10:49:12 +01:00
Joe Farebrother
40bb19e4f1
Add Java stubbing script
2021-07-15 10:49:12 +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
Erik Krogh Kristensen
383b5f2ff2
implement RegExpSubPattern.getOperand in the Python regexp implementation
2021-07-15 09:41:53 +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
de8f64c5be
sync with python
2021-07-14 23:40:06 +02:00
Erik Krogh Kristensen
80d784e37a
add a step over empty lookaheads/lookbehinds
2021-07-14 23:40:04 +02: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
edvraa
fd4d8e2595
Use HasFlow instead HasFlowPath
2021-07-14 16:06:34 +03: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
ihsinme
1e12ede9fa
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-07-14 10:11:28 +03:00
${sleep,5}
51a6140258
Change variable name to correct sanitized input variable
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-07-13 14:04:06 -04:00
Geoffrey White
989633993b
C++: Increase the query precision.
2021-07-13 18:38:30 +01: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
Geoffrey White
dd03828522
C++: Change note.
2021-07-13 18:08:34 +01: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
Geoffrey White
652f903457
C++: Add simple dataflow to the query.
2021-07-13 17:48:48 +01:00
Geoffrey White
7500d75b5b
C++: Fix some easy FPs.
2021-07-13 17:36:41 +01:00
Geoffrey White
133953303b
C++: More test cases.
2021-07-13 17:32:08 +01: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
Artem Smotrakov
1b3516ab94
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-13 14:53:45 +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
Artem Smotrakov
09ae779b21
Removed fromSource() check in looksLikeResolveClassStep()
2021-07-12 19:56:51 +02: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
edvraa
a0942e0360
JsonConvert
2021-07-12 15:23:04 +03: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
edvraa
f4cb6c50c0
YamlDotNet
2021-07-12 13:25:50 +03:00
edvraa
1e4409f9ed
SharpSerializer
2021-07-12 13:22:20 +03:00
edvraa
c3ac3ca41c
FsPickler
2021-07-12 13:20:57 +03: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
edvraa
1682e993bc
Merge with Main
2021-07-12 11:32:47 +03: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
edvraa
40e8a900de
Apply changes from code review
2021-07-12 02:08:23 +03:00
edvraa
6393dca22f
Apply changes from code review
2021-07-12 01:13:41 +03:00
edvraa
3de7b280e4
AuthCookie.qll moved to experimental
2021-07-12 01:13:40 +03:00
edvraa
02f0d81830
delete unused predicate
2021-07-12 01:13:40 +03:00
edvraa
3723f7f132
comments
2021-07-12 01:13:40 +03:00
edvraa
2c9d6827ad
comments
2021-07-12 01:13:40 +03:00
edvraa
74cb61a475
Autoformat
2021-07-12 01:13:40 +03:00
edvraa
65fb46af3d
fix help files
2021-07-12 01:13:40 +03:00
edvraa
d0e9a01edc
Rename files
2021-07-12 01:13:40 +03:00
edvraa
5c9a3d5ce7
Single Secure query
2021-07-12 01:13:39 +03:00
edvraa
07327984b0
Single HttpOnly query
2021-07-12 01:13:39 +03:00
edvraa
dea4d67ebd
Extract to predicate isCookieWithSensitiveName
2021-07-12 01:13:39 +03:00
edvraa
7e723e90f1
Remove redundant iResponse.getAppendMethod() = mc.getTarget(), it is already covered by higher level exists
2021-07-12 01:13:39 +03:00
edvraa
98261a63c5
typo accessibe -> accessible
2021-07-12 01:13:39 +03:00
edvraa
89c4102462
HttpOnly and Secure cookie queries
2021-07-12 01:13:39 +03:00
Erik Krogh Kristensen
440e4b9a92
enable unicode support in the Python ReDoS query
2021-07-11 21:28:40 +02:00
Artem Smotrakov
c98f1a479e
Better taint propagation in UnsafeTypeConfig
2021-07-09 10:24:15 +02:00
Artem Smotrakov
476843a278
Added comments for Jackson in UnsafeDeserialization.qll
2021-07-09 10:24:15 +02:00
Artem Smotrakov
e9731cd212
Minor improvements for Jackson in UnsafeDeserialization.qll
2021-07-09 10:24:15 +02:00
Artem Smotrakov
704cc77bb5
Added a change note for Jackson
2021-07-09 10:24:14 +02:00
Artem Smotrakov
24e4b68b9c
Removed getAnAccess() calls for Jackson
2021-07-09 10:24:14 +02:00
Artem Smotrakov
aefd21075b
Added tests for UnsafeDeserialization.ql and Jackson
2021-07-09 10:24:10 +02:00
Artem Smotrakov
ea0991c980
Added Jackson to UnsafeDeserialization.qhelp
2021-07-09 10:17:29 +02:00
Artem Smotrakov
97fca620fa
Cover attacker-controlled types for deserialization with Jackson
2021-07-09 10:16:04 +02:00
Artem Smotrakov
3eb2af1bc2
First draft of sinks for unsafe deserialization with Jackson
2021-07-09 10:16:01 +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
Geoffrey White
dc2cb9bd62
C++: Fix numbering.
2021-07-02 18:33:36 +01:00
Geoffrey White
bc3b347569
C++: Another test case to consider.
2021-07-02 18:32:46 +01:00
Geoffrey White
a53b161afb
C++: Move some variant tests to a case we definitely do want to flag the base case of.
2021-07-02 18:18:11 +01:00
Geoffrey White
c3cd1359d6
C++: Mark the cases we're not sure about.
2021-07-02 18:18:10 +01:00
Geoffrey White
cf8fa830a9
C++: Clarify the note about file descriptors.
2021-07-02 18:18:10 +01:00
Geoffrey White
d86a0ab7a5
C++: Add test cases involving file descriptor versions.
2021-07-02 18:17:59 +01: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
Asger Feldthaus
a2b913119d
JS: Change note
2021-07-02 12:47:55 +02:00
Asger Feldthaus
ee608540c5
JS: Add support for createNamespacedHelpers
2021-07-02 12:47:55 +02:00
Asger Feldthaus
dd1e21c713
JS: Model vuex
2021-07-02 12:47:55 +02:00
Asger Feldthaus
fefe30a9fa
JS: Add API graph edges for indirect propref members
2021-07-02 12:47:54 +02:00
Asger Feldthaus
2a3bc0f110
JS: Add spread step when bactracking in API graphs
2021-07-02 12:47:54 +02:00
Asger Feldthaus
9f2897b179
JS: Make VueRouterFlowSource a subclass of ClientSideRemoteFlowSource
2021-07-02 12:47:54 +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
ihsinme
02bf800b6d
Update FindIncorrectlyUsedSwitch.ql
2021-07-01 08:50:46 +03: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
Chris Smowton
7f556de8a0
Resolve now-fixed spurious XSS results
2021-06-30 12:04:22 +01:00
Chris Smowton
c37ecb7102
Fix existing JaxRs tests
...
* Expose getContentTypeString for use by tests
* Use it to get constant arguments to @Produces annotations
* Note that text/html is xss-vulnerable (I have no idea how it ever came to expect exactly text/plain)
2021-06-30 12:04:21 +01:00
Chris Smowton
52471b292a
Add change note
2021-06-30 12:04:21 +01:00
Chris Smowton
856046ce50
Jax-RS: implement content-type tracking
...
This follows content-type specifications across Variant-related functions and the ResponseBuilder class in order to sanitize or sink entities as appropriate.
2021-06-30 12:04:21 +01:00
Chris Smowton
10714211c6
Add utility functions definining XSS-vulnerable content-types
2021-06-30 12:04:21 +01:00
Chris Smowton
450eebcd40
JaxWS: Pull out MediaType constant interpretation routine
...
Also extend the routine slightly to expose multiple content types given with array notation
2021-06-30 12:04:20 +01:00
Chris Smowton
3e7ea34054
XSS: expose extension point for defining barrier sinks
2021-06-30 12:04:20 +01: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
thank_you
0be2c6b765
Add SQLEscapySanitizerCall class
2021-06-29 19:39:46 -04:00
thank_you
986f2f4302
Add SQLEscape module
2021-06-29 19:39:26 -04:00
${sleep,5}
2a65917bb5
Merge pull request #1 from RasmusWL/python-use-sqlalchemy
...
Minor updates to SQL alchemy PR
2021-06-29 18:15:44 -04:00
jorgectf
e02a63a27a
Delete trivial *_good.py tests
2021-06-29 23:03:41 +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
jorgectf
621a810b7b
Update .expected
2021-06-29 16:53:53 +02:00
jorgectf
9a8d1f8e0f
Take back non-trivial tests
2021-06-29 16:53:44 +02:00
jorgectf
0819090fcb
Fix qldocs typo
2021-06-29 16:53:32 +02:00
Chris Smowton
ba5dc3cdbc
Add models of the javax.json package
2021-06-29 15:21:01 +01:00
jorgectf
2f9e6454a5
Hardcode ldap2 binding functions
2021-06-29 16:14:55 +02: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 Wriedt Larsen
a5a7f3e38a
Python: Add taint-step for sqlalchemy.text
2021-06-29 11:06:25 +02:00
Rasmus Lerchedahl Petersen
ffb8938e52
Python: undo autoformat character mangling
2021-06-29 11:06:17 +02:00
Rasmus Wriedt Larsen
ef48734206
Python: Add taint-tests for SQLAlchemy
2021-06-29 11:03:40 +02:00
Rasmus Wriedt Larsen
cb112395f8
Python: Fixup after merging main
2021-06-29 11:02:43 +02:00
Rasmus Lerchedahl Petersen
135b71b649
Python: Apply performance fix by @hvitved
2021-06-29 11:01:33 +02:00
Rasmus Wriedt Larsen
684f51ae5f
Merge branch 'main' into python-use-sqlalchemy
2021-06-29 10:58:51 +02:00
Rasmus Wriedt Larsen
eac1c5d109
Python: Fix concepts-tests for SQLAlchemy
2021-06-29 10:58:28 +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
jorgectf
51395d155f
Move xmltodict to its own file under frameworks/
2021-06-28 21:08:43 +02:00
Jorge
350440897c
Apply suggestions from code review
...
Update `xmltodict` format and delete `ujson` modeling.
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-06-28 21:02:40 +02:00
jorgectf
68c683189a
Polish documentation, mongoCollectionMethod() and update .expected
2021-06-28 20:55:49 +02: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
jorgectf
3fd1129895
Delete trivial tests
2021-06-28 20:18:31 +02:00
jorgectf
0ca4f240d9
Merge tests and update .expected
2021-06-28 20:13:53 +02: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
Ryan Parman
0d7e4d5854
Update getting-started-with-the-codeql-cli.rst
...
1. The documentation is at least one full macOS release behind, and we're past WWDC so we already know what the next version is. IMO, we should optimize the documentation for the now + future, rather than providing exceptions for them while favoring legacy releases. _Current_ macOS requires the steps that are currently hidden by default; I would recommend inverting the pattern so that _current_ is shown by default, and legacy releases are hidden away.
1. Homebrew is the bread and butter of many developers. Installing Python via Homebrew installs a custom version of `xattr` that is different from the system's `xattr`, which doesn't support the `-c` flag. By specifically executing the system-provided version of `xattr` by path, you are more-or-less guaranteed to get the system-provided `xattr` with the expected `-c` flag.
2021-06-28 10:20:00 -06: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
Jorge
a5009efb4b
Merge pull request #5 from RasmusWL/nosql-fixes
...
Small NoSQL fixes
2021-06-28 14:23:57 +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
jorgectf
1d432af498
Update .expected
2021-06-28 14:18:27 +02:00
jorgectf
1d4d8ab6e0
Fix tests
2021-06-28 14:16:52 +02:00
jorgectf
b9422518b3
Rephrase .qhelp
2021-06-28 14:00:00 +02: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
Rasmus Wriedt Larsen
318694ccc8
Python: Don't rely on d = d.getOutput() for Decoding
...
Although it is for `json.loads` and the like.
2021-06-28 13:17:45 +02:00
Rasmus Wriedt Larsen
59711424bd
Python: Fix qhelp for NoSQL injection
2021-06-28 11:48:28 +02: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
Rasmus Wriedt Larsen
5477b2e0d5
Python: Minor refactoring cleanup
2021-06-28 10:54:21 +02:00
Rasmus Wriedt Larsen
4a2c99a021
Python: Inline LDAPImproperAuth.qll
...
Since having it inlined makes the query a bit easier to read. We
obviously need to share it if we want to share this predicate, but for
now that does not seem to be the case.
2021-06-28 10:54:21 +02:00
Rasmus Wriedt Larsen
b33f6a315c
Python: Fix select for py/improper-ldap-auth
2021-06-28 10:54:21 +02:00
Rasmus Wriedt Larsen
dfe16aae4c
Python: Handle both positional and keyword args for LDAP bind
2021-06-28 10:46:13 +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
ihsinme
6e7644f529
Update FindIncorrectlyUsedExceptions.ql
2021-06-27 22:27:41 +03:00
Rasmus Wriedt Larsen
97571e0b4f
Python: Add modeling of peewee
2021-06-25 17:50:59 +02:00
Rasmus Wriedt Larsen
1317ae298c
Python: Rename cursor => Cursor in PEP249
...
Notice that since this will be part of the same PR as 5cfc433 , it is OK
to do this change without keeping `PEP249::cursor` for backwards
compatibility.
2021-06-25 17:30:35 +02:00
Rasmus Wriedt Larsen
d8db83d081
Python: Add cursor::instance for PEP249
...
For Peewee modeling I want to be able to define new cursor instances
just like I can do for connections.
2021-06-25 17:29:32 +02:00
Rasmus Wriedt Larsen
6be0db2c22
Python: Improve QLDoc of PEP249 modeling
2021-06-25 17:24:28 +02:00
Rasmus Wriedt Larsen
5cfc43395b
Python: Refactor PEP249 to encapsulate in module
...
So global namespace doesn't contain `Connection` whenever `PEP249.qll`
is imported
2021-06-25 17:15:12 +02:00
Rasmus Wriedt Larsen
c476c89de5
Python: Add tests for peewee
2021-06-25 16:08:57 +02:00
Timo Müller
d1a4f57342
Added chapter about generating qhelp files locally
2021-06-25 15:48:27 +02: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
Mathias Vorreiter Pedersen
fd477383b0
C++: Fix join order in 'bbSuccessorEntryReachesLoopInvariant'.
2021-06-25 10:49:33 +02: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
Mathias Vorreiter Pedersen
c0ffd9027f
C++: Add more random sources.
2021-06-24 13:40:00 +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
Mathias Vorreiter Pedersen
2938ad5f8f
C++: Add testcase demonstrating the fix from a8c57ec4aa.
2021-06-23 23:01:49 +02:00
Geoffrey White
06591956ff
C++: Rename some variables.
2021-06-23 17:54:47 +01:00
Mathias Vorreiter Pedersen
43bbd4f7ad
C++: Fix join order with 'pragma[noopt]'.
2021-06-23 18:34:04 +02:00
Geoffrey White
a2c904d0c0
C++: Clarify the meanings of predicates.
2021-06-23 17:17:50 +01:00
Geoffrey White
eeb84d4209
C++: Add more test cases for the toctou query.
2021-06-23 17:12:53 +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
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
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
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
ihsinme
d61fcfc84b
Add files via upload
2021-06-23 10:46:03 +03:00
ihsinme
460fde72ff
Add files via upload
2021-06-23 10:44:27 +03: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
ihsinme
94bd2a32f9
Update FindIncorrectlyUsedSwitch.qhelp
2021-06-22 10:39:37 +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
jorgectf
1d7ddce8db
Update .expected
2021-06-17 18:10:43 +02:00
jorgectf
9cbb7e0899
Change query objective
2021-06-17 17:53:58 +02:00
jorgectf
5704ac36db
Rework LDAP framework modeling
2021-06-17 17:44:08 +02:00
jorgectf
13cfcec968
Change qhelp explanation
2021-06-17 17:43:34 +02:00
jorgectf
d34d2ed2b1
Add .qlref
2021-06-17 17:42:38 +02:00
jorgectf
eb16018446
Update .expected
2021-06-17 15:45:05 +02:00
jorgectf
4e74003cd5
Polish Concepts documentation
2021-06-17 15:44:51 +02:00
jorgectf
7e6032f5b4
Port to Decoding
2021-06-17 15:43:54 +02:00
jorgectf
8e3d5ff3f9
Rename mongoclient tests
2021-06-17 15:43:01 +02:00
jorgectf
b8e619a60c
Extend qhelp references
2021-06-17 15:42:45 +02:00
Tony Torralba
1014400a08
Fix test comments
2021-06-17 15:03:45 +02:00
Tony Torralba
3ec2c1308e
Add RequestForgerySanitizer
2021-06-17 14:58:27 +02:00
Tony Torralba
0c71393171
Merge branch 'main' into atorralba/promote-unsafe-android-webview-fetch
2021-06-17 14:54:25 +02:00
ihsinme
1cabaec0c3
Update cpp/ql/src/experimental/Security/CWE/CWE-561/FindIncorrectlyUsedSwitch.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-06-17 11:09:36 +03:00
ihsinme
bf65044a0d
Update test.c
2021-06-17 10:42:25 +03:00
jorgectf
8527ccc6d6
Update .expected
2021-06-16 23:19:14 +02:00
jorgectf
5c7229c715
Optimize Type Tracking stuff
2021-06-16 23:19:05 +02:00
jorgectf
81505fbd76
Normalize tests
2021-06-16 23:18:38 +02:00
Rasmus Wriedt Larsen
68f526da1f
Python: Add change-note
2021-06-16 20:09: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
Tony Torralba
2dd862661b
Generic type parameters no longer needed in CSV sink models
2021-06-16 16:23:50 +02:00
Tony Torralba
2c8f8911fc
Adatp CSV sink models to generics fix
2021-06-16 16:12:02 +02:00
Tony Torralba
47fffb04a6
Merge branch 'main' into atorralba/promote-ognl-injection
2021-06-16 15:46:33 +02:00
Tony Torralba
91ba30a781
Merge branch 'main' into atorralba/promote-missing-jwt-signature-check
2021-06-16 15:46:14 +02:00
Tony Torralba
dab33b21fb
Merge branch 'main' into atorralba/promote-mvel-injection
2021-06-16 15:44:43 +02:00
Tony Torralba
bf2be6ec7c
Merge branch 'main' into atorralba/promote-jndi-injection
2021-06-16 15:34:37 +02:00
Tony Torralba
66a8f57784
Fix HttpsUrls tests affected by the new URL summary
2021-06-16 13:04:00 +02:00
Tony Torralba
66d49aa4e8
Fix InsecureBasicAuth tests affected by the new URL summary
2021-06-16 13:01:40 +02:00
Tony Torralba
af6bd0b963
Consider subtypes of ReaderSource
2021-06-16 13:01:40 +02:00
Tony Torralba
87dfc92aba
Add tests for CompilationUnit's subtypes
2021-06-16 13:01:40 +02:00
Tony Torralba
e324e4e8d1
Remove non-ascii characters added by accident
2021-06-16 13:01:40 +02:00
Tony Torralba
357b0e1a90
Fix SSRF tests affected by the new URL summary
2021-06-16 13:01:40 +02:00
Tony Torralba
17cce6bd18
Add change note
2021-06-16 13:01:39 +02:00
Tony Torralba
f3ef93fa8a
Make sinks more specific, improve tests
2021-06-16 13:01:39 +02:00
Tony Torralba
f9e6b3c3d2
Add new URL(tainted) as taint step
2021-06-16 13:01:39 +02:00
Tony Torralba
7ff4d368be
Fix tests
2021-06-16 13:01:39 +02:00
Tony Torralba
6f926e1e80
Refine sinks and add more taint steps
2021-06-16 13:01:39 +02:00
Tony Torralba
5d56eb6ea1
Add stubs
2021-06-16 13:01:39 +02:00
Tony Torralba
4b491dcc50
Add codehaus sink and taint steps
2021-06-16 13:01:39 +02:00
Tony Torralba
7883549c25
Use InlineExpectationsTest
2021-06-16 13:01:39 +02:00
Tony Torralba
7031e0a91d
Refactor to use CSV sink models
2021-06-16 13:01:38 +02:00
Tony Torralba
356601ce15
Moved from experimental
2021-06-16 13:01:38 +02:00
jorgectf
5123b8f4e3
Update .expected
2021-06-15 20:29:33 +02:00
jorgectf
e61cf9a58d
Simplify tests
2021-06-15 19:32:02 +02:00
jorgectf
6bed8594f2
Match sanitizer inputs' naming
2021-06-15 16:27:32 +02:00
ihsinme
b118817fb8
Add files via upload
2021-06-15 16:52:39 +03:00
ihsinme
f5008d31f5
Add files via upload
2021-06-15 16:51:38 +03:00
ihsinme
4f2703e0aa
Add files via upload
2021-06-15 16:43:57 +03:00
ihsinme
bdab785bef
Add files via upload
2021-06-15 16:42:38 +03:00
Mathias Vorreiter Pedersen
b2e9fe79a7
C++: Add change-note.
2021-06-15 10:01:45 +02:00
jorgectf
c948970181
resolve merge conflicts
2021-06-15 01:24:04 +02:00
jorgectf
1662c5d113
resolve merge conflict
2021-06-15 01:22:11 +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
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
Tony Torralba
498c2250c7
Add missing QLDoc
2021-06-08 11:25:53 +02:00
Tony Torralba
afab13e7ee
Add missing QLDoc
2021-06-08 11:09:59 +02: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
Tony Torralba
d77d0c9e10
Added summaries for Spring PropertyValues
2021-06-07 17:35:03 +02:00
Tony Torralba
58aa25ddc2
Fix QLDocs
2021-06-04 09:32:00 +02:00
Mathias Vorreiter Pedersen
d450aa2ce4
C++: Add some testcases that require path sensitivity.
2021-06-03 18:02:29 +02:00
Tony Torralba
34a8383c1a
Unused import
2021-06-03 10:22:53 +02:00
Tony Torralba
9cb0e3371c
Bidirectional import in ExternalFlow.qll
2021-06-03 10:22:42 +02:00
Tony Torralba
56d6fc951c
Fixed some QLDoc
2021-06-03 10:22:15 +02:00
Tony Torralba
ae0a00e30a
Added change note
2021-06-03 10:21:59 +02:00
Tony Torralba
d476459727
Use InlineExpectationsTest
2021-06-02 12:15:26 +02:00
Tony Torralba
b30c92e69e
Refactored into MvelInjection.qll using CSV models
2021-06-02 11:33:01 +02:00
Tony Torralba
59e6e1ffac
Moved from experimental
2021-06-02 09:58:30 +02:00
Tony Torralba
7dbdba28cc
Consider search methods with unsafe SearchControls
2021-05-21 15:21:04 +02:00
Tony Torralba
2613e58916
Remove duplicated class
2021-05-20 12:49:02 +02:00
Tony Torralba
0589dd7e54
Move Jndi.qll from experimental
2021-05-20 12:30:28 +02:00
Tony Torralba
0c1fe9be4f
Add change note
2021-05-20 12:00:11 +02:00
Tony Torralba
c1e71b60b4
Use InlineExpectationsTest
2021-05-20 12:00:11 +02:00
Tony Torralba
3f0b803796
Refactored to use CSV sink models
2021-05-20 12:00:05 +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
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
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
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
Tony Torralba
1351516e9a
Moved JNDI injection related files from experimental to standard
2021-05-19 11:32:51 +02:00
Tony Torralba
43d4575359
Add createParser as taint preserving callable
2021-05-19 11:20:54 +02:00
Tony Torralba
e58746508d
Merge branch 'main' into atorralba/promote-ognl-injection
2021-05-19 10:41:08 +02:00
Tony Torralba
34a55e77ef
Add missing subtype test
2021-05-18 09:38:35 +02:00
Tony Torralba
347bd2ebc2
Added change note
2021-05-17 17:51:07 +02:00
Tony Torralba
1815656a02
Use set literals for OGNL packages
2021-05-17 16:56:37 +02:00
Tony Torralba
8d682000b4
Fix QLDocs
2021-05-17 16:53:30 +02:00
Tony Torralba
ed13c17ea8
Fix qhelp file
2021-05-17 16:52:08 +02:00
Tony Torralba
bc2370ae1d
Use InlineExpectationsTest for tests
2021-05-17 15:58:33 +02:00
Tony Torralba
cfb38c43b3
QLDocs
2021-05-17 15:04:50 +02:00
Tony Torralba
897cd5384f
Created JWT.qll and refactored to use CSV models
2021-05-17 14:44:33 +02:00
Tony Torralba
3e4ccaf9a8
Move from experimental to standard
2021-05-17 10:41:54 +02:00
Tony Torralba
132a187586
Add missing QLDoc
2021-05-13 16:29:29 +02:00
Tony Torralba
50e1b42581
Add missing QLDoc
2021-05-13 15:37:16 +02:00
Tony Torralba
1fbdf6ecd0
Add change note
2021-05-13 15:13:25 +02:00
Tony Torralba
db732918af
Add taint step for setExpression
2021-05-13 15:01:36 +02:00
Tony Torralba
09b40601a7
Consider ExpressionAccessor
2021-05-12 12:32:38 +02:00
thank_you
3e25b14a68
Update NoSQLInjection.expected
2021-05-11 20:07:09 -04:00
Tony Torralba
8754c85a57
Use InlineExpectationsTest
2021-05-11 16:23:12 +02:00
Tony Torralba
fc03b92e11
Moved from experimental to standard
2021-05-11 15:42:13 +02:00
Tony Torralba
53da3b661a
Refactor to CSV sink model
2021-05-11 15:33:49 +02:00
thank_you
3ace49549a
Add tests for SqlAlchemy modeling library
...
After researching SqlAlchemy and it's various query methods, I discovered several types of SQL injection possibilities.
The SQLExecution.py file contains these examples and can be broken up into two types of injections. Injections requiring the text() taint-step and injections NOT requiring the text() taint step.
2021-05-10 16:12:15 -04:00
Tony Torralba
8553ca1019
Autoformatting
2021-05-10 15:42:20 +02:00
Tony Torralba
d99b5bfc66
Reuse previous tests from experimental
2021-05-10 11:17:20 +02:00
Tony Torralba
c70503142f
Require JS enabled even when cross-origin access is enabled in the webviews
2021-05-10 09:45:59 +02:00
thank_you
0238e51c10
Add checks for EmbeddedDocument classes
...
Mongoengine supports EmbeddedDocument documents. We should check for this in our query.
2021-05-09 19:42:40 -04:00
thank_you
07c3e22428
Fix method name to match flask_mongoengine library
2021-05-09 19:23:52 -04:00
${sleep,5}
67bc576e30
Delete StdLib.qll
2021-05-07 17:37:02 -04:00
jorgectf
0fc044dfd5
Checkout Stdlib.qll
2021-05-07 23:03:23 +02:00
jorgectf
e7bdc73420
Update .expected
2021-05-07 23:00:21 +02:00
jorgectf
65c6f1976a
Rename mongoengine-flask-db-document-subclass
2021-05-07 23:00:08 +02:00
thank_you
aa24c689bc
Add back accidentally deleted StdLib.qll file
2021-05-07 15:17:01 -04:00
thank_you
83f0870231
Update file path of module
2021-05-07 15:13:56 -04:00
thank_you
9a44020af3
Rename StdLib.qll file to NoSQL.qll file
...
It makes more sense to have this file represent just the NoSQL module
2021-05-07 15:13:30 -04:00
thank_you
8f8eff231a
Fix comment description of predicate
2021-05-07 15:08:48 -04:00
Jorge
ae806cd445
Merge branch 'github:main' into jorgectf/python/ldapimproperauth
2021-05-07 20:46:09 +02:00
thank_you
7693d696cc
Add additional query tests
...
To ensure that this query works against numerous usages of libraries such as PyMongo, Flask PyMongo, Mongoengine, and Flask Mongoengine, I've added a variety of query tests to test against. These tests deal with scenarious such as:
- Subscript expressions
- Mongoengine instances and Document subclasses
- Mongoengine connection usage
- And more...
2021-05-07 14:36:02 -04:00
thank_you
1d36aa6649
Add additional querying for mongoengine Document subclassing
...
After further research, it was discovered that Flask-Mongoengine has multiple ways of allowing a developer to call the Document class. One way is by directly importing the Document class from the module. Another approach is to get the Document class via a mongoengine instance.
The update to this query checks for cases where the developer gets the Document class via the MongoEngine instance.
Other misc changes include setting the various predicates to private.
2021-05-07 14:30:50 -04:00
Tony Torralba
6884edf52a
Merge branch 'main' into atorralba/promote-unsafe-android-webview-fetch
2021-05-07 16:31:55 +02:00
Tony Torralba
1f1a1bdb41
Remove unnecessary CWE reference
2021-05-07 16:29:00 +02:00
Tony Torralba
dcee1daa31
Mark spurious test results
2021-05-07 13:17:04 +02:00
Tony Torralba
e6b7da1926
Add import for Android sinks in ExternalFlow
2021-05-07 12:41:39 +02:00
Tony Torralba
e2e65aca3c
Add new sink for Android XSS
2021-05-07 12:25:19 +02:00
Tony Torralba
b69261727d
Add a new test for
2021-05-06 13:26:25 +02:00
Tony Torralba
1f1f85aeb5
Add change note and fix some QLDocs
2021-05-06 13:13:23 +02:00
Tony Torralba
e14294a2f7
Remove XSS sink since it's better handled in this query
2021-05-06 11:20:37 +02:00
Tony Torralba
84504a88e4
Fix tests by adding AndroidManifest.xml
2021-05-06 10:55:56 +02:00
Tony Torralba
a706046a19
Reestructured test
2021-05-06 09:17:53 +02:00
Tony Torralba
c138ed3e4d
QLDocs
2021-05-05 16:51:15 +02:00
Tony Torralba
03ce8d689f
Refactored to use CSV sink model
2021-05-05 16:34:30 +02:00
Tony Torralba
9b78cee37a
Add tests
2021-05-05 11:59:57 +02:00
Tony Torralba
be50e8f30c
Moved from experimental to standard
2021-05-05 11:59:49 +02:00
Tony Torralba
458b89bf5f
Added Android stubs
2021-05-05 11:57:01 +02:00
thank_you
c4a67e522c
Rewrite query to take into account MongoClient and subscript expressions
...
A couple of notes with these changes:
- Added TypeTracker pattern to handle subscript expressions. We've found that pymongo supports subscripts expressions when calling databases and collections. To resolve this, we implemented the TypeTracker pattern to catch those subscripts since CodeQL Python API modeling doesn't support subscript expressions.
- After some research, we've discovered that MongoEngine and Flask-MongoEngine utilize MongoClient under-the-hood. This requires us to rewrite the query so that instead of querying these libraries with specific queries, we are instead going to query for usages of MongoClient since all of the libraries we are targeting utilizes MongoClient under-the-hood.
2021-05-04 19:29:31 -04:00
thank_you
56dc4d886e
Add comment on BsonObjectIdCall
2021-05-04 19:11:59 -04:00
thank_you
d85b1a2d5f
Replace recursive getAMember*() method
2021-04-28 16:54:49 -04:00
edvraa
18a3e4d45b
add comments
2021-04-27 22:10:04 +03:00
thank_you
62f3e8d64a
Add sanitizer for ObjectId
...
ObjectId is a sanitizer used to sanitize strings into valid MongoDB ids. During research we've found that this method is used.
ObjectId returns a string representing an id. If at any time ObjectId can't parse it's input (like when a tainted dict in passed in), then ObjectId will throw an error preventing the query from running.
2021-04-26 15:35:42 -04:00
edvraa
c9c9758e01
Make similarly named files in tests and qhelp in sync
2021-04-22 12:23:46 +03:00
edvraa
57689df5aa
Remove DataFlow::Node
2021-04-21 19:29:30 +03:00
edvraa
a93d6a3ef6
Remove SafeConstructorTrackingConfig
2021-04-21 17:16:54 +03:00
edvraa
9e46ef3cd9
Get rid of getParent
2021-04-21 17:11:40 +03:00
edvraa
808444986d
Get rid of UnsafeDeserializerCallable
2021-04-21 17:06:20 +03:00
edvraa
b6952d541a
get rid of getParent
2021-04-21 16:55:34 +03:00
edvraa
9cc67e4266
make private where possible
2021-04-21 16:48:05 +03:00
edvraa
8f6411dba3
Simpify with exists
2021-04-21 13:52:41 +03:00
edvraa
0590522e4b
a deserializer
2021-04-21 13:29:00 +03:00
edvraa
3ac5f7bb18
Move RemoteSource and LocalSource to UnsafeDeserialization.qll
2021-04-21 13:27:26 +03:00
thank_you
7773c53124
Replace any(string) with _ wildcard
2021-04-20 08:49:08 -04:00
thank_you
bbd3552392
Rename predicate to getQuery
2021-04-20 08:47:37 -04:00
thank_you
c5fbbc0551
Refactor SqlAlchemy model
...
- Replaced classes that look for SqlAlchemy instances with predicates
- General clean-up of code
2021-04-19 18:56:00 -04:00
edvraa
c3deb48efa
Charpred for InstanceMethodSink
2021-04-16 17:19:42 +03:00
edvraa
a412581556
reintroduce UnsafeDeserializer
2021-04-15 22:32:42 +03:00
thank_you
a854fb8f8b
Add documentation and refactor code
2021-04-15 15:22:15 -04:00
edvraa
3aedd2c1f4
Use TaintTracking2
2021-04-15 22:12:01 +03:00
edvraa
773556e5e0
Use hasFlow where path is not needed
2021-04-15 16:27:09 +03:00
edvraa
1581a27d3d
Simplify getTarget check
2021-04-15 16:24:36 +03:00
Thank You
f1e71e21ed
Add SqlAlchemy module
2021-04-14 22:00:25 -04:00
edvraa
b027fddc7e
Remove redundant check
2021-04-15 00:14:09 +03:00
edvraa
3a9d1f46fd
Hide implementation details
2021-04-15 00:09:19 +03:00
edvraa
a4fd70aa3d
Use don't care expression
2021-04-14 23:35:38 +03:00
jorgectf
5d25a27d62
Add .expected
2021-04-09 22:28:03 +02:00
jorgectf
4615927eeb
Fix flask_mongoengine Call
2021-04-09 22:27:53 +02:00
jorgectf
166385755a
Polish Calls naming
2021-04-09 21:49:41 +02:00
jorgectf
208b53e4d2
Polish query file
2021-04-09 21:36:21 +02:00
jorgectf
983af32ab5
Polish qhelp examples
2021-04-09 21:36:11 +02:00
jorgectf
fa5869afe7
Polish qhelp and examples
2021-04-09 21:31:45 +02:00
jorgectf
a6b3aefb0b
Add flask_mongoengine sink
2021-04-09 21:30:17 +02:00
jorgectf
0e51dbec86
Polish tests
2021-04-09 21:29:56 +02:00
jorgectf
f140601241
Write documentation
2021-04-09 01:57:23 +02:00
jorgectf
5787406a0d
Add .expected
2021-04-09 00:51:26 +02:00
jorgectf
1320eeee53
Add qlref
2021-04-09 00:51:15 +02:00
jorgectf
015d203fcb
Improve tests, move them and create qhelp examples
2021-04-09 00:50:47 +02:00
jorgectf
2392be08c7
Improve sink
2021-04-09 00:50:04 +02:00
jorgectf
20fc5db49e
Polish query file
2021-04-09 00:49:30 +02:00
jorgectf
63bd32359a
Improve qhelp
2021-04-09 00:48:57 +02:00
jorgectf
7e456494ef
Set up taint config and custom sink
2021-04-08 00:20:04 +02:00
jorgectf
8ca6e84268
Refactor Calls to use ApiGraphs
2021-04-08 00:19:46 +02:00
jorgectf
aa7763b3d2
Set up Concepts
2021-04-08 00:19:14 +02:00
jorgectf
db1f54a5f3
Polish query file
2021-04-08 00:19:00 +02:00
thank_you
83f28bfdda
Catch any keyword argument passed to MongoEngine's objects method
...
After some research, we discovered that any keyword argument passed to the objects method will result in NoSQL injection. This includes scenarios where we have the following:
objects(name_of_model_attribute=unsanitized_user_input)
2021-04-07 16:45:48 -04:00
thank_you
719c30bd92
Fix file name and adjust where the test points to
2021-04-07 16:42:51 -04:00
thank_you
4e98348411
Remove comment
2021-04-06 13:57:03 -04:00
thank_you
dc274ecf36
Improve sentence structure and grammar
2021-04-06 13:51:59 -04:00
thank_you
520e65e3c3
Remove unnecessary example code
2021-04-06 13:46:51 -04:00
thank_you
ac31260fed
Made grammar changes
2021-04-06 13:42:57 -04:00
jorgectf
bfd4280d35
Fix imports and begin refactor
2021-04-06 15:51:37 +02:00
jorgectf
2f874c5c0b
Precision warn and Remove CWE (broken) reference
2021-04-06 15:47:42 +02:00
jorgectf
809bf2377e
Move to experimental folder
2021-04-06 15:47:41 +02:00
jorgectf
8715d29a44
Upload LDAP Improper authentication query, qhelp and tests
2021-04-06 15:47:41 +02:00
thank_you
6ade120983
Add check for mongoengine raw queries
...
After initial research on our end, we believe that the only vulnerability within the objects() method is passing a query into the __raw__ keyword argument. More info can be found below:
http://docs.mongoengine.org/guide/querying.html?highlight=inc__#raw-queries
2021-04-05 20:44:16 -04:00
thank_you
759fa2cd01
Update query to search for more pymongo sink methods
2021-04-05 20:42:18 -04:00
thank_you
3f0c758622
Add required __raw__ keyword
...
This __raw__ keyword is required for the actual mongoengine vulnerability. More info can be found below:
http://docs.mongoengine.org/guide/querying.html?highlight=inc__#raw-queries
2021-04-05 19:07:13 -04:00
Your Name
80216f6974
Rename classes
2021-04-05 14:41:08 -04:00
Your Name
be9a3a95b1
Add relevant PyMongo sink methods
2021-04-05 14:23:56 -04:00
Your Name
9072d19cda
Update qhelp file
2021-04-05 13:56:43 -04:00
jorgectf
15e176a3b8
Polish query select
2021-04-01 13:00:12 +02:00
jorgectf
f980d0694b
Fix taint configs
2021-04-01 12:50:25 +02:00
jorgectf
c8740a2031
Update naming
2021-04-01 12:41:11 +02:00
jorgectf
3a47a45e47
Attempt to apply TaintTracking2
2021-03-31 18:49:41 +02:00
jorgectf
f0a50eb67a
Polish up configs
2021-03-31 17:58:18 +02:00
jorgectf
017a826b30
Remove unused class variables
2021-03-31 17:52:03 +02:00
jorgectf
5a1dc48e48
Fix Mongoengine test
2021-03-31 17:50:31 +02:00
jorgectf
7a4dc46341
Fix Sinks
2021-03-31 17:50:05 +02:00
jorgectf
01f9d4a1b0
Fix MongoEngine Sink
2021-03-31 15:50:45 +02:00
edvraa
13080703b9
Make query symmetric
2021-03-31 15:59:19 +03:00
edvraa
f8867e40a7
Rename deserializeCall to deserializeCallArg
2021-03-31 15:49:17 +03:00
edvraa
aa9d84854f
Rename taint tracking variables
2021-03-31 15:42:52 +03:00
edvraa
7cbbd6cc89
Simplify query
2021-03-31 15:35:54 +03:00
edvraa
8bb3be2677
Fix comment
2021-03-31 15:31:14 +03:00
edvraa
94234b8b02
Rename ObjectMethodSink to InstanceMethodSink
2021-03-31 15:22:30 +03:00
jorgectf
ccd57bea7a
Fix imports
2021-03-30 21:17:11 +02:00
jorgectf
4579132f22
Add left tests
2021-03-30 21:14:33 +02:00
jorgectf
d856f160c8
Adapt query configs and custom classes
2021-03-30 21:14:21 +02:00
jorgectf
bd5ff01ebb
PyMongo and Mongoengine sinks
2021-03-30 21:13:43 +02:00
jorgectf
aea7546cf9
Add Concepts
2021-03-30 21:13:15 +02:00
jorgectf
517a9202ce
PR init
2021-03-30 17:51:17 +02:00
edvraa
ac29184521
deserialization sinks
2021-03-20 21:50:46 +02:00