Skip to content

Conversation

@atorralba
Copy link
Contributor

This PR fixes a non-monotonic recursion introduced in #6098 that reproduces under specific conditions.

When using local taint tracking to define a RemoteFlowSource, a recursion is created because entrypointFieldStep adds new RemoteFlowSources, and is a local taint step at the same time.

This is fixed by converting entrypointFieldStep into a defaultAdditionalTaintStep instead of a localAdditionalTaintStep, i.e. it will only affect global taint tracking from now on.

Credits to @aschackmull for the final solution.

When using local taint tracking to define a RemoteFlowSource, a recursion was created because entrypointFieldStep adds new RemoteFlowSources and was a local taint step. This is fixed by converting entrypointFieldStep into a defaultAdditionalTaintStep instead of a localAdditionalTaintStep, i.e. it will only affect global taint tracking from now on.
@atorralba atorralba requested a review from a team as a code owner January 21, 2022 09:53
@github-actions github-actions bot added the Java label Jan 21, 2022
@atorralba atorralba merged commit 0846d1f into github:main Jan 21, 2022
@atorralba atorralba deleted the atorralba/fix-recursion-entrypointfieldstep branch January 21, 2022 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants