Skip to content

Commit b7b6684

Browse files
Merge pull request #210 from advanced-security/lcartey/update-dependencies
Update the dependencies to CodeQL CLI 2.22.2.
2 parents 8918839 + d3780d3 commit b7b6684

File tree

16 files changed

+222
-140
lines changed

16 files changed

+222
-140
lines changed

.github/workflows/code_scanning.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ on:
1010
- cron: '39 12 * * 2'
1111
workflow_dispatch:
1212

13+
env:
14+
CODEQL_ACTION_DIFF_INFORMED_QUERIES: false
15+
1316
jobs:
1417
analyze-javascript:
1518
name: Analyze
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
11
---
22
lockVersion: 1.0.0
33
dependencies:
4+
codeql/concepts:
5+
version: 0.0.1
46
codeql/dataflow:
5-
version: 2.0.0
7+
version: 2.0.11
68
codeql/javascript-all:
7-
version: 2.4.0
9+
version: 2.6.7
810
codeql/mad:
9-
version: 1.0.16
11+
version: 1.0.27
1012
codeql/regex:
11-
version: 1.0.16
13+
version: 1.0.27
1214
codeql/ssa:
13-
version: 1.0.16
15+
version: 2.0.3
1416
codeql/threat-models:
15-
version: 1.0.16
17+
version: 1.0.27
1618
codeql/tutorial:
17-
version: 1.0.16
19+
version: 1.0.27
1820
codeql/typetracking:
19-
version: 2.0.0
21+
version: 2.0.11
2022
codeql/util:
21-
version: 2.0.3
23+
version: 2.0.14
2224
codeql/xml:
23-
version: 1.0.16
25+
version: 1.0.27
2426
codeql/yaml:
25-
version: 1.0.16
27+
version: 1.0.27
2628
compiled: false
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
11
---
22
lockVersion: 1.0.0
33
dependencies:
4+
codeql/concepts:
5+
version: 0.0.1
46
codeql/dataflow:
5-
version: 2.0.0
7+
version: 2.0.11
68
codeql/javascript-all:
7-
version: 2.4.0
9+
version: 2.6.7
810
codeql/mad:
9-
version: 1.0.16
11+
version: 1.0.27
1012
codeql/regex:
11-
version: 1.0.16
13+
version: 1.0.27
1214
codeql/ssa:
13-
version: 1.0.16
15+
version: 2.0.3
1416
codeql/threat-models:
15-
version: 1.0.16
17+
version: 1.0.27
1618
codeql/tutorial:
17-
version: 1.0.16
19+
version: 1.0.27
1820
codeql/typetracking:
19-
version: 2.0.0
21+
version: 2.0.11
2022
codeql/util:
21-
version: 2.0.3
23+
version: 2.0.14
2224
codeql/xml:
23-
version: 1.0.16
25+
version: 1.0.27
2426
codeql/yaml:
25-
version: 1.0.16
27+
version: 1.0.27
2628
compiled: false
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
11
---
22
lockVersion: 1.0.0
33
dependencies:
4+
codeql/concepts:
5+
version: 0.0.1
46
codeql/dataflow:
5-
version: 2.0.0
7+
version: 2.0.11
68
codeql/javascript-all:
7-
version: 2.4.0
9+
version: 2.6.7
810
codeql/mad:
9-
version: 1.0.16
11+
version: 1.0.27
1012
codeql/regex:
11-
version: 1.0.16
13+
version: 1.0.27
1214
codeql/ssa:
13-
version: 1.0.16
15+
version: 2.0.3
1416
codeql/threat-models:
15-
version: 1.0.16
17+
version: 1.0.27
1618
codeql/tutorial:
17-
version: 1.0.16
19+
version: 1.0.27
1820
codeql/typetracking:
19-
version: 2.0.0
21+
version: 2.0.11
2022
codeql/util:
21-
version: 2.0.3
23+
version: 2.0.14
2224
codeql/xml:
23-
version: 1.0.16
25+
version: 1.0.27
2426
codeql/yaml:
25-
version: 1.0.16
27+
version: 1.0.27
2628
compiled: false

