Tom Hvitved
d9ff4ef567
Merge pull request #17155 from hvitved/java/array-ref-bad-join
...
Java: Fix bad join
2024-08-07 12:39:40 +02:00
github-actions[bot]
c14ba0e4bd
Release preparation for version 2.18.2
2024-08-06 12:46:15 +00:00
Tom Hvitved
a7410e4a16
Java: Fix bad join
...
Before
```
[2024-08-06 10:37:59] Evaluated non-recursive predicate BoundingChecks::arrayReference/1#754911ba@0628dahn in 20981ms (size: 2009682526).
Evaluated relational algebra for predicate BoundingChecks::arrayReference/1#754911ba@0628dahn with tuple counts:
94480 ~0% {2} r1 = SCAN `Expr::ArrayAccess.getArray/0#dispred#b90c658a` OUTPUT In.1, In.0
32 ~0% {2} r2 = JOIN r1 WITH `Expr::MethodCall.getMethod/0#dispred#41989dc9` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
1013 ~1% {2} | JOIN WITH `Expr::MethodCall.getMethod/0#dispred#41989dc9_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1
92091 ~4% {2} r3 = JOIN r1 WITH variableBinding ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2009681513 ~0% {2} | JOIN WITH variableBinding_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1
2009682526 ~0% {2} r4 = r2 UNION r3
return r4
[2024-08-06 10:38:02] Evaluated non-recursive predicate BoundingChecks::lessthanLength/1#48b5e1b7@2885308n in 0ms (size: 108).
Evaluated relational algebra for predicate BoundingChecks::lessthanLength/1#48b5e1b7@2885308n with tuple counts:
1518 ~0% {2} r1 = JOIN `Expr::ComparisonExpr.isStrict/0#dispred#fd8c6ddb` WITH `Expr::ComparisonExpr.getGreaterOperand/0#dispred#e8df4b14` ON FIRST 1 OUTPUT Rhs.1, Lhs.0
455 ~2% {2} | JOIN WITH Expr::FieldAccess#2b664c37 ON FIRST 1 OUTPUT Lhs.1, Lhs.0
455 ~1% {3} | JOIN WITH `Expr::ComparisonExpr.getLesserOperand/0#dispred#d7744bc2` ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
455 ~0% {5} | JOIN WITH `Expr::FieldAccess.getField/0#dispred#29ef4aa0` ON FIRST 1 OUTPUT Rhs.1, _, Lhs.1, Lhs.0, Lhs.2
455 ~0% {5} | REWRITE WITH Out.1 := "length"
116 ~0% {3} | JOIN WITH `Element::Element.hasName/1#dispred#8acbbbde` ON FIRST 2 OUTPUT Lhs.4, Lhs.2, Lhs.3
93 ~0% {3} | JOIN WITH variableBinding ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
93 ~1% {3} | JOIN WITH `Expr::VarAccess.getQualifier/0#dispred#2b0f1cd1` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
484 ~2% {3} | JOIN WITH variableBinding_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
277 ~3% {2} | JOIN WITH `BoundingChecks::conditionHolds/2#fa0354b9#bb` ON FIRST 2 OUTPUT Lhs.1, Lhs.2
166 ~5% {2} | JOIN WITH `Expr::ArrayAccess.getIndexExpr/0#dispred#345f6cf4_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
110 ~0% {1} | JOIN WITH `BoundingChecks::arrayReference/1#754911ba` ON FIRST 2 OUTPUT Lhs.0
return r1
```
After
```
[2024-08-06 13:29:50] Evaluated non-recursive predicate BoundingChecks::lengthAccess/2#54b10eff@719e68tb in 0ms (size: 309).
Evaluated relational algebra for predicate BoundingChecks::lengthAccess/2#54b10eff@719e68tb with tuple counts:
6241 ~0% {2} r1 = JOIN `BoundingChecks::getAnAccess/1#152ad44e_10#join_rhs` WITH `Expr::VarAccess.getQualifier/0#dispred#2b0f1cd1_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
6240 ~0% {4} | JOIN WITH `Expr::FieldAccess.getField/0#dispred#29ef4aa0` ON FIRST 1 OUTPUT Rhs.1, _, Lhs.1, Lhs.0
6240 ~0% {4} | REWRITE WITH Out.1 := "length"
309 ~2% {2} | JOIN WITH `Element::Element.hasName/1#dispred#8acbbbde` ON FIRST 2 OUTPUT Lhs.3, Lhs.2
return r1
[2024-08-06 13:29:50] Evaluated non-recursive predicate BoundingChecks::lessthanLength/1#48b5e1b7@0fcac509 in 1ms (size: 108).
Evaluated relational algebra for predicate BoundingChecks::lessthanLength/1#48b5e1b7@0fcac509 with tuple counts:
94480 ~0% {3} r1 = JOIN `Expr::ArrayAccess.getArray/0#dispred#b90c658a` WITH `Expr::ArrayAccess.getIndexExpr/0#dispred#345f6cf4` ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1
648 ~4% {4} | JOIN WITH variableBinding ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0, Rhs.1
621 ~1% {4} | JOIN WITH `BoundingChecks::getAnAccess/1#152ad44e_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.3, Rhs.1
344 ~0% {4} | JOIN WITH `BoundingChecks::conditionHolds/2#fa0354b9#bb_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
341 ~0% {4} | JOIN WITH `Expr::ComparisonExpr.isStrict/0#dispred#fd8c6ddb` ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
341 ~0% {5} | JOIN WITH `Expr::ComparisonExpr.getGreaterOperand/0#dispred#e8df4b14` ON FIRST 1 OUTPUT Rhs.1, Lhs.3, Lhs.1, Lhs.2, Lhs.0
110 ~2% {3} | JOIN WITH `BoundingChecks::lengthAccess/2#54b10eff` ON FIRST 2 OUTPUT Lhs.4, Lhs.2, Lhs.3
110 ~0% {3} | JOIN WITH `Expr::ComparisonExpr.getLesserOperand/0#dispred#d7744bc2` ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1
110 ~0% {1} | JOIN WITH variableBinding ON FIRST 2 OUTPUT Lhs.2
return r1
```
2024-08-06 13:30:19 +02:00
Chris Smowton
95e504a5ff
Merge branch 'main' into am0o0-java-PathInjection
2024-08-05 11:41:25 +01:00
Chris Smowton
be945f14f6
Merge pull request #17135 from github/smowton/admin/build-mode-none-ga
...
Announce Java build-mode: none GA
2024-08-02 12:05:39 +01:00
Anders Schack-Mulligen
4d023f14a6
Merge pull request #17075 from RobbingDaHood/17052-second-try-do-not-expose-error-message
...
Java: 17052 Second try: do not expose error message
2024-08-02 12:44:27 +02:00
Chris Smowton
c299d8ddc1
Move change note to lib directory
2024-08-02 11:22:10 +01:00
Jami
4fb29c4473
Merge branch 'main' into jcogs33/java/add-apache-ant-path-inj-sinks
2024-07-31 08:15:07 -04:00
Owen Mansel-Chan
e259b25428
Add "tokenizer" to sensitive variable name FPs
2024-07-30 15:38:32 +01:00
Owen Mansel-Chan
0704946324
Factor out matching sensitive variable name FPs
2024-07-30 15:37:54 +01:00
Anders Schack-Mulligen
5073f4f7dd
Merge pull request #17096 from aschackmull/java/pp-experimental-models
...
Java: Pretty-print experimental models for qltest.
2024-07-30 13:31:15 +02:00
Anders Schack-Mulligen
da5250d3a7
Java: Pretty-print experimental models for qltest.
2024-07-30 11:43:44 +02:00
Ian Lynagh
1530037eae
Merge pull request #17071 from igfoo/igfoo/dep_env
...
Java/Kotlin: Remove support for deprecated SOURCE_ARCHIVE and TRAP_FOLDER
2024-07-29 14:55:50 +01:00
Jami
0ba5a74f6a
Merge pull request #17074 from jcogs33/jcogs33/java/fix-regex-use-comments
...
Java: fix comments about use of sink kind `regex-use`
2024-07-26 08:57:39 -04:00
Jami
ff9093f2de
Merge branch 'main' into jcogs33/java/add-apache-ant-path-inj-sinks
2024-07-26 08:54:27 -04:00
RobbingDaHood
feb31d2006
Merge branch 'main' into 17052-second-try-do-not-expose-error-message
2024-07-25 18:13:49 +02:00
Daniel Winther Petersen
1c1ba7734f
Now alerts about exposing exception.getMessage() in servlet responses are split out of java/stack-trace-exposure into its own alert java/error-message-exposure because this is a better fit.
2024-07-25 18:12:45 +02:00
Jami
91f5f086fb
Merge pull request #17025 from jcogs33/jcogs33/java/adjust-url-syntheticfield
...
Java: add TaintInheritingContent for URL synthetic fields
2024-07-25 12:11:39 -04:00
Jami Cogswell
eea3e82cca
Java: fix 'regex-use' comments
2024-07-25 10:39:03 -04:00
Anders Schack-Mulligen
c693f03462
Merge pull request #17070 from aschackmull/dataflow/pptype-refactor
...
Dataflow: Replace `ppReprType` with `DataFlowType.toString`.
2024-07-25 14:30:08 +02:00
Ian Lynagh
225d2915e5
Java/Kotlin: Add changenote for dropping SOURCE_ARCHIVE/TRAP_FOLDER
2024-07-25 12:48:55 +01:00
Anders Schack-Mulligen
7a48fe1102
Dataflow: Replace ppReprType with DataFlowType.toString.
2024-07-25 13:08:47 +02:00
Owen Mansel-Chan
5a39610ba7
Merge pull request #17053 from owen-mc/java/fix/regex-use-sink-kind
...
Java: Add comments about use of sink kind `regex-use`
2024-07-24 21:08:52 +01:00
Jami Cogswell
5854e88f63
Java: add change note
2024-07-24 16:00:38 -04:00
Owen Mansel-Chan
3edeb82d5b
Add comment by models using regex-use sink kind
2024-07-23 21:40:45 +01:00
Owen Mansel-Chan
89f958105a
Mention regex-use sink kind in QLDoc for regexSinkKindInfo
2024-07-23 21:38:30 +01:00
Owen Mansel-Chan
4c8da54b64
Merge pull request #17036 from chmodxxx/sbaddou/fix
...
Java: Move SensitiveLoggerConfig source to extensible format
2024-07-23 14:55:26 +01:00
Chuan-kai Lin
67dac96e80
Merge pull request #17041 from github/post-release-prep/codeql-cli-2.18.1
...
Post-release preparation for codeql-cli-2.18.1
2024-07-23 06:48:30 -07:00
Salah Baddou
4f80ae2190
Merge branch 'main' into sbaddou/fix
2024-07-23 12:03:13 +01:00
Owen Mansel-Chan
ff8bb2b1f8
Merge pull request #16760 from owen-mc/java/reverse-dns-separate-threat-model-kind
...
Java: make a separate threat model kind for reverse DNS sources
2024-07-23 10:08:52 +01:00
Anders Schack-Mulligen
b5b9c4d931
Update java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll
...
Java: Make class private
2024-07-23 10:07:51 +02:00
Anders Schack-Mulligen
bb86a07a93
Update java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll
...
fix typo
2024-07-23 10:03:07 +02:00
Anders Schack-Mulligen
5912a17ab4
Update java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll
...
Autoformat
2024-07-23 10:01:49 +02:00
github-actions[bot]
49cc8f8ff8
Post-release preparation for codeql-cli-2.18.1
2024-07-22 22:00:48 +00:00
Chuan-kai Lin
a5fe3f4d9c
Minor changelog improvements
2024-07-22 14:34:56 -07:00
github-actions[bot]
368bcb684a
Release preparation for version 2.18.1
2024-07-22 21:30:50 +00:00
Chuan-kai Lin
23320b6e5e
Revert "Release preparation for version 2.18.1"
2024-07-22 13:22:49 -07:00
Chuan-kai Lin
cda4339056
Minor changelog improvements
2024-07-22 09:42:31 -07:00
Salah Baddou
2ad70cbee2
Move SensitiveLoggerConfig source to extensible format
2024-07-22 17:34:00 +01:00
github-actions[bot]
55935fc123
Release preparation for version 2.18.1
2024-07-22 14:56:15 +00:00
Jami Cogswell
4790656b79
Java: add TaintInheritingContent for URL synthetic fields
2024-07-20 23:03:32 -04:00
Jami Cogswell
d6d2a213e7
Java: add change note
2024-07-19 18:19:37 -04:00
Jami Cogswell
f3e5b55cc4
Java: add path injection sinks for Property.setFile and Property.setResource
2024-07-19 18:04:17 -04:00
Michael Nebel
2796597d1a
Code quality improvements.
2024-07-19 09:36:17 +02:00
Ed Minnix
0990a370c7
Convert QL classes for Lastaflute to MaD
2024-07-18 17:41:06 -04:00
Ed Minnix
9713551448
Missing QLDoc
2024-07-18 17:41:05 -04:00
Ed Minnix
4fa45bb81c
Change note
2024-07-18 17:41:03 -04:00
Ed Minnix
3bd330423d
Add some models for the org.lastaflute.web library
...
Methods annotated `@Execute` are handlers for URLs. Therefore, the
parameters of the methods annotated with the
`org.lastaflute.web.Execute` annotation are likely either URL parameters
or forms.
2024-07-18 17:41:00 -04:00
Michael Nebel
ca4bd0c606
C#/Java/Go: Neutrals are split into seperate classes.
2024-07-18 16:29:38 +02:00
Jami
39f0288e09
Merge pull request #16964 from jcogs33/jcogs33/add-toByteArray-summaries
...
Java: add `IOUtils.toByteArray` summaries
2024-07-16 17:03:30 -04:00