Skip to content

Commit 3eac86c

Browse files
authored
Merge pull request #110 from advanced-security/knewbury01/fn-cap-sources
Patch for cap remoteflowsource ServiceinCDSHandlerParameter
2 parents 4c41659 + bec5f8e commit 3eac86c

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

javascript/frameworks/cap/lib/advanced_security/javascript/frameworks/cap/RemoteFlowSources.qll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,16 @@ class HandlerParameter extends ParameterNode, RemoteFlowSource {
3333
* A service may be described only in a CDS file, but event handlers may still be registered in a format such as:
3434
* ```javascript
3535
* module.exports = srv => {
36-
* srv.before('CREATE', 'Media', req => { //service name is used to describe which to register this handler to
36+
* srv.before('CREATE', 'Media', req => { //an entity name is used to describe which to register this handler to
3737
* ```
3838
* parameters named `req` are captured in the above example.
3939
*/
40-
class ServiceinCDSHandlerParameter extends RemoteFlowSource {
40+
class ServiceinCDSHandlerParameter extends ParameterNode, RemoteFlowSource {
4141
ServiceinCDSHandlerParameter() {
42-
exists(MethodCallNode m, CdlEntity service, string serviceName |
43-
service.getName().regexpReplaceAll(".*\\.", "") = serviceName and
44-
m.getArgument(1).toString().regexpReplaceAll("'", "") = serviceName and
45-
this = m.getArgument(2) and
42+
exists(MethodCallNode m, CdlEntity entity, string entityName |
43+
entity.getName().regexpReplaceAll(".*\\.", "") = entityName and
44+
m.getArgument(1).asExpr().getStringValue().regexpReplaceAll("'", "") = entityName and
45+
this = m.getArgument(m.getNumArgument() - 1).(FunctionNode).getParameter(0) and
4646
m.getMethodName() in ["on", "before", "after"]
4747
)
4848
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
| remoteflowsource.js:6:34:9:5 | req => ... i\\n } |
1+
| remoteflowsource.js:6:34:6:36 | req |

0 commit comments

Comments
 (0)