
CVE-2026-48095
7-Zip ist ein Dateiarchivierer mit hoher Komprimierungsrate. Die Versionen 26.00 und früher enthalten eine Heap-Pufferüberlauf-Schwachstelle, die durch eine Unterallokation im NTFS-komprimierten Stream-Puffer (GetCuSize-Shift-UB) verursacht wird, die es Angreifern potenziell ermöglicht, beliebigen Code auszuführen oder Anwendungsabstürze zu verursachen. CInStream::GetCuSize() im NTFS-Handler berechnet die Puffergröße der Komprimierungseinheit als (UInt32)1 << (BlockSizeLog + CompressionUnit), und ein manipuliertes Image mit ClusterSizeLog >= 28 und CompressionUnit == 4 treibt den Exponenten auf 32, was undefiniertes Verhalten ist und auf x86/x64 kollabiert, sodass _inBuf als 1 Byte alloziert wird. ReadStream_FALSE schreibt dann bis zu 256 MB vom Angreifer kontrollierte Daten in diesen 1-Byte-Puffer in 64-KB-Iterationen, und da das CInStream-Objekt nur 304 Bytes nach _inBuf liegt, wird sein vtable-Zeiger überschrieben und der nächste aufgerufene Aufruf erreicht einen vtable-Hijack. Auf 32-Bit-Builds wird der Überlauf bedingungslos erreicht; auf 64-Bit erfordert es die parallele 8-GB-_outBuf-Allokation, die erfolgreich sein muss, andernfalls schlägt es mit Dienstverweigerung fehl. Der NTFS-Handler ist standardmäßig in der Standard-7z.dll aktiviert und öffnet über einen signaturbasierten Fallback, der 'NTFS ' an Offset 3 erkennt, ein manipuliertes Image unabhängig von der Dateierweiterung während der Extraktion oder des Tests. Version 26.01 behebt das Problem.
Verwenden Sie dieses Projekt nur in sicheren und autorisierten Umgebungen wie:
Beispielsetup:
git clone <repository-url>
cd <repository-name>
Beispielverwendung:
# Install dependencies
# Run the project
python cve-2026-48095.py
# Specify output file name
python cve-2026-48095.py poc_ntfs_sparse.zip
Ein Repository zum Erlernen, Testen und Erforschen von Cybersicherheitskonzepten in kontrollierten Umgebungen.
Dieses Repository ist ausschließlich für Bildungs- und autorisierte Sicherheitsforschung bestimmt.
Es soll Benutzern helfen, Folgendes zu lernen:
Verwenden Sie dieses Repository nur in Umgebungen, für die Sie die Berechtigung haben, wie z. B.:
Unbefugte oder illegale Nutzung ist strengstens untersagt.
Der Autor und die Mitwirkenden sind nicht verantwortlich für Schäden, Missbrauch, rechtliche Probleme oder Verluste, die durch dieses Projekt entstehen.
Durch die Nutzung dieses Repositorys stimmen Sie zu, dass:
Dieses Projekt ist vorgesehen für:
Bitte befolgen Sie verantwortungsvolle Offenlegungspraktiken und halten Sie sich an alle geltenden Gesetze.
Für verantwortungsvolle Offenlegung oder Zusammenarbeit wenden Sie sich über GitHub an den Repository-Maintainer.