Kwetsbaarheid in de Python-module TarFile die schrijven naar willekeurige delen van het bestandssysteem mogelijk maakt

In de standaard Python-module tarfile, die functies biedt voor het lezen en schrijven van tar-archieven, zijn vijf kwetsbaarheden ontdekt, waarvan er één een kritieke ernst heeft gekregen. Deze kwetsbaarheden zijn verholpen in de releases Python 3.13.4 en 3.12.11. De meest gevaarlijke kwetsbaarheid (CVE-2025-4517) stelt een aanvaller in staat om, bij het uitpakken van een zorgvuldig vervaardigd archief, bestanden in elk deel van het bestandssysteem te schrijven. In systeemscripts die tarfile gebruiken en met root-rechten worden uitgevoerd (zoals in pakketbeheer- en containerisolatietools), kan deze kwetsbaarheid worden gebruikt om privilege-escalatie te realiseren of om buiten de geïsoleerde container te komen.

De kwetsbaarheid betreft projecten waarbij de tarfile-module wordt gebruikt om onbetrouwbare tar-archieven uit te pakken, met de functies TarFile.extractall() of TarFile.extract() met de parameter "filter=" ingesteld op "data" of "tar". De kwetsbaarheid wordt veroorzaakt door onjuiste verwerking van de sequentie ".." in de naam van de symlink. Dit probleem raakt versies van Python vanaf 3.12. De modus ā€˜filter="data"ā€˜ is standaard ingeschakeld in de Python 3.14-tak in ontwikkeling (de release is gepland voor de herfst).

Andere kwetsbaarheden in TarFile:

  • CVE-2025-4330 - mogelijkheid om het filter voor uit te pakken gegevens te omzeilen, wat kan leiden tot het uitpakken van een symlink die naar buiten de basisdirectory wijst waarin wordt uitgepakt.
  • CVE-2025-4138 - mogelijkheid om willekeurige symlinks te creĆ«ren buiten de basisdirectory bij het uitpakken van archieven met de parameter ā€˜filter="data"ā€˜.
  • CVE-2024-12718 - mogelijkheid om metadata (zoals de modificatietijd) van bestanden buiten de basisdirectory te wijzigen bij het uitpakken van archieven met de parameter ā€˜filter="data"ā€˜ of om rechten (chmod) te wijzigen bij het uitpakken van archieven met de parameter ā€˜filter="tar"ā€˜.
  • CVE-2025-4435 - als bij het uitpakken van een archief de parameter TarFile.errorlevel is ingesteld op 0, worden ondanks de documentatie de elementen die fall binnen het opgegeven filter, uitgepakt in plaats van genegeerd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster