Skip to content

[Cpp] Dataflow analysis will not consider _execvp as a sink #15963

Closed Answered by jketema
jiezhuzzz asked this question in Q&A
Discussion options

You must be logged in to vote

The sinks are defined by means of the shellCommand predicate, which can be found here. If you look closely at that predicate you'll see it has a case for ArrayExecFunctionCall here, which includes _execvp. So, the part of the paper you quote is actually incorrect.

One of two things is potentially going on: (1) the code studied in the paper concatenates strings in a different way than expected by the query, or (2) the dataflow library used by the query misses the relevant path from the source to the sink. It's likely (1), because the concatenation is done directly by recv in the example.

Replies: 1 comment 4 replies

Comment options

You must be logged in to vote
4 replies
@jiezhuzzz
Comment options

@jketema
Comment options

@jiezhuzzz
Comment options

@jketema
Comment options

Answer selected by jiezhuzzz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants