mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
add model for chownr
This commit is contained in:
@@ -1696,4 +1696,3 @@ module.exports.R_OK = fs.R_OK;
|
|||||||
module.exports.W_OK = fs.W_OK;
|
module.exports.W_OK = fs.W_OK;
|
||||||
|
|
||||||
module.exports.X_OK = fs.X_OK;
|
module.exports.X_OK = fs.X_OK;
|
||||||
|
|
||||||
|
|||||||
@@ -192,6 +192,18 @@ private class WriteFileAtomic extends FileSystemWriteAccess, DataFlow::CallNode
|
|||||||
override DataFlow::Node getADataNode() { result = this.getArgument(1) }
|
override DataFlow::Node getADataNode() { result = this.getArgument(1) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A call to the library `chownr`.
|
||||||
|
* The library changes the owner of a file or directory recursively.
|
||||||
|
*/
|
||||||
|
private class Chownr extends FileSystemWriteAccess, DataFlow::CallNode {
|
||||||
|
Chownr() { this = DataFlow::moduleImport("chownr").getACall() }
|
||||||
|
|
||||||
|
override DataFlow::Node getAPathArgument() { result = this.getArgument(0) }
|
||||||
|
|
||||||
|
override DataFlow::Node getADataNode() { none() }
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A call to the library `recursive-readdir`.
|
* A call to the library `recursive-readdir`.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3235,6 +3235,92 @@ nodes
|
|||||||
| tainted-access-paths.js:40:23:40:26 | path |
|
| tainted-access-paths.js:40:23:40:26 | path |
|
||||||
| tainted-access-paths.js:40:23:40:26 | path |
|
| tainted-access-paths.js:40:23:40:26 | path |
|
||||||
| tainted-access-paths.js:40:23:40:26 | path |
|
| tainted-access-paths.js:40:23:40:26 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path |
|
||||||
| 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") |
|
| 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") |
|
||||||
@@ -8759,6 +8845,118 @@ edges
|
|||||||
| tainted-access-paths.js:39:24:39:30 | req.url | tainted-access-paths.js:39:14:39:37 | url.par ... , true) |
|
| tainted-access-paths.js:39:24:39:30 | req.url | tainted-access-paths.js:39:14:39:37 | url.par ... , true) |
|
||||||
| tainted-access-paths.js:39:24:39:30 | req.url | tainted-access-paths.js:39:14:39:37 | url.par ... , true) |
|
| tainted-access-paths.js:39:24:39:30 | req.url | tainted-access-paths.js:39:14:39:37 | url.par ... , true) |
|
||||||
| tainted-access-paths.js:39:24:39:30 | req.url | tainted-access-paths.js:39:14:39:37 | url.par ... , true) |
|
| tainted-access-paths.js:39:24:39:30 | req.url | tainted-access-paths.js:39:14:39:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:7:48:48 | path | tainted-access-paths.js:49:10:49:13 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:37 | url.par ... , true) | tainted-access-paths.js:48:14:48:43 | url.par ... ).query |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:43 | url.par ... ).query | tainted-access-paths.js:48:14:48:48 | url.par ... ry.path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:14:48:48 | url.par ... ry.path | tainted-access-paths.js:48:7:48:48 | path |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
|
| tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:48:14:48:37 | url.par ... , true) |
|
||||||
| 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") | tainted-require.js:7:19:7:37 | req.param("module") |
|
||||||
| 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") | tainted-require.js:12:29:12:47 | req.param("module") |
|
||||||
| 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") | tainted-require.js:14:11:14:29 | req.param("module") |
|
||||||
@@ -10000,6 +10198,7 @@ edges
|
|||||||
| 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 |
|
| 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 |
|
||||||
| 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 |
|
| 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 |
|
||||||
| tainted-access-paths.js:40:23:40:26 | path | tainted-access-paths.js:39:24:39:30 | req.url | tainted-access-paths.js:40:23:40:26 | path | This path depends on $@. | tainted-access-paths.js:39:24:39:30 | req.url | a user-provided value |
|
| tainted-access-paths.js:40:23:40:26 | path | tainted-access-paths.js:39:24:39:30 | req.url | tainted-access-paths.js:40:23:40:26 | path | This path depends on $@. | tainted-access-paths.js:39:24:39:30 | req.url | a user-provided value |
|
||||||
|
| tainted-access-paths.js:49:10:49:13 | path | tainted-access-paths.js:48:24:48:30 | req.url | tainted-access-paths.js:49:10:49:13 | path | This path depends on $@. | tainted-access-paths.js:48:24:48:30 | req.url | a user-provided value |
|
||||||
| 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 |
|
| 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 |
|
||||||
| 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 |
|
| 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 |
|
||||||
| 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 |
|
| 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 |
|
||||||
|
|||||||
@@ -40,4 +40,11 @@ var server2 = http.createServer(function(req, res) {
|
|||||||
nodefs.readFileSync(path); // NOT OK
|
nodefs.readFileSync(path); // NOT OK
|
||||||
});
|
});
|
||||||
|
|
||||||
server2.listen();
|
server2.listen();
|
||||||
|
|
||||||
|
const chownr = require("chownr");
|
||||||
|
|
||||||
|
var server3 = http.createServer(function (req, res) {
|
||||||
|
let path = url.parse(req.url, true).query.path;
|
||||||
|
chownr(path, "someuid", "somegid", function (err) {}); // NOT OK
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user