Im zum Standardumfang gehörenden Python-Modul tarfile, das Funktionen zum Lesen und Schreiben von tar-Archiven bereitstellt, wurden fĂŒnf Schwachstellen identifiziert, von denen eine als kritisch eingestuft ist. Die Schwachstellen wurden in den Versionen Python 3.13.4 und 3.12.11 behoben. Die gefĂ€hrlichste Schwachstelle (CVE-2025-4517) ermöglicht es, beim Entpacken eines speziell gestalteten Archivs Dateien in beliebige Bereiche des Dateisystems zu schreiben. In Systemskripten, die tarfile verwenden und mit Root-Rechten ausgefĂŒhrt werden (z. B. in Paketverwaltungs- und Containerisolierungs-Tools), kann die Schwachstelle zur Erhöhung der eigenen Privilegien oder zum Verlassen des isolierten Containers ausgenutzt werden.
Die SicherheitsanfĂ€lligkeit betrifft Projekte, in denen das Modul tarfile zum Entpacken von nicht vertrauenswĂŒrdigen tar-Archiven verwendet wird, indem die Funktion TarFile.extractall() oder TarFile.extract() mit dem Parameter âfilter=â auf âdataâ oder âtarâ gesetzt wird. Die Schwachstelle wird durch die fehlerhafte Verarbeitung der Sequenz â..â im Linknamen verursacht. Das Problem betrifft Versionen von Python ab 3.12. Der Modus âfilter=âdataââ wird standardmĂ€Ăig in der Entwicklungsumgebung von Python 3.14 angewendet (der Release ist fĂŒr den Herbst geplant).
Weitere SicherheitsanfÀlligkeiten in TarFile:
- CVE-2025-4330 â Möglichkeit des Umgehens des Datenextraktionsfilters, was dazu fĂŒhren kann, dass eine symbolische VerknĂŒpfung, die auĂerhalb des Basisverzeichnisses zeigt, aus dem Archiv extrahiert wird.
- CVE-2025-4138 â Möglichkeit, beliebige symbolische Links auĂerhalb des Basisverzeichnisses beim Entpacken von Archiven mit dem Parameter âfilter=âdataââ zu erstellen.
- CVE-2024-12718 â Möglichkeit, Metadaten (z. B. das Ănderungsdatum) von Dateien auĂerhalb des Basisverzeichnisses beim Entpacken von Archiven mit dem Parameter âfilter=âdataââ oder Berechtigungen (chmod) beim Entpacken von Archiven mit dem Parameter âfilter=âtarââ zu Ă€ndern.
- CVE-2025-4435 â Wenn bei der Entpackung eines Archivs der Parameter TarFile.errorlevel auf 0 gesetzt ist, wurden im Widerspruch zur Dokumentation die vom festgelegten Filter betroffenen Archivelemente entpackt und nicht ignoriert.
Quelle: opennet.ru
