Ausnahme gefangen: SSL certificate problem: certificate is not yet valid 📌 PHP bis 7.0.5 ZIP Archive Handler zend_string.h getFromIndex() Pufferüberlauf

🏠 Team IT Security News

TSecurity.de ist eine Online-Plattform, die sich auf die Bereitstellung von Informationen,alle 15 Minuten neuste Nachrichten, Bildungsressourcen und Dienstleistungen rund um das Thema IT-Sicherheit spezialisiert hat.
Ob es sich um aktuelle Nachrichten, Fachartikel, Blogbeiträge, Webinare, Tutorials, oder Tipps & Tricks handelt, TSecurity.de bietet seinen Nutzern einen umfassenden Überblick über die wichtigsten Aspekte der IT-Sicherheit in einer sich ständig verändernden digitalen Welt.

16.12.2023 - TIP: Wer den Cookie Consent Banner akzeptiert, kann z.B. von Englisch nach Deutsch übersetzen, erst Englisch auswählen dann wieder Deutsch!

Google Android Playstore Download Button für Team IT Security



📚 PHP bis 7.0.5 ZIP Archive Handler zend_string.h getFromIndex() Pufferüberlauf


💡 Newskategorie: Sicherheitslücken
🔗 Quelle: vuldb.com

Eine kritische Schwachstelle wurde in PHP bis 7.0.5 gefunden. Davon betroffen ist die Funktion ZipArchive::getFromIndex() der Datei zend_string.h der Komponente ZIP Archive Handler. Durch die Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle (Heap-based) ausgenutzt werden. Die Auswirkungen sind bekannt für Vertraulichkeit, Integrität und Verfügbarkeit.

Die Schwachstelle wurde am 28.04.2016 durch Hans Jerry Illikainen herausgegeben. Eine Veröffentlichung wurde in Zusammenarbeit mit dem Projektteam angestrebt. Die Verwundbarkeit wird mit der eindeutigen Identifikation CVE-2016-3078 gehandelt. Die Schwachstelle ist relativ beliebt, und dies trotz ihrer hohen Komplexität. Umgesetzt werden kann der Angriff über das Netzwerk. Das Ausnutzen erfordert keine spezifische Authentisierung. Es sind technische Details sowie ein öffentlicher Exploit zur Schwachstelle bekannt. Der folgende Code ist die Ursache des Problems:

static zend_always_inline zend_string *zend_string_alloc(size_t len, int persistent)
{
   zend_string *ret = (zend_string *)pemalloc(ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent); // (4)
   ...
   ZSTR_LEN(ret) = len;                                                                                  // (5)
   return ret;
}
Das Advisory weist darauf hin:
The `size' argument to the `pemalloc' macro is aligned/adjusted in (4) whilst the *original* value of `len' is stored as the size of the allocated buffer in (5). No boundary checking is done in (4) and it may thus wrap, which would lead to a heap overflow during the invocation of `zip_fread()' in (3) as the `toread' argument is `ZSTR_LEN(buffer).

Ein öffentlicher Exploit wurde durch Hans Jerry Illikainen in Python entwickelt und direkt nach dem Advisory veröffentlicht. Er wird als proof-of-concept gehandelt. Der Preis als 0-Day war auf dem Schwarzmarkt etwa $25k-$50k. Der durch den Exploit genutzte Code gestaltet sich wie folgt:

