mirror of
https://github.com/github/codeql.git
synced 2026-04-27 01:35:13 +02:00
Merge branch 'main' into change/adjust-extracted-files-diagnostics
This commit is contained in:
@@ -70,6 +70,7 @@
|
||||
| getters-and-setters.js:79:20:79:27 | source() | getters-and-setters.js:92:14:92:16 | c.x |
|
||||
| getters-and-setters.js:79:20:79:27 | source() | getters-and-setters.js:100:10:100:22 | getX(new C()) |
|
||||
| getters-and-setters.js:89:17:89:24 | source() | getters-and-setters.js:82:18:82:22 | value |
|
||||
| importedReactComponent.jsx:4:40:4:47 | source() | exportedReactComponent.jsx:2:10:2:19 | props.text |
|
||||
| indexOf.js:4:11:4:18 | source() | indexOf.js:9:10:9:10 | x |
|
||||
| indexOf.js:4:11:4:18 | source() | indexOf.js:13:10:13:10 | x |
|
||||
| nested-props.js:4:13:4:20 | source() | nested-props.js:5:10:5:14 | obj.x |
|
||||
|
||||
@@ -50,6 +50,9 @@ nodes
|
||||
| app.js:66:18:66:34 | req.query.rawHtml |
|
||||
| app.js:66:18:66:34 | req.query.rawHtml |
|
||||
| app.js:66:18:66:34 | req.query.rawHtml |
|
||||
| app.js:73:18:73:30 | req.query.foo |
|
||||
| app.js:73:18:73:30 | req.query.foo |
|
||||
| app.js:73:18:73:30 | req.query.foo |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA |
|
||||
@@ -144,6 +147,11 @@ nodes
|
||||
| views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
@@ -367,6 +375,10 @@ edges
|
||||
| app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA | projectA/views/main.ejs:5:5:5:23 | taintedInMiddleware |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA | projectA/views/main.ejs:5:5:5:23 | taintedInMiddleware |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA | projectA/views/main.ejs:5:5:5:23 | taintedInMiddleware |
|
||||
@@ -463,6 +475,10 @@ edges
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml | views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml | views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml | views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/ejs_include1.ejs:1:5:1:7 | foo | views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include1.ejs:1:5:1:7 | foo | views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include1.ejs:1:5:1:7 | foo | views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
@@ -553,6 +569,7 @@ edges
|
||||
| projectB/views/subfolder/other.ejs:3:1:3:12 | <%- sinkB %> | projectB/src/index.js:43:16:43:30 | req.query.sinkB | projectB/views/subfolder/other.ejs:3:1:3:12 | <%- sinkB %> | Cross-site scripting vulnerability due to $@. | projectB/src/index.js:43:16:43:30 | req.query.sinkB | user-provided value |
|
||||
| views/angularjs_include.ejs:3:5:3:18 | <%- rawHtml %> | app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_include.ejs:3:5:3:18 | <%- rawHtml %> | Cross-site scripting vulnerability due to $@. | app.js:66:18:66:34 | req.query.rawHtml | user-provided value |
|
||||
| views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> | app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> | Cross-site scripting vulnerability due to $@. | app.js:66:18:66:34 | req.query.rawHtml | user-provided value |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} | app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} | Cross-site scripting vulnerability due to $@. | app.js:73:18:73:30 | req.query.foo | user-provided value |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> | app.js:8:18:8:34 | req.query.rawHtml | views/ejs_include1.ejs:1:1:1:10 | <%- foo %> | Cross-site scripting vulnerability due to $@. | app.js:8:18:8:34 | req.query.rawHtml | user-provided value |
|
||||
| views/ejs_include2.ejs:1:1:1:14 | <%- rawHtml %> | app.js:8:18:8:34 | req.query.rawHtml | views/ejs_include2.ejs:1:1:1:14 | <%- rawHtml %> | Cross-site scripting vulnerability due to $@. | app.js:8:18:8:34 | req.query.rawHtml | user-provided value |
|
||||
| views/ejs_sinks.ejs:4:9:4:22 | <%- rawHtml %> | app.js:8:18:8:34 | req.query.rawHtml | views/ejs_sinks.ejs:4:9:4:22 | <%- rawHtml %> | Cross-site scripting vulnerability due to $@. | app.js:8:18:8:34 | req.query.rawHtml | user-provided value |
|
||||
|
||||
@@ -66,3 +66,16 @@ app.get('/angularjs', (req, res) => {
|
||||
rawHtml: req.query.rawHtml,
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/dotjs', (req, res) => {
|
||||
// Currently we don't auto-insert the full .html.dot extension. Test all variations.
|
||||
res.render('dot_sinks.html.dot', {
|
||||
tainted: req.query.foo,
|
||||
});
|
||||
res.render('dot_sinks.html', {
|
||||
tainted: req.query.foo,
|
||||
});
|
||||
res.render('dot_sinks', {
|
||||
tainted: req.query.foo,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -12,6 +12,7 @@ getLikelyTemplateSyntax
|
||||
| projectB/views/subfolder/other.ejs:0:0:0:0 | projectB/views/subfolder/other.ejs | ejs |
|
||||
| views/angularjs_include.ejs:0:0:0:0 | views/angularjs_include.ejs | ejs |
|
||||
| views/angularjs_sinks.ejs:0:0:0:0 | views/angularjs_sinks.ejs | ejs |
|
||||
| views/dot_sinks.html.dot:0:0:0:0 | views/dot_sinks.html.dot | dot |
|
||||
| views/ejs_include1.ejs:0:0:0:0 | views/ejs_include1.ejs | ejs |
|
||||
| views/ejs_include2.ejs:0:0:0:0 | views/ejs_include2.ejs | ejs |
|
||||
| views/ejs_sinks.ejs:0:0:0:0 | views/ejs_sinks.ejs | ejs |
|
||||
@@ -24,6 +25,7 @@ getTargetFile
|
||||
| app.js:25:5:40:6 | res.ren ... \\n }) | views/hbs_sinks.hbs:0:0:0:0 | views/hbs_sinks.hbs |
|
||||
| app.js:44:5:60:6 | res.ren ... \\n }) | views/njk_sinks.njk:0:0:0:0 | views/njk_sinks.njk |
|
||||
| app.js:64:5:67:6 | res.ren ... \\n }) | views/angularjs_sinks.ejs:0:0:0:0 | views/angularjs_sinks.ejs |
|
||||
| app.js:72:5:74:6 | res.ren ... \\n }) | views/dot_sinks.html.dot:0:0:0:0 | views/dot_sinks.html.dot |
|
||||
| consolidate.js:3:1:3:83 | consoli ... => {}) | views/instantiated_as_ejs.html:0:0:0:0 | views/instantiated_as_ejs.html |
|
||||
| consolidate.js:4:1:4:90 | consoli ... => {}) | views/instantiated_as_hbs.html:0:0:0:0 | views/instantiated_as_hbs.html |
|
||||
| projectA/src/index.js:11:5:14:6 | res.ren ... \\n }) | projectA/views/main.ejs:0:0:0:0 | projectA/views/main.ejs |
|
||||
@@ -50,6 +52,7 @@ xssSink
|
||||
| projectB/views/subfolder/other.ejs:3:1:3:12 | <%- sinkB %> |
|
||||
| views/angularjs_include.ejs:3:5:3:18 | <%- rawHtml %> |
|
||||
| views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include2.ejs:1:1:1:14 | <%- rawHtml %> |
|
||||
| views/ejs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<html>
|
||||
<body>
|
||||
{{! tainted }}
|
||||
{{= tainted }}
|
||||
</body>
|
||||
</html>
|
||||
@@ -706,6 +706,18 @@ nodes
|
||||
| tooltip.jsx:11:25:11:30 | source |
|
||||
| tooltip.jsx:11:25:11:30 | source |
|
||||
| tooltip.jsx:11:25:11:30 | source |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name |
|
||||
| tooltip.jsx:22:20:22:30 | window.name |
|
||||
| tooltip.jsx:22:20:22:30 | window.name |
|
||||
| tooltip.jsx:23:38:23:43 | source |
|
||||
| tooltip.jsx:23:38:23:43 | source |
|
||||
| translate.js:6:7:6:39 | target |
|
||||
| translate.js:6:16:6:39 | documen ... .search |
|
||||
| translate.js:6:16:6:39 | documen ... .search |
|
||||
@@ -1882,6 +1894,20 @@ edges
|
||||
| tooltip.jsx:6:20:6:30 | window.name | tooltip.jsx:6:11:6:30 | source |
|
||||
| tooltip.jsx:6:20:6:30 | window.name | tooltip.jsx:6:11:6:30 | source |
|
||||
| tooltip.jsx:6:20:6:30 | window.name | tooltip.jsx:6:11:6:30 | source |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:23:38:23:43 | source |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:23:38:23:43 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:23:38:23:43 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:23:38:23:43 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:23:38:23:43 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:23:38:23:43 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| translate.js:6:7:6:39 | target | translate.js:7:42:7:47 | target |
|
||||
| translate.js:6:16:6:39 | documen ... .search | translate.js:6:7:6:39 | target |
|
||||
| translate.js:6:16:6:39 | documen ... .search | translate.js:6:7:6:39 | target |
|
||||
@@ -2486,6 +2512,7 @@ edges
|
||||
| string-manipulations.js:10:16:10:45 | String( ... n.href) | string-manipulations.js:10:23:10:44 | documen ... on.href | string-manipulations.js:10:16:10:45 | String( ... n.href) | Cross-site scripting vulnerability due to $@. | string-manipulations.js:10:23:10:44 | documen ... on.href | user-provided value |
|
||||
| tooltip.jsx:10:25:10:30 | source | tooltip.jsx:6:20:6:30 | window.name | tooltip.jsx:10:25:10:30 | source | Cross-site scripting vulnerability due to $@. | tooltip.jsx:6:20:6:30 | window.name | user-provided value |
|
||||
| tooltip.jsx:11:25:11:30 | source | tooltip.jsx:6:20:6:30 | window.name | tooltip.jsx:11:25:11:30 | source | Cross-site scripting vulnerability due to $@. | tooltip.jsx:6:20:6:30 | window.name | user-provided value |
|
||||
| tooltip.jsx:18:51:18:59 | provide() | tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:18:51:18:59 | provide() | Cross-site scripting vulnerability due to $@. | tooltip.jsx:22:20:22:30 | window.name | user-provided value |
|
||||
| translate.js:9:27:9:50 | searchP ... 'term') | translate.js:6:16:6:39 | documen ... .search | translate.js:9:27:9:50 | searchP ... 'term') | Cross-site scripting vulnerability due to $@. | translate.js:6:16:6:39 | documen ... .search | user-provided value |
|
||||
| trusted-types-lib.js:2:12:2:12 | x | trusted-types.js:13:20:13:30 | window.name | trusted-types-lib.js:2:12:2:12 | x | Cross-site scripting vulnerability due to $@. | trusted-types.js:13:20:13:30 | window.name | user-provided value |
|
||||
| trusted-types.js:3:67:3:67 | x | trusted-types.js:4:20:4:30 | window.name | trusted-types.js:3:67:3:67 | x | Cross-site scripting vulnerability due to $@. | trusted-types.js:4:20:4:30 | window.name | user-provided value |
|
||||
|
||||
@@ -718,6 +718,18 @@ nodes
|
||||
| tooltip.jsx:11:25:11:30 | source |
|
||||
| tooltip.jsx:11:25:11:30 | source |
|
||||
| tooltip.jsx:11:25:11:30 | source |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name |
|
||||
| tooltip.jsx:22:20:22:30 | window.name |
|
||||
| tooltip.jsx:22:20:22:30 | window.name |
|
||||
| tooltip.jsx:23:38:23:43 | source |
|
||||
| tooltip.jsx:23:38:23:43 | source |
|
||||
| translate.js:6:7:6:39 | target |
|
||||
| translate.js:6:16:6:39 | documen ... .search |
|
||||
| translate.js:6:16:6:39 | documen ... .search |
|
||||
@@ -1944,6 +1956,20 @@ edges
|
||||
| tooltip.jsx:6:20:6:30 | window.name | tooltip.jsx:6:11:6:30 | source |
|
||||
| tooltip.jsx:6:20:6:30 | window.name | tooltip.jsx:6:11:6:30 | source |
|
||||
| tooltip.jsx:6:20:6:30 | window.name | tooltip.jsx:6:11:6:30 | source |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:23:38:23:43 | source |
|
||||
| tooltip.jsx:22:11:22:30 | source | tooltip.jsx:23:38:23:43 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:22:20:22:30 | window.name | tooltip.jsx:22:11:22:30 | source |
|
||||
| tooltip.jsx:23:38:23:43 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:23:38:23:43 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:23:38:23:43 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| tooltip.jsx:23:38:23:43 | source | tooltip.jsx:18:51:18:59 | provide() |
|
||||
| translate.js:6:7:6:39 | target | translate.js:7:42:7:47 | target |
|
||||
| translate.js:6:16:6:39 | documen ... .search | translate.js:6:7:6:39 | target |
|
||||
| translate.js:6:16:6:39 | documen ... .search | translate.js:6:7:6:39 | target |
|
||||
|
||||
@@ -11,4 +11,14 @@ function tooltips() {
|
||||
<span data-tip={source} data-html={true} /> // NOT OK
|
||||
<ReactTooltip />
|
||||
</span>
|
||||
}
|
||||
|
||||
function MyElement(props) {
|
||||
const provide = props.provide;
|
||||
return <div dangerouslySetInnerHTML={{__html: provide()}} />; // NOT OK
|
||||
}
|
||||
|
||||
function useMyElement() {
|
||||
const source = window.name;
|
||||
return <MyElement provide={() => source} />;
|
||||
}
|
||||
Reference in New Issue
Block a user