CVE-2026-30893: Python Os Path Join Decoded Untrusted Write

os.path.join() is being called with a decoded path component (likely parsed from an external/network payload) and the joined result is then opened for writing without containment validation. os.path.join() does not normalize '..' segments, and an absolute right-hand operand silently replaces the base directory, so an attacker-controlled filepath can escape t

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0Python
greprules fetch cve-2026-30893-python-os-path-join-decoded-untrusted-write --engine opengrep

Description

os.path.join() is being called with a decoded path component (likely parsed from an external/network payload) and the joined result is then opened for writing without containment validation. os.path.join() does not normalize '..' segments, and an absolute right-hand operand silently replaces the base directory, so an attacker-controlled filepath can escape t