$zip = new ZipArchive();
if ($zip->open($_FILES["file"]["tmp_name"]) !== TRUE) {
   echo "cannot open archive\n";
} else {
   for ($i = 0; $i < $zip->numFiles; $i++) {
      $data = $zip->getFromIndex($i);
}
$zip->close();

Ein Aktualisieren auf die Version 7.0.6 vermag dieses Problem zu lösen.

Mitunter wird der Fehler auch in der Verwundbarkeitsdatenbank von SecurityTracker (ID 1035701) dokumentiert.


CVSS
Base Score: 6.8 (CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P) [?]
Temp Score: 5.3 (CVSS2#E:POC/RL:OF/RC:C) [?]

CPE

Exploiting
Klasse: Pufferüberlauf
Lokal: Nein
Remote: Ja

Verfügbarkeit: Ja
Zugang: öffentlich
Status: Proof-of-Concept
Programmiersprache: Python
Autor: Hans Jerry Illikainen

Aktuelle Preisschätzung: $25k-$50k (0-day) / $1k-$2k (Heute)

Gegenmassnahmen
Empfehlung: Upgrade
Status: Offizieller Fix
0-Day Time: 0 Tage seit gefunden
Exploit Delay Time: 0 Tage seit bekannt

Upgrade: PHP 7.0.6

Timeline
28.04.2016
Advisory veröffentlicht
28.04.2016
Exploit veröffentlicht
28.04.2016
SecurityTracker Eintrag erstellt
02.05.2016
VulDB Eintrag erstellt
02.05.2016
VulDB Eintrag aktualisiert

Quellen
Person: Hans Jerry Illikainen
Status: Bestätigt
Koordiniert: Ja

CVE: CVE-2016-3078 (mitre.org) (nvd.nist.org) (cvedetails.com)

SecurityTracker: 1035701 - PHP Heap Overflow in ZipArchive in Reading zip Files Lets Remote Users Execute Arbitrary Code


Eintrag
Erstellt: 02.05.2016
Eintrag: 82% komplett
...













📌 PHP bis 7.0.5 ZIP Archive Handler zend_string.h getFromIndex() Pufferüberlauf


📈 105.79 Punkte

📌 PHP bis 7.0.5 ZIP Archive Handler zend_string.h getFromIndex() Pufferüberlauf


📈 105.79 Punkte

📌 perl-archive-zip ZIP File Archive::Zip directory traversal


📈 55.83 Punkte

📌 perl-archive-zip ZIP File Archive::Zip Directory Traversal


📈 55.83 Punkte

📌 adm-zip npm Library bis 0.4.8 Extraction ZIP Archive Zip-Slip Directory Traversal


📈 48.52 Punkte

📌 zt-zip bis 1.12 Extraction ZIP Archive Zip-Slip Directory Traversal


📈 48.52 Punkte

📌 zt-zip up to 1.12 Extraction ZIP Archive Zip-Slip directory traversal


📈 45.1 Punkte

📌 adm-zip npm Library up to 0.4.8 Extraction ZIP Archive Zip-Slip directory traversal


📈 45.1 Punkte

📌 F-Secure Anti-Virus 6.30/6.30 Sr1/6.31 on Exchange ZIP Archive Embedded ZIP Archive Bypass unknown vulnerability


📈 44.38 Punkte

📌 7-zip/p7zip ZIP Archive CodeReal Pufferüberlauf


📈 39.15 Punkte

📌 Unitronics VisiLogic OPLC IDE bis 9.8.29 VLP File Handler ZIP Archive Stack-Based Pufferüberlauf


📈 38.33 Punkte

📌 Unitronics VisiLogic OPLC IDE bis 9.8.29 VLP File Handler ZIP Archive Stack-Based Pufferüberlauf


📈 38.33 Punkte

📌 libarchive bis 3.1.x ZIP Archive Handler archive_read_support_format_zip.c zip_read_mac_metadata Pufferüberlauf


📈 38.33 Punkte

📌 libarchive bis 3.1.x ZIP Archive Handler archive_read_support_format_zip.c zip_read_mac_metadata Pufferüberlauf


📈 38.33 Punkte

📌 PHP bis 7.1.5 Zend/zend_string.h zend_string_extend Negative Length Denial of Service


📈 37.65 Punkte

📌 Spring-integration-zip bis 1.0.0 ZIP Archive Directory Traversal


📈 37.07 Punkte

📌 Pivotal Spring-integration-zip bis 1.0.1 ZIP Archive Directory Traversal


📈 37.07 Punkte

📌 SharpCompress bis 0.20.x Extraction ZIP Archive Zip-Slip Directory Traversal


📈 37.07 Punkte

📌 unzipper npm Library bis 0.8.12 Extraction ZIP Archive Zip-Slip Directory Traversal


📈 37.07 Punkte

📌 DotNetZip.Semvered bis 1.10.x Extraction ZIP Archive Zip-Slip Directory Traversal


📈 37.07 Punkte

📌 zip4j bis 1.3.2 Extraction ZIP Archive Zip-Slip Directory Traversal


📈 37.07 Punkte

📌 QuaZIP bis 0.7.5 Extraction ZIP Archive Zip-Slip Directory Traversal


📈 37.07 Punkte

📌 PHP bis 5.4.43/5.5.27/5.6.11 ZIP Archive Handler PharData Directory Traversal


📈 36.34 Punkte

📌 PHP bis 5.4.43/5.5.27/5.6.11 ZIP Archive Handler PharData Directory Traversal


📈 36.34 Punkte

📌 Mozila Firefox 43 ZIP Archive Handler nsZipArchive Pufferüberlauf


📈 34.91 Punkte

📌 Mozila Firefox 43 ZIP Archive Handler nsZipArchive Pufferüberlauf


📈 34.91 Punkte

📌 PHP up to 7.1.5 Zend/zend_string.h zend_string_extend Negative Length denial of service


📈 34.23 Punkte

📌 7-zip/p7zip ZIP Archive CodeReal memory corruption


📈 33.64 Punkte

📌 Spring-integration-zip up to 1.0.0 ZIP Archive directory traversal


📈 33.64 Punkte

📌 Pivotal Spring-integration-zip up to 1.0.1 ZIP Archive directory traversal


📈 33.64 Punkte

📌 zip4j up to 1.3.2 Extraction ZIP Archive Zip-Slip directory traversal


📈 33.64 Punkte

📌 unzipper npm Library up to 0.8.12 Extraction ZIP Archive Zip-Slip directory traversal


📈 33.64 Punkte

📌 QuaZIP up to 0.7.5 Extraction ZIP Archive Zip-Slip directory traversal


📈 33.64 Punkte

matomo