Skip to content

Commit 5961dd1

Browse files
committed
add another test for the resolve library
1 parent dd2fe2a commit 5961dd1

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

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

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2594,12 +2594,18 @@ nodes
25942594
| tainted-require.js:7:19:7:37 | req.param("module") |
25952595
| tainted-require.js:7:19:7:37 | req.param("module") |
25962596
| tainted-require.js:7:19:7:37 | req.param("module") |
2597-
| tainted-require.js:12:24:12:42 | req.param("module") |
2598-
| tainted-require.js:12:24:12:42 | req.param("module") |
2599-
| tainted-require.js:12:24:12:42 | req.param("module") |
2600-
| tainted-require.js:12:24:12:42 | req.param("module") |
2601-
| tainted-require.js:12:24:12:42 | req.param("module") |
2602-
| tainted-require.js:12:24:12:42 | req.param("module") |
2597+
| tainted-require.js:12:29:12:47 | req.param("module") |
2598+
| tainted-require.js:12:29:12:47 | req.param("module") |
2599+
| tainted-require.js:12:29:12:47 | req.param("module") |
2600+
| tainted-require.js:12:29:12:47 | req.param("module") |
2601+
| tainted-require.js:12:29:12:47 | req.param("module") |
2602+
| tainted-require.js:12:29:12:47 | req.param("module") |
2603+
| tainted-require.js:14:11:14:29 | req.param("module") |
2604+
| tainted-require.js:14:11:14:29 | req.param("module") |
2605+
| tainted-require.js:14:11:14:29 | req.param("module") |
2606+
| tainted-require.js:14:11:14:29 | req.param("module") |
2607+
| tainted-require.js:14:11:14:29 | req.param("module") |
2608+
| tainted-require.js:14:11:14:29 | req.param("module") |
26032609
| tainted-sendFile.js:8:16:8:33 | req.param("gimme") |
26042610
| tainted-sendFile.js:8:16:8:33 | req.param("gimme") |
26052611
| tainted-sendFile.js:8:16:8:33 | req.param("gimme") |
@@ -7096,7 +7102,8 @@ edges
70967102
| tainted-access-paths.js:31:23:31:25 | obj | tainted-access-paths.js:31:23:31:30 | obj.sub4 |
70977103
| tainted-access-paths.js:31:23:31:25 | obj | tainted-access-paths.js:31:23:31:30 | obj.sub4 |
70987104
| tainted-require.js:7:19:7:37 | req.param("module") | tainted-require.js:7:19:7:37 | req.param("module") |
7099-
| tainted-require.js:12:24:12:42 | req.param("module") | tainted-require.js:12:24:12:42 | req.param("module") |
7105+
| tainted-require.js:12:29:12:47 | req.param("module") | tainted-require.js:12:29:12:47 | req.param("module") |
7106+
| tainted-require.js:14:11:14:29 | req.param("module") | tainted-require.js:14:11:14:29 | req.param("module") |
71007107
| tainted-sendFile.js:8:16:8:33 | req.param("gimme") | tainted-sendFile.js:8:16:8:33 | req.param("gimme") |
71017108
| tainted-sendFile.js:10:16:10:33 | req.param("gimme") | tainted-sendFile.js:10:16:10:33 | req.param("gimme") |
71027109
| tainted-sendFile.js:18:43:18:58 | req.param("dir") | tainted-sendFile.js:18:43:18:58 | req.param("dir") |
@@ -8311,7 +8318,8 @@ edges
83118318
| tainted-access-paths.js:30:23:30:30 | obj.sub4 | tainted-access-paths.js:6:24:6:30 | req.url | tainted-access-paths.js:30:23:30:30 | obj.sub4 | This path depends on $@. | tainted-access-paths.js:6:24:6:30 | req.url | a user-provided value |
83128319
| tainted-access-paths.js:31:23:31:30 | obj.sub4 | tainted-access-paths.js:6:24:6:30 | req.url | tainted-access-paths.js:31:23:31:30 | obj.sub4 | This path depends on $@. | tainted-access-paths.js:6:24:6:30 | req.url | a user-provided value |
83138320
| tainted-require.js:7:19:7:37 | req.param("module") | tainted-require.js:7:19:7:37 | req.param("module") | tainted-require.js:7:19:7:37 | req.param("module") | This path depends on $@. | tainted-require.js:7:19:7:37 | req.param("module") | a user-provided value |
8314-
| tainted-require.js:12:24:12:42 | req.param("module") | tainted-require.js:12:24:12:42 | req.param("module") | tainted-require.js:12:24:12:42 | req.param("module") | This path depends on $@. | tainted-require.js:12:24:12:42 | req.param("module") | a user-provided value |
8321+
| tainted-require.js:12:29:12:47 | req.param("module") | tainted-require.js:12:29:12:47 | req.param("module") | tainted-require.js:12:29:12:47 | req.param("module") | This path depends on $@. | tainted-require.js:12:29:12:47 | req.param("module") | a user-provided value |
8322+
| tainted-require.js:14:11:14:29 | req.param("module") | tainted-require.js:14:11:14:29 | req.param("module") | tainted-require.js:14:11:14:29 | req.param("module") | This path depends on $@. | tainted-require.js:14:11:14:29 | req.param("module") | a user-provided value |
83158323
| tainted-sendFile.js:8:16:8:33 | req.param("gimme") | tainted-sendFile.js:8:16:8:33 | req.param("gimme") | tainted-sendFile.js:8:16:8:33 | req.param("gimme") | This path depends on $@. | tainted-sendFile.js:8:16:8:33 | req.param("gimme") | a user-provided value |
83168324
| tainted-sendFile.js:10:16:10:33 | req.param("gimme") | tainted-sendFile.js:10:16:10:33 | req.param("gimme") | tainted-sendFile.js:10:16:10:33 | req.param("gimme") | This path depends on $@. | tainted-sendFile.js:10:16:10:33 | req.param("gimme") | a user-provided value |
83178325
| tainted-sendFile.js:18:43:18:58 | req.param("dir") | tainted-sendFile.js:18:43:18:58 | req.param("dir") | tainted-sendFile.js:18:43:18:58 | req.param("dir") | This path depends on $@. | tainted-sendFile.js:18:43:18:58 | req.param("dir") | a user-provided value |

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,9 @@ app.get('/some/path', function(req, res) {
99

1010
const resolve = require("resolve");
1111
app.get('/some/path', function(req, res) {
12-
var module = resolve(req.param("module")); // NOT OK - resolving module based on query parameters
12+
var module = resolve.sync(req.param("module")); // NOT OK - resolving module based on query parameters
13+
14+
resolve(req.param("module"), { basedir: __dirname }, function(err, res) { // NOT OK - resolving module based on query parameters
15+
var module = res;
16+
});
1317
});

0 commit comments

Comments
 (0)