Skip to content

Golang TaintTracking Sanitizer found in Quick Eval but not considered for hasFlowPath() #13343

Answered by mbg
rh-tguittet asked this question in Q&A
Discussion options

You must be logged in to vote

Hi @rh-tguittet! I hope you've had a good weekend and thank you for this interesting question 🙂

If you run the "Vanilla flow" version of your query and inspect the path that is returned, you can see that the listArgs.Validate call is not part of the data flow. This is why your isSanitizer predicate in the "With Sanitizer" version of the query does not pick up on it. This is expected, because the data flow model does not treat the call to listArgs.Validate as a predecessor of the call to ts.db.Order(listArgs.OrderBy) since the data does not flow through it.

We have a mechanism referred to as BarrierGuard to deal with such cases. A BarrierGuard allows you to implement a sanitizer in terms o…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@rh-tguittet
Comment options

Answer selected by rh-tguittet
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