Tom Hvitved
a13b6ed230
Merge pull request #12536 from hvitved/dataflow/call-enclosing-callable-consistency-check
...
Data flow: Add consistency check for `DataFlowCall::getEnclosingCallable`
2023-03-16 10:19:42 +01:00
Rasmus Wriedt Larsen
b3a49ab143
Merge pull request #12467 from RasmusWL/kwargs-parameter-position-fixup
...
Python/Ruby: Use new parameter position for synthetic hash-splat instead
2023-03-16 09:52:46 +01:00
Tom Hvitved
9f798902bd
Data flow: Add consistency check for DataFlowCall::getEnclosingCallable
2023-03-16 08:40:53 +01:00
Harry Maclean
aaeb8a0aa0
Merge pull request #12493 from hmac/ar-sinks
2023-03-15 07:59:07 +13:00
Tom Hvitved
8dd99b951b
Data flow: Exclude expectsContent nodes from lambda flow
2023-03-14 10:01:11 +01:00
Tom Hvitved
08557974ae
Merge pull request #12499 from hvitved/ruby/more-constructor-flow
...
Ruby: Add missing flow through `self.new` constructor calls
2023-03-14 09:14:42 +01:00
Harry Maclean
d814e15a2f
Ruby: Refactor
2023-03-14 12:58:32 +13:00
Tony Torralba
705691b096
Merge pull request #12446 from github/java/update-mad-decls-after-triage-2023-03-08T14-51-59
...
Java: Update MaD Declarations after Triage
2023-03-13 14:07:59 +01:00
Anders Schack-Mulligen
0c95ab2cdc
Merge pull request #12474 from hvitved/dataflow/call-back-post-update
...
Data flow: Synthesize post-update nodes for callback arguments inside summarized callables
2023-03-13 13:21:52 +01:00
Erik Krogh Kristensen
060c37b6a2
Merge pull request #12345 from erik-krogh/delOldDeps
...
delete old deprecations
2023-03-13 12:48:24 +01:00
Tom Hvitved
714b61b63e
Ruby: Add missing flow through self.new constructor calls
2023-03-13 12:45:46 +01:00
erik-krogh
6c1ebd999e
Merge branch 'main' into delOldDeps
2023-03-13 11:00:29 +01:00
Harry Maclean
fe995dd99b
Ruby: ActiveRecord::Connection.execute SQL sink
2023-03-13 09:03:54 +13:00
Harry Maclean
025cd34dab
Ruby: Taint flow through ActionController params
...
We were not recognising "require" as returning a Parameters instance.
2023-03-13 08:52:41 +13:00
Harry Maclean
2d95b6a049
Ruby: Add count_by_sql as SQL sink
2023-03-13 08:40:32 +13:00
Harry Maclean
c97dccf0de
Ruby: Add reorder as a SQL sink
...
In recent versions of Rails this method doesn't seem to be vulnerable,
but it may be in previous versions. There's a slight FP risk here, but
I think it is small.
2023-03-13 08:38:17 +13:00
Anders Schack-Mulligen
1e64748ffe
Dataflow: Autoformat.
2023-03-10 15:12:19 +01:00
Anders Schack-Mulligen
289f921171
Dataflow: Sync.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
00f0879ff5
Dataflow: Sync.
2023-03-10 14:56:54 +01:00
Tom Hvitved
6eea906bbf
Data flow: Synthesize post-update nodes for callback arguments inside summarized callables
2023-03-10 12:43:21 +01:00
Tony Torralba
8aa80882ea
Sync files
2023-03-10 12:35:13 +01:00
Anders Schack-Mulligen
159d8e978c
Dataflow: one more autoformat post rebase
2023-03-10 10:04:35 +01:00
Anders Schack-Mulligen
a5d229903d
Ruby: Autoformat
2023-03-10 09:41:20 +01:00
Arthur Baars
348165205c
Merge pull request #12442 from aibaars/diagnostics-tests
...
Ruby: add some integration tests for diagnostic messages
2023-03-09 21:58:42 +01:00
Mathias Vorreiter Pedersen
59402eb754
Merge pull request #12462 from MathiasVP/disable-std-order-in-fwd-flow-stage-1
...
DataFlow: Disable standard order in `Stage1::fwdFlow`
2023-03-09 15:30:05 +00:00
Alex Ford
5ef71f9d28
Merge pull request #12306 from alexrford/rb/more-expr-nodes
...
Ruby: ensure that all Ast `Expr`s have a dataflow node type more precise than `ExprNode`
2023-03-09 14:54:34 +00:00
Rasmus Wriedt Larsen
38fe9b71b9
Ruby: Use new parameter position for synthetic hash-splat instead
...
We wanted to ensure that a callable did not have multiple parameters
with same parameter position. Originally we fixed this with
e0bd210797 . This commit reverts that and
solves it by introducing a new parameter position instead.
2023-03-09 15:05:07 +01:00
Arthur Baars
8096f86224
Ruby: lower severity of parse error to warning
2023-03-09 13:14:57 +01:00
Mathias Vorreiter Pedersen
1f77f77153
DataFlow: Sync identical files.
2023-03-09 10:41:15 +00:00
Tom Hvitved
b6a709df50
Ruby: Rewrite Stored XSS query to use new data flow interface
2023-03-07 07:23:27 +01:00
Mathias Vorreiter Pedersen
92ad099c1b
DataFlow: Remove bindingsets, remove the call column, and swap parameter and argument columns.
2023-03-06 13:47:59 +00:00
Mathias Vorreiter Pedersen
3bf28cc752
DataFlow: Sync identical files.
2023-03-06 13:46:21 +00:00
Mathias Vorreiter Pedersen
e6b6369a21
Ruby: Add stub.
2023-03-06 13:44:59 +00:00
Anders Schack-Mulligen
5c7f2ac7f7
Merge pull request #12186 from aschackmull/dataflow/refactor-configuration
...
Data flow: Refactor configuration
2023-03-06 13:38:59 +01:00
Arthur Baars
d2ab40c184
Merge pull request #12208 from gregxsunday/main
...
Add ZipSlip and TarSlip query to ruby
2023-03-06 10:40:06 +01:00
Anders Schack-Mulligen
557cb17f4d
Dataflow: Minor perf fix for single config wrapper.
2023-03-06 10:24:33 +01:00
Anders Schack-Mulligen
0addcfa7c5
Dataflow: Fix some perf issues.
2023-03-03 11:45:32 +01:00
erik-krogh
f96d6accbb
delete old deprecations
2023-03-03 09:23:02 +01:00
Kasper Svendsen
9cac4bbe0f
ActionController: Prevent bad join
2023-03-02 10:02:08 +01:00
Tony Torralba
59bd1e5ab1
Merge pull request #12228 from github/java/mad-decls-triage-request-2276
...
Java: Update MaD sink decls after triage
2023-03-01 17:08:38 +01:00
Tom Hvitved
16fa8b2914
Merge pull request #12051 from hmac/actioncontroller-filter-flow-steps
...
Ruby: flow steps for ActionController filters
2023-03-01 10:51:09 +01:00
Tom Hvitved
92359e539b
Fix another bad join
...
Before
```
[2023-03-01 08:19:51] Evaluated non-recursive predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@6718c917 in 6751ms (size: 83265).
Evaluated relational algebra for predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@6718c917 with tuple counts:
3872025 ~3% {2} r1 = JOIN _CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_DataFlowPrivate#462ff392::Cached::TExprNode#ff#shared WITH Statement#f35022d0::Stmt::getCfgScope#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3637917 ~0% {2} r2 = JOIN r1 WITH Method#8b49e67f::Callable#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1
679799 ~0% {2} r3 = JOIN r2 WITH Method#8b49e67f::Method#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1
3069328 ~0% {3} r4 = JOIN r3 WITH Variable#1965ffe5::Variable::getDeclaringScope#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
22039083 ~0% {3} r5 = JOIN r4 WITH Variable#1965ffe5::VariableAccess::getVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10051483 ~0% {3} r6 = JOIN r5 WITH Variable#9f7d933a::SelfVariableAccessImpl#class#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
10057538 ~5% {3} r7 = JOIN r6 WITH CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10057538 ~5% {3} r8 = JOIN r7 WITH CfgNodes#ace8e412::ExprNodes::SelfVariableAccessCfgNode#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
10057538 ~0% {3} r9 = JOIN r8 WITH DataFlowPrivate#462ff392::Cached::TExprNode#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10033937 ~1% {3} r10 = JOIN r9 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
83281 ~2% {2} r11 = JOIN r10 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.2
return r11
```
After
```
[2023-03-01 08:31:20] Evaluated non-recursive predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@06d73c6q in 161ms (size: 83265).
Evaluated relational algebra for predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@06d73c6q with tuple counts:
23680 ~2% {1} r1 = SCAN Method#8b49e67f::Method#ff OUTPUT In.0
23680 ~2% {1} r2 = STREAM DEDUP r1
23680 ~0% {2} r3 = JOIN r2 WITH Method#8b49e67f::Callable#f ON FIRST 1 OUTPUT Lhs.0, Lhs.0
54790 ~4% {3} r4 = JOIN r3 WITH Variable#1965ffe5::Variable::getDeclaringScope#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
202490 ~0% {3} r5 = JOIN r4 WITH Variable#1965ffe5::VariableAccess::getVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
98332 ~5% {3} r6 = JOIN r5 WITH Variable#9f7d933a::SelfVariableAccessImpl#class#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
83491 ~1% {2} r7 = JOIN r6 WITH Statement#f35022d0::Stmt::getCfgScope#0#dispred#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.2
83584 ~0% {2} r8 = JOIN r7 WITH CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
83584 ~0% {2} r9 = JOIN r8 WITH DataFlowPrivate#462ff392::Cached::TExprNode#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
83265 ~2% {2} r10 = JOIN r9 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
return r10
```
2023-03-01 08:34:07 +01:00
Anders Schack-Mulligen
bf650c755c
Dataflow: Sync changes to all languages.
2023-02-27 14:30:05 +01:00
Alex Ford
7c85448cba
Merge pull request #12080 from alexrford/js-use-shared-cryptography
...
JS: Use shared `CryptographicOperation` concept
2023-02-27 12:26:38 +00:00
Alex Ford
a54ca38e31
Ruby: DataFlow::CallableNode extends DataFlow::StmtSequenceNode
2023-02-24 16:40:35 +00:00
Alex Ford
e948e22186
Ruby: all Exprs have a corresponding DataFlow::Node that is more specific than just DataFlow::ExprNode
2023-02-24 16:40:35 +00:00
gregxsunday
34b441c3cc
move query to experimental folder
2023-02-23 12:12:04 +00:00
gregxsunday
f9b5846675
add detection of sources directly used with blocks
2023-02-23 12:09:12 +00:00
Grzegorz Niedziela
4ab6a7bdfd
Merge branch 'github:main' into main
2023-02-23 10:50:15 +00:00
Tom Hvitved
bd5ae88a9a
Ruby: Move FileSystem.qll implementation into shared util pack
2023-02-23 10:21:04 +01:00