Tom Hvitved
6e61ef10b8
Ruby: Add another dataflow copy
2022-10-04 12:58:50 +02:00
Tom Hvitved
9d7d6c29f9
Review comments
2022-10-04 12:58:50 +02:00
Tom Hvitved
77c47bc856
Ruby: Add another call graph test
2022-10-04 12:58:49 +02:00
Arthur Baars
44cc6f7350
Ruby: improve tracking of regular expressions
...
There are two flavours of `match?`. If the receiver of `match?` has type String
then the argument to `match?` is a regular expression. However, if the receiver of
`match?` has type Regexp then the argument is the text.
The role of receiver and argument flips depending on the type of the receiver, this
caused a lot of false positives when looking for string-like literals that are
used as a regular expression.
This commit attempts to improve things by trying to determine whether the type of the
receiver is known to be of type Regexp. In such cases we know that the argument
is unlikely to be regular expression.
2022-10-04 12:58:49 +02:00
Arthur Baars
0160c374e4
Ruby: add flow summaries for Object#dup and Kernel#tap
2022-10-04 12:58:49 +02:00
Arthur Baars
5d55daa491
Ruby: use resolveConstantReadAccess instead of trackModuleAccess for 'extend' calls
...
This avoids non-linear recursion at the cost of losing some results.
2022-10-04 12:58:49 +02:00
Arthur Baars
c2b98a4761
Ruby: add support for 'extend' method
2022-10-04 12:58:49 +02:00
Arthur Baars
09bc78eafc
Ruby: local dataflow step for || and &&
2022-10-04 12:58:49 +02:00
Arthur Baars
e95b5468d9
Ruby: use Dataflow for Pathname instead of TypeTracking
2022-10-04 12:58:49 +02:00
Arthur Baars
f9b952f04f
Ruby: Pathname use TypeTracker instead of local flow
2022-10-04 12:58:49 +02:00
Jami Cogswell
25cb3236a2
apply review suggestions
2022-10-04 12:33:24 +02:00
Jami Cogswell
91db1be399
update Intent file
2022-10-04 12:33:24 +02:00
Jami Cogswell
960e9db2fb
add missing expectation to tests
2022-10-04 12:33:24 +02:00
Tony Torralba
1857a5d311
Refactor Intent flow steps
2022-10-04 12:33:24 +02:00
Jami Cogswell
00b0a6bf38
update act tests
2022-10-04 12:33:23 +02:00
Jami Cogswell
834927c50b
update tests
2022-10-04 12:33:23 +02:00
Jami Cogswell
9a7cf7db65
simplify hasName usage
2022-10-04 12:33:23 +02:00
Jami Cogswell
c7e7e24cf8
clean up files
2022-10-04 12:33:23 +02:00
Jami Cogswell
012cfebd7a
resolve merge conflict
2022-10-04 12:33:23 +02:00
Jami Cogswell
da7f27a7f2
add change note
2022-10-04 12:33:23 +02:00
Jami Cogswell
66b3c4687d
resolve merge conflict
2022-10-04 12:33:23 +02:00
Jami Cogswell
0a135a7f21
resolve merge conflict
2022-10-04 12:33:23 +02:00
Jami Cogswell
0f64361065
remove simple query
2022-10-04 12:33:23 +02:00
Jami Cogswell
af812cf407
fix code scanning bot warnings
2022-10-04 12:33:23 +02:00
Jami Cogswell
47fcbdd4b4
resolve merge conflict
2022-10-04 12:33:23 +02:00
Jami Cogswell
d07babe3c5
add initial framework for service and receiver test cases
2022-10-04 12:33:23 +02:00
Jami Cogswell
6cf3898101
add experimental global flow config, and clean-up some code
2022-10-04 12:33:23 +02:00
Jami Cogswell
9947b32446
resolve merge conflict
2022-10-04 12:33:23 +02:00
Jami Cogswell
11ce910c38
resolved merge conflict in FlowSources
2022-10-04 12:33:23 +02:00
Jami Cogswell
7576047214
create simple query and initial experimentation
2022-10-04 12:33:23 +02:00
Nick Rolfe
dd1b302fce
Ruby: revert making inActionViewContext private
2022-10-04 11:29:09 +01:00
Tony Torralba
9db65eae7f
Address review comments
2022-10-04 12:27:01 +02:00
Tony Torralba
b8fa9433be
Fix duplicated test
2022-10-04 12:27:01 +02:00
Tony Torralba
264d6db9d7
Rename AllowListGuard to AllowedPrefixGuard
2022-10-04 12:27:01 +02:00
Tony Torralba
90020b6aab
Make block lists work with substring matching too
...
A block list approach doesn't need to restrict itself to prefix matching
2022-10-04 12:27:01 +02:00
Tony Torralba
69d1895175
Update java/ql/lib/semmle/code/java/security/PathSanitizer.qll
2022-10-04 12:27:01 +02:00
Tony Torralba
6fcaae20e7
Add tests and fix bugs highlighted by them
2022-10-04 12:27:01 +02:00
Tony Torralba
f19eb783be
Generalize file/path taint steps
...
This is needed by PathSanitizer but also helps simplify ZipSlip.ql
2022-10-04 12:27:01 +02:00
Tony Torralba
4e29c39c78
Merge ZipSlip sanitization logic into PathSanitizer.qll
...
Apply code review suggestions regarding weak sanitizers
2022-10-04 12:27:01 +02:00
Tony Torralba
89d905cc03
Add change note
2022-10-04 12:27:01 +02:00
Tony Torralba
08c67fb174
Use PathInjectionSanitizer in relevant queries
2022-10-04 12:27:01 +02:00
Tony Torralba
dff878e531
Apply TaintedPath recent changes to TaintedPathLocal
2022-10-04 12:26:59 +02:00
Tony Torralba
5706e8b377
Improve PathSanitizer
...
Rename PathTraversalSanitizer to PathInjectionSanitizer
2022-10-04 12:26:17 +02:00
Tony Torralba
50ad234694
Move PathSanitizer to the main library
2022-10-04 12:26:17 +02:00
Tony Torralba
d5478a01ab
Merge pull request #10671 from github/revert-10640-atorralba/fix-cartesian-product
...
Java: Revert #10489 and #10640
2022-10-04 12:25:46 +02:00
Chris Smowton
e29be411ef
Merge pull request #9811 from smowton/smowton/feature/kotlin-jvmoverloads-annotation
...
Kotlin: Implement JvmOverloads annotation
2022-10-04 11:21:44 +01:00
Nick Rolfe
a738f1d5cf
Ruby: remove public abstract classes for Action{View,Controller}
2022-10-04 10:53:41 +01:00
Asger F
948594043d
Ruby: share type-tracking test with array test
2022-10-04 11:15:13 +02:00
Asger F
28f4dff1d3
Python: sync
2022-10-04 11:15:11 +02:00
Asger F
b6231e82ec
Ruby: do not treat WithoutElement[0..!] as a type filter
2022-10-04 11:14:31 +02:00