CVE-2026-42196: Python Pureposixpath Traversal Without Clean Name

A pathlib.PurePosixPath() is being constructed from an unnormalized path string that is later passed to a Django/django-storages storage.open() call. Because PurePosixPath treats backslashes as literal filename characters, an attacker-supplied path containing "..\\..\\" can bypass parent-prefix validation (path.parent appears legitimate) while still being re

Provally CuratedPublic repositoryHighHigh confidenceVerifiedApache-2.0Python
greprules fetch cve-2026-42196-python-pureposixpath-traversal-without-clean-name --engine opengrep

Description

A pathlib.PurePosixPath() is being constructed from an unnormalized path string that is later passed to a Django/django-storages storage.open() call. Because PurePosixPath treats backslashes as literal filename characters, an attacker-supplied path containing "..\\..\\" can bypass parent-prefix validation (path.parent appears legitimate) while still being re