Skip to content

Commit b8802a2

Browse files
committed
Added open package model as data.
1 parent df89739 commit b8802a2

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

javascript/ql/lib/ext/open.model.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/javascript-all
4+
extensible: sinkModel
5+
data:
6+
- ["open", "Argument[0]", "path-injection"]
7+
- ["open", "Member[openApp].Argument[0]", "path-injection"]

javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@
140140
| normalizedPaths.js:408:19:408:60 | pathMod ... t('/')) | normalizedPaths.js:408:38:408:48 | req.query.x | normalizedPaths.js:408:19:408:60 | pathMod ... t('/')) | This path depends on a $@. | normalizedPaths.js:408:38:408:48 | req.query.x | user-provided value |
141141
| normalizedPaths.js:415:19:415:22 | path | normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:415:19:415:22 | path | This path depends on a $@. | normalizedPaths.js:412:35:412:45 | req.query.x | user-provided value |
142142
| normalizedPaths.js:426:21:426:24 | path | normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:426:21:426:24 | path | This path depends on a $@. | normalizedPaths.js:412:35:412:45 | req.query.x | user-provided value |
143+
| open.js:9:10:9:13 | file | open.js:7:18:7:31 | req.query.file | open.js:9:10:9:13 | file | This path depends on a $@. | open.js:7:18:7:31 | req.query.file | user-provided value |
144+
| open.js:10:13:10:16 | file | open.js:7:18:7:31 | req.query.file | open.js:10:13:10:16 | file | This path depends on a $@. | open.js:7:18:7:31 | req.query.file | user-provided value |
143145
| other-fs-libraries.js:11:19:11:22 | path | other-fs-libraries.js:9:24:9:30 | req.url | other-fs-libraries.js:11:19:11:22 | path | This path depends on a $@. | other-fs-libraries.js:9:24:9:30 | req.url | user-provided value |
144146
| other-fs-libraries.js:12:27:12:30 | path | other-fs-libraries.js:9:24:9:30 | req.url | other-fs-libraries.js:12:27:12:30 | path | This path depends on a $@. | other-fs-libraries.js:9:24:9:30 | req.url | user-provided value |
145147
| other-fs-libraries.js:13:24:13:27 | path | other-fs-libraries.js:9:24:9:30 | req.url | other-fs-libraries.js:13:24:13:27 | path | This path depends on a $@. | other-fs-libraries.js:9:24:9:30 | req.url | user-provided value |
@@ -561,6 +563,9 @@ edges
561563
| normalizedPaths.js:412:7:412:46 | path | normalizedPaths.js:426:21:426:24 | path | provenance | |
562564
| normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | normalizedPaths.js:412:7:412:46 | path | provenance | |
563565
| normalizedPaths.js:412:35:412:45 | req.query.x | normalizedPaths.js:412:14:412:46 | pathMod ... uery.x) | provenance | Config |
566+
| open.js:7:11:7:31 | file | open.js:9:10:9:13 | file | provenance | |
567+
| open.js:7:11:7:31 | file | open.js:10:13:10:16 | file | provenance | |
568+
| open.js:7:18:7:31 | req.query.file | open.js:7:11:7:31 | file | provenance | |
564569
| other-fs-libraries.js:9:7:9:48 | path | other-fs-libraries.js:11:19:11:22 | path | provenance | |
565570
| other-fs-libraries.js:9:7:9:48 | path | other-fs-libraries.js:12:27:12:30 | path | provenance | |
566571
| other-fs-libraries.js:9:7:9:48 | path | other-fs-libraries.js:13:24:13:27 | path | provenance | |
@@ -1116,6 +1121,10 @@ nodes
11161121
| normalizedPaths.js:412:35:412:45 | req.query.x | semmle.label | req.query.x |
11171122
| normalizedPaths.js:415:19:415:22 | path | semmle.label | path |
11181123
| normalizedPaths.js:426:21:426:24 | path | semmle.label | path |
1124+
| open.js:7:11:7:31 | file | semmle.label | file |
1125+
| open.js:7:18:7:31 | req.query.file | semmle.label | req.query.file |
1126+
| open.js:9:10:9:13 | file | semmle.label | file |
1127+
| open.js:10:13:10:16 | file | semmle.label | file |
11191128
| other-fs-libraries.js:9:7:9:48 | path | semmle.label | path |
11201129
| other-fs-libraries.js:9:14:9:37 | url.par ... , true) | semmle.label | url.par ... , true) |
11211130
| other-fs-libraries.js:9:14:9:43 | url.par ... ).query | semmle.label | url.par ... ).query |

javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/open.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ const express = require('express');
44
const app = express();
55

66
app.get('/open', (req, res) => {
7-
const file = req.query.file; // $ MISSING: Source
7+
const file = req.query.file; // $ Source
88

9-
open(file); // $ MISSING: Alert
10-
openApp(file); // $ MISSING: Alert
9+
open(file); // $ Alert
10+
openApp(file); // $ Alert
1111
});

0 commit comments

Comments
 (0)