Skip to content

General issue #4843

Open
Open
@Conanjun

Description

@Conanjun

Dataflow Bug: codeql javascript Dataflow break with normal parameter (like function a({data1,data2,data3})) pass

Hello Cool Codeql Guys, i have found a bug when i use dataflow to analyse my javascript with taintpath.

my taintpath query code is normal code just like this:
from RiskTaint cfg, PathNode source, PathNode sink
where cfg.hasFlowPath(source, sink)
select sink.getNode(), source, sink, "risk funcation call with user-controlled input."
however , when i try to analyse the test code is like this:
function func_a(param_a){
local_a=param_a.aaa
... ...
const { var_a } = await var_b.method_c({local_a,var_c}) // line a: not correctly get the taint path
//const { var_a } = await var_b.method_c(local_a,var_c) // line b: correctly get the taint path
... ...
}
when i use line a to build the query database and analyse taint path , i can't get the taint path from param_a to local_a which was an argument of var_b.method_c,then i try to change line a to line b and it works,so i think it may be the dataflow bug in codeql javascript.

Thks a lot for dealing with my issue,i think codeql is a really really great cool artwork !!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    StalequestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions