Skip to content

Commit 6192544

Browse files
committed
add test for express-ws as a source
1 parent 91393a7 commit 6192544

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

javascript/ql/test/query-tests/Security/CWE-094/CodeInjection/CodeInjection.expected

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ nodes
8989
| express.js:34:17:34:35 | req.param("wobble") |
9090
| express.js:43:15:43:19 | taint |
9191
| express.js:43:15:43:19 | taint |
92+
| express.js:49:30:49:32 | msg |
93+
| express.js:49:30:49:32 | msg |
94+
| express.js:50:10:50:12 | msg |
95+
| express.js:50:10:50:12 | msg |
9296
| module.js:9:16:9:29 | req.query.code |
9397
| module.js:9:16:9:29 | req.query.code |
9498
| module.js:9:16:9:29 | req.query.code |
@@ -225,6 +229,10 @@ edges
225229
| express.js:34:9:34:35 | taint | express.js:43:15:43:19 | taint |
226230
| express.js:34:17:34:35 | req.param("wobble") | express.js:34:9:34:35 | taint |
227231
| express.js:34:17:34:35 | req.param("wobble") | express.js:34:9:34:35 | taint |
232+
| express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg |
233+
| express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg |
234+
| express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg |
235+
| express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg |
228236
| module.js:9:16:9:29 | req.query.code | module.js:9:16:9:29 | req.query.code |
229237
| module.js:11:17:11:30 | req.query.code | module.js:11:17:11:30 | req.query.code |
230238
| react-native.js:7:7:7:33 | tainted | react-native.js:8:32:8:38 | tainted |
@@ -321,6 +329,7 @@ edges
321329
| express.js:21:19:21:48 | req.par ... ntext") | express.js:21:19:21:48 | req.par ... ntext") | express.js:21:19:21:48 | req.par ... ntext") | This code execution depends on a $@. | express.js:21:19:21:48 | req.par ... ntext") | user-provided value |
322330
| express.js:27:34:27:38 | taint | express.js:26:17:26:35 | req.param("wobble") | express.js:27:34:27:38 | taint | This code execution depends on a $@. | express.js:26:17:26:35 | req.param("wobble") | user-provided value |
323331
| express.js:43:15:43:19 | taint | express.js:34:17:34:35 | req.param("wobble") | express.js:43:15:43:19 | taint | This code execution depends on a $@. | express.js:34:17:34:35 | req.param("wobble") | user-provided value |
332+
| express.js:50:10:50:12 | msg | express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg | This code execution depends on a $@. | express.js:49:30:49:32 | msg | user-provided value |
324333
| module.js:9:16:9:29 | req.query.code | module.js:9:16:9:29 | req.query.code | module.js:9:16:9:29 | req.query.code | This code execution depends on a $@. | module.js:9:16:9:29 | req.query.code | user-provided value |
325334
| module.js:11:17:11:30 | req.query.code | module.js:11:17:11:30 | req.query.code | module.js:11:17:11:30 | req.query.code | This code execution depends on a $@. | module.js:11:17:11:30 | req.query.code | user-provided value |
326335
| react-native.js:8:32:8:38 | tainted | react-native.js:7:17:7:33 | req.param("code") | react-native.js:8:32:8:38 | tainted | This code execution depends on a $@. | react-native.js:7:17:7:33 | req.param("code") | user-provided value |

javascript/ql/test/query-tests/Security/CWE-094/CodeInjection/HeuristicSourceCodeInjection.expected

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ nodes
9393
| express.js:34:17:34:35 | req.param("wobble") |
9494
| express.js:43:15:43:19 | taint |
9595
| express.js:43:15:43:19 | taint |
96+
| express.js:49:30:49:32 | msg |
97+
| express.js:49:30:49:32 | msg |
98+
| express.js:50:10:50:12 | msg |
99+
| express.js:50:10:50:12 | msg |
96100
| module.js:9:16:9:29 | req.query.code |
97101
| module.js:9:16:9:29 | req.query.code |
98102
| module.js:9:16:9:29 | req.query.code |
@@ -233,6 +237,10 @@ edges
233237
| express.js:34:9:34:35 | taint | express.js:43:15:43:19 | taint |
234238
| express.js:34:17:34:35 | req.param("wobble") | express.js:34:9:34:35 | taint |
235239
| express.js:34:17:34:35 | req.param("wobble") | express.js:34:9:34:35 | taint |
240+
| express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg |
241+
| express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg |
242+
| express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg |
243+
| express.js:49:30:49:32 | msg | express.js:50:10:50:12 | msg |
236244
| module.js:9:16:9:29 | req.query.code | module.js:9:16:9:29 | req.query.code |
237245
| module.js:11:17:11:30 | req.query.code | module.js:11:17:11:30 | req.query.code |
238246
| react-native.js:7:7:7:33 | tainted | react-native.js:8:32:8:38 | tainted |

javascript/ql/test/query-tests/Security/CWE-094/CodeInjection/express.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,11 @@ app.get('/terminal', function(req, res) {
4242

4343
shell.write(taint); // NOT OK
4444
});
45-
45+
46+
require("express-ws")(app);
47+
48+
app.ws("/socket-thing/", function (ws, req) {
49+
ws.on("message", function (msg) {
50+
eval(msg); // NOT OK
51+
});
52+
});

0 commit comments

Comments
 (0)