Description
When using a TarFile.errorlevel = 0 and extracting with a filter the documented behavior is that any filtered members would be skipped and not extracted. However the actual behavior of TarFile.errorlevel = 0 in affected versions is that the member would still be extracted and not skipped.
CVSS breakdown
CVSS 3.1
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
Affected products
- Python Software Foundation / CPython0 – 3.10.18
- Python Software Foundation / CPython3.11.0 – 3.11.13
- Python Software Foundation / CPython3.12.0 – 3.12.11
- Python Software Foundation / CPython3.13.0 – 3.13.4
- Python Software Foundation / CPython3.14.0a1 – 3.14.0b3
References
- MISChttps://github.com/python/cpython/issues/135034
- PATCHhttps://github.com/python/cpython/pull/135037
- MISChttps://mail.python.org/archives/list/security-announce@python.org/thread/MAXIJJCUUMCL7ATZNDVEGGHUMQMUUKLG/
- PATCHhttps://github.com/python/cpython/commit/3612d8f51741b11f36f8fb0494d79086bac9390a
- PATCHhttps://github.com/python/cpython/commit/9e0ac76d96cf80b49055f6d6b9a6763fb9215c2a
- PATCHhttps://github.com/python/cpython/commit/19de092debb3d7e832e5672cc2f7b788d35951da
- PATCHhttps://github.com/python/cpython/commit/aa9eb5f757ceff461e6e996f12c89e5d9b583b01
- PATCHhttps://github.com/python/cpython/commit/28463dba112af719df1e8b0391c46787ad756dd9
- PATCHhttps://github.com/python/cpython/commit/4633f3f497b1ff70e4a35b6fe2c907cbe2d4cb2e
- PATCHhttps://github.com/python/cpython/commit/9c1110ef6652687d7c55f590f909720eddde965a
- PATCHhttps://github.com/python/cpython/commit/dd8f187d0746da151e0025c51680979ac5b4cfb1