javascript/frameworks/ui5/lib/advanced_security/javascript/frameworks/ui5/dataflow/DataFlow.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import advanced_security.javascript.frameworks.ui5.UI5View
55
import advanced_security.javascript.frameworks.ui5.RemoteFlowSources
66
import advanced_security.javascript.frameworks.ui5.dataflow.FlowSteps
77
private import StdLibDataFlow::DataFlow::PathGraph as DataFlowPathGraph
8+
private import PatchDataFlow
89

910
/**
1011
* A statically visible part of a local model's content that has a binding path referring to it in a control declaration acting as an HTML injection sink.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
/**
2+
* This file patches an incompatibility introduced into the standard data flow library between
3+
* class DataFlow::Configurations and `summmaryModels` added in models-as-data files, and likely
4+
* introduced in this PR: https://github.com/github/codeql/pull/19445/files.
5+
*/
6+
7+
import javascript
8+
import semmle.javascript.dataflow.internal.FlowSummaryPrivate
9+
private import semmle.javascript.frameworks.data.internal.ApiGraphModels as Shared
10+
11+
/**
12+
* Holds if `path` is an input or output spec for a summary with the given `base` node.
13+
*/
14+
pragma[nomagic]
15+
private predicate relevantInputOutputPath(API::InvokeNode base, AccessPath inputOrOutput) {
16+
exists(string type, string input, string output, string path |
17+
ModelOutput::resolvedSummaryBase(type, path, base) and
18+
ModelOutput::relevantSummaryModel(type, path, input, output, _, _) and
19+
inputOrOutput = [input, output]
20+
)
21+
}
22+
23+
/**
24+
* Gets the API node for the first `n` tokens of the given input/output path, evaluated relative to `baseNode`.
25+
*/
26+
private API::Node getNodeFromInputOutputPath(API::InvokeNode baseNode, AccessPath path, int n) {
27+
relevantInputOutputPath(baseNode, path) and
28+
(
29+
n = 1 and
30+
result = Shared::getSuccessorFromInvoke(baseNode, path.getToken(0))
31+
or
32+
result =
33+
Shared::getSuccessorFromNode(getNodeFromInputOutputPath(baseNode, path, n - 1),
34+
path.getToken(n - 1))
35+
)
36+
}
37+
38+
/**
39+
* Gets the API node for the given input/output path, evaluated relative to `baseNode`.
40+
*/
41+
private API::Node getNodeFromInputOutputPath(API::InvokeNode baseNode, AccessPath path) {
42+
result = getNodeFromInputOutputPath(baseNode, path, path.getNumToken())
43+
}
44+
45+
private predicate summaryStep(API::Node pred, API::Node succ, string kind) {
46+
exists(string type, string path, API::InvokeNode base, AccessPath input, AccessPath output |
47+
ModelOutput::relevantSummaryModel(type, path, input, output, kind, _) and
48+
ModelOutput::resolvedSummaryBase(type, path, base) and
49+
pred = getNodeFromInputOutputPath(base, input) and
50+
succ = getNodeFromInputOutputPath(base, output)
51+
)
52+
}
53+
54+
/**
55+
* Like `ModelOutput::summaryStep` but with API nodes mapped to data-flow nodes.
56+
*/
57+
private predicate summaryStepNodes(DataFlow::Node pred, DataFlow::Node succ, string kind) {
58+
exists(API::Node predNode, API::Node succNode |
59+
summaryStep(predNode, succNode, kind) and
60+
pred = predNode.asSink() and
61+
succ = succNode.asSource()
62+
)
63+
}
64+
65+
/** Data flow steps induced by summary models of kind `value`. */
66+
private class DataFlowStepFromSummary extends DataFlow::SharedFlowStep {
67+
override predicate step(DataFlow::Node pred, DataFlow::Node succ) {
68+
summaryStepNodes(pred, succ, "value")
69+
}
70+
}
71+
72+
/** Taint steps induced by summary models of kind `taint`. */
73+
private class TaintStepFromSummary extends TaintTracking::SharedTaintStep {
74+
override predicate step(DataFlow::Node pred, DataFlow::Node succ) {
75+
summaryStepNodes(pred, succ, "taint")
76+
}
77+
}
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
11
---
22
lockVersion: 1.0.0
33
dependencies:
4+
codeql/concepts:
5+
version: 0.0.1
46
codeql/dataflow:
5-
version: 2.0.0
7+
version: 2.0.11
68
codeql/javascript-all:
7-
version: 2.4.0
9+
version: 2.6.7
810
codeql/mad:
9-
version: 1.0.16
11+
version: 1.0.27
1012
codeql/regex:
11-
version: 1.0.16
13+
version: 1.0.27
1214
codeql/ssa:
13-
version: 1.0.16
15+
version: 2.0.3
1416
codeql/threat-models:
15-
version: 1.0.16
17+
version: 1.0.27
1618
codeql/tutorial:
17-
version: 1.0.16
19+
version: 1.0.27
1820
codeql/typetracking:
19-
version: 2.0.0
21+
version: 2.0.11
2022
codeql/util:
21-
version: 2.0.3
23+
version: 2.0.14
2224
codeql/xml:
23-
version: 1.0.16
25+
version: 1.0.27
2426
codeql/yaml:
25-
version: 1.0.16
27+
version: 1.0.27
2628
compiled: false
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
11
---
22
lockVersion: 1.0.0
33
dependencies:
4+
codeql/concepts:
5+
version: 0.0.1
46
codeql/dataflow:
5-
version: 2.0.0
7+
version: 2.0.11
68
codeql/javascript-all:
7-
version: 2.4.0
9+
version: 2.6.7
810
codeql/mad:
9-
version: 1.0.16
11+
version: 1.0.27
1012
codeql/regex:
11-
version: 1.0.16
13+
version: 1.0.27
1214
codeql/ssa:
13-
version: 1.0.16
15+
version: 2.0.3
1416
codeql/threat-models:
15-
version: 1.0.16
17+
version: 1.0.27
1618
codeql/tutorial:
17-
version: 1.0.16
19+
version: 1.0.27
1820
codeql/typetracking:
19-
version: 2.0.0
21+
version: 2.0.11
2022
codeql/util:
21-
version: 2.0.3
23+
version: 2.0.14
2224
codeql/xml:
23-
version: 1.0.16
25+
version: 1.0.27
2426
codeql/yaml:
25-
version: 1.0.16
27+
version: 1.0.27
2628
compiled: false
Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
11
---
22
lockVersion: 1.0.0
33
dependencies:
4+
codeql/concepts:
5+
version: 0.0.1
46
codeql/dataflow:
5-
version: 2.0.0
7+
version: 2.0.11
68
codeql/javascript-all:
7-
version: 2.4.0
9+
version: 2.6.7
810
codeql/javascript-queries:
9-
version: 1.4.0
11+
version: 2.0.0
1012
codeql/mad:
11-
version: 1.0.16
13+
version: 1.0.27
1214
codeql/regex:
13-
version: 1.0.16
15+
version: 1.0.27
1416
codeql/ssa:
15-
version: 1.0.16
17+
version: 2.0.3
1618
codeql/suite-helpers:
17-
version: 1.0.16
19+
version: 1.0.27
1820
codeql/threat-models:
19-
version: 1.0.16
21+
version: 1.0.27
2022
codeql/tutorial:
21-
version: 1.0.16
23+
version: 1.0.27
2224
codeql/typetracking:
23-
version: 2.0.0
25+
version: 2.0.11
2426
codeql/typos:
25-
version: 1.0.16
27+
version: 1.0.27
2628
codeql/util:
27-
version: 2.0.3
29+
version: 2.0.14
2830
codeql/xml:
29-
version: 1.0.16
31+
version: 1.0.27
3032
codeql/yaml:
31-
version: 1.0.16
33+
version: 1.0.27
3234
compiled: false

javascript/frameworks/ui5/test/qlpack.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ version: 0.7.0
33
extractor: javascript
44
dependencies:
55
codeql/javascript-all: "^2.4.0"
6-
codeql/javascript-queries: "^1.2.0"
6+
# We use this dependency to run the standard Log Injection query to ensure that
7+
# no overlap occurs with the SAP UI5 queries. We therefore allow any version
8+
# greater than or equal to 1.2.0, as major breaking changes are not a concern.
9+
codeql/javascript-queries: ">1.2.0"
710
advanced-security/javascript-sap-ui5-queries: "^0.7.0"
811
advanced-security/javascript-sap-ui5-models: "^0.7.0"
912
advanced-security/javascript-sap-ui5-all: "^0.7.0"

0 commit comments

Comments
 (0)