Уязвимост в Python модула TarFile, позволяваща запис в произволни части на файловата система.

В интеграционния модул tarfile на Python, предоставящ функционал за четене и записване на tar-архиви, са установени пет уязвимости, една от които е с критичен риск. Уязвимостите са коригирани в версиите Python 3.13.4 и 3.12.11. Най-опасната уязвимост (CVE-2025-4517) позволява при разархивиране на специално подготвен архив да се запишат файлове в произволна част на файловата система. В системни скриптове, използващи tarfile и стартирани с права root (например, в инструменти за управление на пакети и изолирани контейнери), уязвимостта може да бъде използвана за повишаване на правата или излизане извън границите на изолирания контейнер.

Уязвимостта засяга проекти, в които модулът tarfile се използва за разархивиране на ненадеждни tar-архиви, чрез функциите TarFile.extractall() или TarFile.extract() с параметър «filter=», зададен на «data» или «tar». Уязвимостта е резултат от неправилна обработка на последователността «..» в името на връзката. Проблемът засяга версии на Python от 3.12 нататък. Режимът ‘filter=»data»‘ е зададен по подразбиране в разработваната версия на Python 3.14 (пускането е планирано за есента).

Други уязвимости в TarFile:

  • CVE-2025-4330 — възможност за заобикаляне на филтъра за извличане на данни, което може да доведе до извличане от архива на символична връзка, сочеща извън основната директория, в която се извършва разархивирането.
  • CVE-2025-4138 — възможност за създаване на произволни символични връзки извън основната директория при разархивиране на архиви с параметър ‘filter=»data»‘.
  • CVE-2024-12718 — възможност за промяна на метаданни (например времето на модификация) на файлове извън основната директория при разархивиране на архиви с параметър ‘filter=»data»‘ или права за достъп (chmod) при разархивиране на архиви с параметър ‘filter=»tar»‘.
  • CVE-2025-4435 — ако при разархивиране на архива параметърът TarFile.errorlevel е зададен на 0, то в противоречие на документацията, елементите на архива попаднали под зададения филтър са разархивирани, а не игнорирани.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster