ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Moderators: Hacker, Stefan2, white
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Ist WinRar betroffen weil es ACE entpacken kann oder sind RAR-Archive genauso betroffen?
Gruss maat
Gruss maat
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
RAR Archive haben damit nichts zu tun.matixx wrote: 2019-02-26, 18:57 UTC Ist WinRar betroffen weil es ACE entpacken kann oder sind RAR-Archive genauso betroffen?
Gruss maat
Windows 11 Home, Version 24H2 (OS Build 26100.3915)
TC 11.51 x64 / x86
Everything 1.5.0.1391a (x64), Everything Toolbar 1.5.2.0, Listary Pro 6.3.2.88
QAP 11.6.4.2.1 x64
TC 11.51 x64 / x86
Everything 1.5.0.1391a (x64), Everything Toolbar 1.5.2.0, Listary Pro 6.3.2.88
QAP 11.6.4.2.1 x64
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Formal natürlich nicht. Aber schaust du jedesmal in den Header einer rar vorm entpacken ?
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Du hast gefragt, ob RAR Archive betroffen sind, und das sind sie definitiv nicht !matixx wrote: 2019-02-26, 19:53 UTC Formal natürlich nicht. Aber schaust du jedesmal in den Header einer rar vorm entpacken ?
Der Fall eine anderen Formats in einer umbenannten Datei hat damit nichts zu tun.
Windows 11 Home, Version 24H2 (OS Build 26100.3915)
TC 11.51 x64 / x86
Everything 1.5.0.1391a (x64), Everything Toolbar 1.5.2.0, Listary Pro 6.3.2.88
QAP 11.6.4.2.1 x64
TC 11.51 x64 / x86
Everything 1.5.0.1391a (x64), Everything Toolbar 1.5.2.0, Listary Pro 6.3.2.88
QAP 11.6.4.2.1 x64
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Danke.ghisler(Author) wrote: 2019-02-25, 14:58 UTC Ich habe die unacev2 dll gepatcht, so dass sie nicht mehr für den Fehler anfällig ist.
Kann/darf man auch selber diese gepatchte unacev2.dll anderen Programmen unterschieben (also z.b XnView oder Winrar), indem man die von diesen Programmen installierte ungepatchte dlls mit der gepatchten überschreibt?
Zumindest präventiv solange man kein Update der anderen Programmherausgeber installiert, mit dem diese Lücke von den anderen Herstellern geschlossen wurde?
Gruss
Holger
Make our planet great again
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Horst.Epp wrote: 2019-02-26, 21:59 UTCDu hast gefragt, ob RAR Archive betroffen sind, und das sind sie definitiv nicht !matixx wrote: 2019-02-26, 19:53 UTC Formal natürlich nicht. Aber schaust du jedesmal in den Header einer rar vorm entpacken ?
Der Fall eine anderen Formats in einer umbenannten Datei hat damit nichts zu tun.
Stimmt, ich bitte vielmals um Entschuldigung, das kommt hoffentlich nie mehr vor

Ich halte fest: jede *.rar kann betroffen sein und damit betrifft es jede *.rar-Datei.
Einen wunderschönen Mittwoch noch und viele Grüße
Gruss
- ghisler(Author)
- Site Admin
- Posts: 50394
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Ja, auf jeden Fall! Die alte unacev2.dll hat schon vorher versucht, ../ und ..\ aus Pfaden herauszufiltern, das aber nicht 100%ig geschafft. Mit meinem Patch bricht die DLL das Entpacken komplett ab, wenn ein Pfad ../ oder ..\ enthält. Normale Archive enthalten diese nicht, so dass es für die normale Benutzung keine Nachteile hat.Kann/darf man auch selber diese gepatchte unacev2.dll anderen Programmen unterschieben
Die neue DLL erkennt man an Dateiversion 2.6.1.0 in den Metadaten (Alt+Enter).
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
2ghisler(Author)
Habe soeben Unacev2.dll ins TC-Verzeichnis kopiert, da ich noch zwei von mir selbst erstellte ACE-Archive habe, die ich jetzt mal komfortabel via TC entpacken wollte, ohne den originalen Archivierer zu bemühen.
Da ich die 64-bit Version von TC auf Windows 10 64-bit einsetze, klappte dies aber nicht. Statt dessen bekomme ich eine Meldung präsentiert, dass für dieses Archivformat ein externes Packprogramm eingerichtet werden muss, was ich in diesem Zusammenhang als unglücklich erachte, da ja eine Entpackerbibliothek vorhanden ist. Ich habe dann TC 32-bit aufgerufen, mit dem das Entpacken dann einwandfrei gelang.
Kannst Du es einrichten, dass auch der TC 64-bit die Unacev2.dll aufruft, um ACE-Archive zu entpacken?
Soweit ich weiss, gibt es keine 64-bit Variante von Unacev2.dll. Marcel Lemke, der Autor vom closed-source Archiver ACE, ist vor etwa 10 Jahren einfach von der Bildfläche verschwunden, die letzte veröffentlichte Programmversion v2.69 stammt vom 08. November 2007.
Habe soeben Unacev2.dll ins TC-Verzeichnis kopiert, da ich noch zwei von mir selbst erstellte ACE-Archive habe, die ich jetzt mal komfortabel via TC entpacken wollte, ohne den originalen Archivierer zu bemühen.
Da ich die 64-bit Version von TC auf Windows 10 64-bit einsetze, klappte dies aber nicht. Statt dessen bekomme ich eine Meldung präsentiert, dass für dieses Archivformat ein externes Packprogramm eingerichtet werden muss, was ich in diesem Zusammenhang als unglücklich erachte, da ja eine Entpackerbibliothek vorhanden ist. Ich habe dann TC 32-bit aufgerufen, mit dem das Entpacken dann einwandfrei gelang.
Kannst Du es einrichten, dass auch der TC 64-bit die Unacev2.dll aufruft, um ACE-Archive zu entpacken?
Soweit ich weiss, gibt es keine 64-bit Variante von Unacev2.dll. Marcel Lemke, der Autor vom closed-source Archiver ACE, ist vor etwa 10 Jahren einfach von der Bildfläche verschwunden, die letzte veröffentlichte Programmversion v2.69 stammt vom 08. November 2007.
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Laut beiliegender Dokumentation kann die UnRAR.dll lediglich RAR-Archive entpacken.
Auszug aus Introduction.htm [sic]:
Code: Select all
UnRAR.dll is Windows dynamic-link library, which provides file extraction. from RAR archives.
- ghisler(Author)
- Site Admin
- Posts: 50394
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Leider nein, es gibt nur eine 32-bit-Version. Man kann aber ace32.exe aufrufen (Konfigurieren - Einstellungen - Packer), und es hat nicht diese Sicherheitslücke.Kannst Du es einrichten, dass auch der TC 64-bit die Unacev2.dll aufruft, um ACE-Archive zu entpacken?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Darf ich fragen, wie du die DLL patchen konntest? WinRAR hat ja als Begründung gebracht, dass ihnen die Sourcen fehlen und daher die Lücke nicht behoben werden könne (daher komplett Support gestrichen).ghisler(Author) wrote: 2019-02-25, 14:58 UTC Ich habe die unacev2 dll gepatcht, so dass sie nicht mehr für den Fehler anfällig ist. Dabei bricht die DLL den Entpackvorgang sofort ab, wenn Sie die Zeichenkette ../ oder ..\ im Pfadnamen findet. Dabei werden fälschlicherweise auch Verzeichnisse mit Namen "test.." als gefährlich erkannt. Da solche Namen aber normalerweise nicht unter Windows vorkommen, ist das besser als die Sicherheitslücke.
Download hier:
https://www.totalcommander.ch/win/unacev2_fixed.zip
Installation: Im Total Commander auf unacev2_fixed.zip doppelklicken.
Ich habe zu dem Thema im englischen Thread was geschrieben und hoffe, dass Du (@ghisler) vielleicht was dazu sagen kannst?
viewtopic.php?f=3&t=51949&p=352220#p352220
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
"War is evil, in so far as it makes more bad people than it takes away."
Immanuel Kant in "Perpetual Peace"
Immanuel Kant in "Perpetual Peace"
- ghisler(Author)
- Site Admin
- Posts: 50394
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
Auf der folgenden Seite ist der Fehler sehr genau beschrieben. Nur deshalb war es mir möglich, die DLL zu patchen:Darf ich fragen, wie du die DLL patchen konntest?
https://research.checkpoint.com/extracting-code-execution-from-winrar/
Der Fehler liegt in der Funktion "CleanPath", die auf obiger Seite als Pseudocode beschrieben ist, besonders diese Zeile:
Code: Select all
PathTraversalPos = strstr(Path,"..\\");
Das sah so aus:
Code: Select all
mov edx,L004113A8 # load address of "..\"
mov eax,ecx
call strstr # call PathTraversalPos = strstr(Path,"..\\");
mov ecx,eax
test eax,eax
jz L0040CC0E # not found: skip the loop: while ( PathTraversalPos )
Code: Select all
mov eax,FFFFFFFFh
pop esi
pop edx
pop ecx
pop ebx
retn
Code: Select all
B8 FF FF FF FF mov eax,FFFFFFFFh
5E pop esi
5A pop edx
59 pop ecx
5B pop ebx
C3 ret
patchen: B8 FF FF FF FF 5E 5A 59 5B C3
Zusätzlich habe ich noch die DLL-Version und das Datum gepacht, damit man sie als die neuere erkennen kann.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Re: ACE-Format: Kritische Lücke in WinRAR erst nach 14 Jahren entdeckt
@ghisler
Wow, vielen lieben Dank für diese super ausführliche Erklärung! Das klingt alles auf jeden Fall ziemlich vielversprechend und vor allem beruhigend. Dann kann ich wohl meine alte WinRAR-Version einfach mit deiner dll weiternutzen.
Vielen Dank nochmal und ein schönes Wochenende
Wow, vielen lieben Dank für diese super ausführliche Erklärung! Das klingt alles auf jeden Fall ziemlich vielversprechend und vor allem beruhigend. Dann kann ich wohl meine alte WinRAR-Version einfach mit deiner dll weiternutzen.
Vielen Dank nochmal und ein schönes Wochenende
