Skip to content

fix(rules): Remove false positives from path-traversal temp-file/temp-directory sinks#69

Open
misonijnik wants to merge 2 commits intomainfrom
misonijnik/remove-fp-path-traversal
Open

fix(rules): Remove false positives from path-traversal temp-file/temp-directory sinks#69
misonijnik wants to merge 2 commits intomainfrom
misonijnik/remove-fp-path-traversal

Conversation

@misonijnik
Copy link
Member

The createTempFile and createTempDirectory sink patterns previously matched user-controlled prefix/suffix String arguments, which cannot cause path traversal because the JDK rejects platform file separators in those positions.

  • File.createTempFile: narrow to 3-arg form so only the directory arg is a sink
  • Files.createTempFile: type-constrain to Path overload (directory), skip String overload (prefix/suffix)
  • Files.createTempDirectory: same type-constraint for Path overload
  • Fix typo: readSymbolicPath -> readSymbolicLink
  • Add negative tests for all fixed cases in both Servlet and Spring samples

…-directory sinks

The createTempFile and createTempDirectory sink patterns previously matched
user-controlled prefix/suffix String arguments, which cannot cause path
traversal because the JDK rejects platform file separators in those positions.

- File.createTempFile: narrow to 3-arg form so only the directory arg is a sink
- Files.createTempFile: type-constrain to Path overload (directory), skip String overload (prefix/suffix)
- Files.createTempDirectory: same type-constraint for Path overload
- Fix typo: readSymbolicPath → readSymbolicLink
- Add negative tests for all fixed cases in both Servlet and Spring samples
@misonijnik misonijnik requested a review from dvvrd March 26, 2026 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant