Das kostenlose Pack-Programm 7-Zip hat in der aktuellen Version 21.07 und davor eine Sicherheitslücke, die unter der CVE-2022-29072 geführt wird. Durch diese Sicherheitslücke kann es dazu kommen, dass durch eine manipulierte Eingabe erhöhte Rechte ausgeführt werden können.
Dies kann auch über ein Netzwerk ausgeführt werden. Ganz allgemein gesagt, kann die Lücke über die im Ordner enthaltene 7-zip.chm, also die Hilfedatei ausgeführt werden. Wer es genauer wissen möchte, kann sich den Beitrag auf GitHub durchlesen und das kleine Video anschauen. Die CVE-2022-29072 wird seit dem 12.04.22 geführt und wurde gestern, am 16.04. veröffentlicht. Bis 7-Zip aktualisiert wird, gibt es eine ganz einfache Methode, die Lücke zu schließen.
Workaround:
- Im 7-Zip Ordner ganz einfach die 7-zip.chm löschen. Diese ist nur als Hilfe-Datei dabei, wie wir es von vielen Programmen her kennen.
- Eine weitere Variante wäre: 7-zip sollte nur Lese- und Ausführungsrechte haben. (Für alle Benutzer)
Nur nebenbei: Auch wenn NanaZip 7zip und 7-Zip ZS nutzt, ist in der App keine *.chm Datei enthalten. Kenji Mouri hat es mir eben per Telegram auch bestätigt.
Als Nachtrag: Wie Benny in den Kommentaren beschreibt, betrifft es alle .chm-Dateien. Vorausgesetzt, es wird der Windows-eigene Viewer für die Hilfe-Dateien (.chm) benutzt.
2. Nachtrag 20.04.: Laut der NATIONAL VULNERABILITY DATABASE wird auf eine weitere Analyse gewartet. Die Lücke wurde solange als „Umstritten“ eingestuft. „7-Zip bis 21.07 auf Windows ermöglicht eine Privilegienerweiterung und Befehlsausführung, wenn eine Datei mit der Erweiterung .7z in den Bereich Hilfe > Inhalt gezogen wird. Dies wird durch eine Fehlkonfiguration von 7z.dll und einen Heap-Überlauf verursacht. Der Befehl wird in einem Kindprozess unter dem Prozess 7zFM.exe ausgeführt. HINWEIS: Mehrere unabhängige Stellen haben berichtet, dass keine Privilegienerweiterung stattfinden kann.“ (via)
Danke für den Hiweis. Ich benutze das Programm sehr oft, wollen wir mal hoffen, dass es noch funzt ;).
7-zip.chm gelöscht.
Ok also ne „Vor Ort“ Lücke … somit ignorierbar ;-P für Privatpersonen.
Wenn der Rechne nicht im Netzwerk hängt (Remote), dann ja.
Also für Privat Nutzer nicht gefährlich?
Nur, wenn du niemanden an deinen Rechner lässt.
Aus der Portable App von 7-zip lässt sich die Hilfedatei ebenso einfach löschen.
Oder ist diese Datei nicht betroffen?
Auch die wäre betroffen.
Sehe ich das richtig, das dann folgerichtig alle chm (alte Windows 98 HTML Hilfe) Dateien diesem Problem unterliegen und man sie insgesamt entfernen sollte?
gepostet mit der Deskmodder.de-App für Android
Den Gedanken hatte ich gestern auch schon. Aber das müssten die Experten herausfinden.
Ich habe es versucht es so in etwas nachzustellen wie auf den Github Repository dargestellt wird.
Dieser Exploit funktioniert mit allen *.chm Dateien die man über Programme wie 7-Zip oder (in meinen Test) über „aida64 Extreme“ oder auch direkt öffnen kann.
In meiner Nachstellung mussten die *.chm mit Administratorrechten geöffnet werden (muss aber nicht wenn es ein Skript gibt das diese Hürde umgehen kann).
Teilweise mit den Dateien aus den Repo ist es davon abhängig wie die *.chm geöffnet wird, nämlich als welches „Arbeitsverzeichnis“ verwendet wird.
Wenn man die *.chm über 7-zip als Admin öffnet ist das Arbeitsverzeichnis „..system32“.
Mit aida64(portable in den fall) war es das Verzeichnis wo aida64 ausgeführt wurde „.\“
Kurzgesagt: es hat in meinen Fall auf alle *.chm Dateien funktioniert. In falle der Dateien aus den Repo, abhängig von Arbeitsverzeichnis (kann jedoch wie gesagt mit besseren Skripte umgangen werden).
Ich habe es auch Probieren wollen ob dies auch mit anderen Viewers funktioniert:
Mit KchmViewer scheint es nicht zu funktionieren. Vielleicht liegt es doch an den Windows eigenen Viewer von *.chm da diese jscript in HTML zulässt.
Daher die Idee, das gleiche wie beim Browser Wechsel.
Den KchmViewer installieren und diesen als Standard-Viewer für *.chm Dateien festlegen
Leider totaler quatsch.
Es gab noch keine Person, außerdem vermeintlichen „Entdecker“, der die Sicherheitslücke reproduzieren konnte.
Zumindest ohne die übergeordneten Prozesse oder den Microsoft CHM Viewer als Administrator auszuführen.
Aber auch die tollsten Skripte der Welt werden nicht plötzlich irgendeinen Prozess ohne Administratorzugriff als Administrator ausführen können.
Dann wäre der Fehler weder bei 7-zip noch bei dem Microsoft CHM Viewer (HTML Help Control) sondern bei Windows selber dass es (IRGENDWIE) erlaubt aus Kontexten mit niedrigen Rechten heraus Kontexte mit höheren Rechten zu erstellen.
Was einfach nicht der Fall ist.
Die CVE ist nicht ohne Grund „disputed“ und der „Entdecker“ verhält sich nicht ohne Grund komplett unkooperativ und wie ein Idiot.
Das ganze ist schon so ziemlich debunked.
Benny hier hat es geschafft mit Programmen die er selber als Administrator ausgeführt hat, andere Programme als Administrator zu starten. Krasse Sache.
Jetzt müssen wir nur noch ein Programm finden das immer, auch ohne Administratoreingabe, als Administrator startet – also z.b Systemdienste oder ähnliches, die dann dabei auch noch aus irgendeinem Grund den Windows CHM Viewer starten – welcher dann auch tatsächlich in einem Administrator Kontext startet.
Und das muss dann einer explizit mit Javascript exploiten!
Löscht alle besser euer 7-zip ganz fix! WinRar hat es verdient endlich mal Umsatz zu machen.
@Benny
Ein Skript kann die .chm mit Administratorrechten öffnen.
Also auch gefährlich für Privat Personen die niemanden am Rechner lassen?
Mit einen geschrieben Skript auf cmd Basis oder verpackt als exe evtl. schon, zumindest wenn man die darauffolgende Meldung der Benutzerkontosteuerung (UAC) beim ausführen zugestimmt hat, außer man hat ein Admin Konto mit deaktivierten Benutzerkontosteuerung (UAC).
Aber man sollte nur aufpassen was man sich herunterlädt und entsprechend ausführt, dann ist man auch sicher.
Dankeschön
FYI: Der Entdecker des 0-day ist eine Schweinebacke oder sein GitHub-Account wurde übernommen. Am 19.4.2022 wurde der Beitrag so gegen 14.00 Uhr deutscher Zeit geändert – und aus der englischsprachigen Fassung wurde eine Fassung auf türkisch. Ich habe die englischsprachige Fassung mal als Snapshot bei mir im Blog hinterlegt.
https://www.borncity.com/blog/2022/04/19/7-zip-schwachstelle-cve-2022-29072-ermglicht-systemprivilegien/#comment-124550
Gibt doch Translater. Also kein Problem.
HISTORY of the 7-Zip
——————–
22.00 2022-06-15
————————-
– 7-Zip now can extract APFS (Apple File System) images that can be used in DMG files.
– 7-Zip now can create TAR archives in POSIX (pax) tar format with the switches
-ttar -mm=pax or -ttar -mm=posix
– 7-Zip now can store additional file timestamps with high precision (1 ns in Linux)
in tar/pax archives with the following switches:
-ttar -mm=pax -mtp=3 -mtc -mta
– New switches for Linux version for TAR archives:
-snoi : store owner/group ids in archive or set owner/group ids from archive to extracted files.
-snon : store owner/group names in archive
– New -snz switch to propagate Zone.Identifier stream to extracted files (Windows).
– New option „Propagate Zone.Id stream“ in Tools/Options/7-Zip menu.
– New „Options“ window in „Add to archive“ allows to select what metadata must be
included to archive. Also it allows to select new option
„Do not change source files last access time“.
– Some bugs were fixed.
HISTORY of the 7-Zip
——————–
23.00 2023-05-07
————————-
– 7-Zip now can use new ARM64 filter for compression to 7z and xz archives.
ARM64 filter can increase compression ratio for data containing executable
files compiled for ARM64 (AArch64) architecture.
Also 7-Zip now parses executable files (that have exe and dll filename extensions)
before compressing, and it selects appropriate filter for each parsed file:
– BCJ or BCJ2 filter for x86 executable files,
– ARM64 filter for ARM64 executable files.
Previous versions by default used x86 filter BCJ or BCJ2 for all exe/dll files.
– Default section size for BCJ2 filter was changed from 64 MiB to 240 MiB.
It can increase compression ratio for executable files larger than 64 MiB.
– UDF: support was improved.
– cpio: support for hard links.
– Some changes and optimizations in WIM creation code.
– When new 7-Zip creates multivolume archive, 7-Zip keeps in open state
only volumes that still can be changed. Previous versions kept all volumes
in open state until the end of the archive creation.
– 7-Zip for Linux and macOS now can reduce the number of simultaneously open files,
when 7-Zip opens, extracts or creates multivolume archive. It allows to avoid
the failures for cases with big number of volumes, bacause there is a limitation
for number of open files allowed for a single program in Linux and macOS.
– There are optimizations in code for 7-Zip’s context menu in Explorer:
the speed of preparing of the menu showing was improved for cases when big number of
files were selected by external program for context menu that contains 7-Zip menu commands.
– There are changes in code for the drag-and-drop operations to and from 7-Zip File Manager.
And the drag-and-drop operation with right button of mouse now is supported for some cases.
– The bugs were fixed:
– ZIP archives: if multithreaded zip compression was performed with more than one
file to stdout stream (-so switch), 7-zip didn’t write „data descriptor“ for some files.
– ext4 archives: 7-Zip couldn’t correctly extract symbolic link to directory from ext4 archives.
– HFS and APFS archives: 7-Zip incorrectly decoded uncompressed blocks (64 KiB) in compressed forks.
– Some another bugs were fixed.