Skip to content

Commit 533f1a9

Browse files
committed
JS: Added test cases for mkdirp.
1 parent 79688ef commit 533f1a9

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

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

Lines changed: 13 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+
| 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 |
56+
| 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 |
5557
| more-fs-extra.js:10:15:10:22 | filename | more-fs-extra.js:8:26:8:33 | req.body | more-fs-extra.js:10:15:10:22 | filename | This path depends on a $@. | more-fs-extra.js:8:26:8:33 | req.body | user-provided value |
5658
| more-fs-extra.js:11:11:11:18 | filename | more-fs-extra.js:8:26:8:33 | req.body | more-fs-extra.js:11:11:11:18 | filename | This path depends on a $@. | more-fs-extra.js:8:26:8:33 | req.body | user-provided value |
5759
| more-fs-extra.js:12:14:12:21 | filename | more-fs-extra.js:8:26:8:33 | req.body | more-fs-extra.js:12:14:12:21 | filename | This path depends on a $@. | more-fs-extra.js:8:26:8:33 | req.body | user-provided value |
@@ -390,6 +392,11 @@ edges
390392
| handlebars.js:43:15:43:29 | req.params.path | handlebars.js:13:73:13:80 | filePath | provenance | |
391393
| hapi.js:14:19:14:51 | filepath | hapi.js:15:44:15:51 | filepath | provenance | |
392394
| hapi.js:14:30:14:51 | request ... ilepath | hapi.js:14:19:14:51 | filepath | provenance | |
395+
| mkdirp.js:9:11:9:76 | dirPath | mkdirp.js:11:12:11:18 | dirPath | provenance | |
396+
| mkdirp.js:9:11:9:76 | dirPath | mkdirp.js:12:17:12:23 | dirPath | provenance | |
397+
| mkdirp.js:9:21:9:76 | path.jo ... ltDir') | mkdirp.js:9:11:9:76 | dirPath | provenance | |
398+
| mkdirp.js:9:42:9:59 | req.query.filename | mkdirp.js:9:42:9:75 | req.que ... ultDir' | provenance | |
399+
| mkdirp.js:9:42:9:75 | req.que ... ultDir' | mkdirp.js:9:21:9:76 | path.jo ... ltDir') | provenance | Config |
393400
| more-fs-extra.js:8:11:8:22 | { filename } | more-fs-extra.js:8:13:8:20 | filename | provenance | Config |
394401
| more-fs-extra.js:8:11:8:33 | filename | more-fs-extra.js:10:15:10:22 | filename | provenance | |
395402
| more-fs-extra.js:8:11:8:33 | filename | more-fs-extra.js:11:11:11:18 | filename | provenance | |
@@ -919,6 +926,12 @@ nodes
919926
| hapi.js:14:19:14:51 | filepath | semmle.label | filepath |
920927
| hapi.js:14:30:14:51 | request ... ilepath | semmle.label | request ... ilepath |
921928
| hapi.js:15:44:15:51 | filepath | semmle.label | filepath |
929+
| mkdirp.js:9:11:9:76 | dirPath | semmle.label | dirPath |
930+
| mkdirp.js:9:21:9:76 | path.jo ... ltDir') | semmle.label | path.jo ... ltDir') |
931+
| mkdirp.js:9:42:9:59 | req.query.filename | semmle.label | req.query.filename |
932+
| mkdirp.js:9:42:9:75 | req.que ... ultDir' | semmle.label | req.que ... ultDir' |
933+
| mkdirp.js:11:12:11:18 | dirPath | semmle.label | dirPath |
934+
| mkdirp.js:12:17:12:23 | dirPath | semmle.label | dirPath |
922935
| more-fs-extra.js:8:11:8:22 | { filename } | semmle.label | { filename } |
923936
| more-fs-extra.js:8:11:8:33 | filename | semmle.label | filename |
924937
| more-fs-extra.js:8:13:8:20 | filename | semmle.label | filename |
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const express = require('express');
2+
const mkdirp = require('mkdirp');
3+
const path = require('path');
4+
5+
const app = express();
6+
app.use(express.json());
7+
8+
app.post('/foo', async (req, res) => {
9+
const dirPath = path.join(__dirname, req.query.filename || 'defaultDir'); // $ Source
10+
11+
mkdirp(dirPath); // $ Alert
12+
mkdirp.sync(dirPath); // $ Alert
13+
mkdirp.nativeSync(dirPath); // $ MISSING: Alert
14+
mkdirp.native(dirPath); // $ MISSING: Alert
15+
mkdirp.manual(dirPath); // $ MISSING: Alert
16+
mkdirp.manualSync(dirPath); // $ MISSING: Alert
17+
mkdirp.mkdirpNative(dirPath); // $ MISSING: Alert
18+
mkdirp.mkdirpManual(dirPath); // $ MISSING: Alert
19+
mkdirp.mkdirpManualSync(dirPath); // $ MISSING: Alert
20+
mkdirp.mkdirpNativeSync(dirPath); // $ MISSING: Alert
21+
mkdirp.mkdirpSync(dirPath); // $ MISSING: Alert
22+
});

0 commit comments

Comments
 (0)