Skip to content

Commit ce2fc25

Browse files
committed
Added make-dir model as data
1 parent 674f40b commit ce2fc25

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/javascript-all
4+
extensible: sinkModel
5+
data:
6+
- ["make-dir", "Member[makeDirectory,makeDirectorySync].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
@@ -52,6 +52,8 @@
5252
| handlebars.js:11:32:11:39 | filePath | handlebars.js:29:46:29:60 | req.params.path | handlebars.js:11:32:11:39 | filePath | This path depends on a $@. | handlebars.js:29:46:29:60 | req.params.path | user-provided value |
5353
| handlebars.js:15:25:15:32 | filePath | handlebars.js:43:15:43:29 | req.params.path | handlebars.js:15:25:15:32 | filePath | This path depends on a $@. | handlebars.js:43:15:43:29 | req.params.path | user-provided value |
5454
| hapi.js:15:44:15:51 | filepath | hapi.js:14:30:14:51 | request ... ilepath | hapi.js:15:44:15:51 | filepath | This path depends on a $@. | hapi.js:14:30:14:51 | request ... ilepath | user-provided value |
55+
| make-dir.js:9:19:9:22 | file | make-dir.js:7:18:7:31 | req.query.file | make-dir.js:9:19:9:22 | file | This path depends on a $@. | make-dir.js:7:18:7:31 | req.query.file | user-provided value |
56+
| make-dir.js:10:23:10:26 | file | make-dir.js:7:18:7:31 | req.query.file | make-dir.js:10:23:10:26 | file | This path depends on a $@. | make-dir.js:7:18:7:31 | req.query.file | user-provided value |
5557
| mkdirp.js:11:12:11:18 | dirPath | mkdirp.js:9:42:9:59 | req.query.filename | mkdirp.js:11:12:11:18 | dirPath | This path depends on a $@. | mkdirp.js:9:42:9:59 | req.query.filename | user-provided value |
5658
| mkdirp.js:12:17:12:23 | dirPath | mkdirp.js:9:42:9:59 | req.query.filename | mkdirp.js:12:17:12:23 | dirPath | This path depends on a $@. | mkdirp.js:9:42:9:59 | req.query.filename | user-provided value |
5759
| mkdirp.js:13:23:13:29 | dirPath | mkdirp.js:9:42:9:59 | req.query.filename | mkdirp.js:13:23:13:29 | dirPath | This path depends on a $@. | mkdirp.js:9:42:9:59 | req.query.filename | user-provided value |
@@ -403,6 +405,9 @@ edges
403405
| handlebars.js:43:15:43:29 | req.params.path | handlebars.js:13:73:13:80 | filePath | provenance | |
404406
| hapi.js:14:19:14:51 | filepath | hapi.js:15:44:15:51 | filepath | provenance | |
405407
| hapi.js:14:30:14:51 | request ... ilepath | hapi.js:14:19:14:51 | filepath | provenance | |
408+
| make-dir.js:7:11:7:31 | file | make-dir.js:9:19:9:22 | file | provenance | |
409+
| make-dir.js:7:11:7:31 | file | make-dir.js:10:23:10:26 | file | provenance | |
410+
| make-dir.js:7:18:7:31 | req.query.file | make-dir.js:7:11:7:31 | file | provenance | |
406411
| mkdirp.js:9:11:9:76 | dirPath | mkdirp.js:11:12:11:18 | dirPath | provenance | |
407412
| mkdirp.js:9:11:9:76 | dirPath | mkdirp.js:12:17:12:23 | dirPath | provenance | |
408413
| mkdirp.js:9:11:9:76 | dirPath | mkdirp.js:13:23:13:29 | dirPath | provenance | |
@@ -949,6 +954,10 @@ nodes
949954
| hapi.js:14:19:14:51 | filepath | semmle.label | filepath |
950955
| hapi.js:14:30:14:51 | request ... ilepath | semmle.label | request ... ilepath |
951956
| hapi.js:15:44:15:51 | filepath | semmle.label | filepath |
957+
| make-dir.js:7:11:7:31 | file | semmle.label | file |
958+
| make-dir.js:7:18:7:31 | req.query.file | semmle.label | req.query.file |
959+
| make-dir.js:9:19:9:22 | file | semmle.label | file |
960+
| make-dir.js:10:23:10:26 | file | semmle.label | file |
952961
| mkdirp.js:9:11:9:76 | dirPath | semmle.label | dirPath |
953962
| mkdirp.js:9:21:9:76 | path.jo ... ltDir') | semmle.label | path.jo ... ltDir') |
954963
| mkdirp.js:9:42:9:59 | req.query.filename | semmle.label | req.query.filename |

javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/make-dir.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('/makedir', (req, res) => {
7-
const file = req.query.file; // $ MISSING: Source
7+
const file = req.query.file; // $ Source
88

9-
makeDirectory(file); // $ MISSING: Alert
10-
makeDirectorySync(file); // $ MISSING: Alert
9+
makeDirectory(file); // $ Alert
10+
makeDirectorySync(file); // $ Alert
1111
});

0 commit comments

Comments
 (0)