CVE-2023-7101
Spreadsheet::ParseExcel Remote Code Execution Vulnerability
Beschreibung
CVE-2023-7101 ist eine hochgefährliche Sicherheitslücke im Perl-Modul Spreadsheet::ParseExcel Version 0.65, die durch die unsichere Auswertung von Zahlenformat-Strings aus Excel-Dateien mittels Perls String-Eval-Funktion entsteht und zur Ausführung beliebigen Codes führen kann. Beim Parsen einer manipulierten Excel-Datei können nicht validierte Eingaben in einen String-Eval-Aufruf weitergereicht werden, was es Angreifern ermöglicht, beliebigen Perl-Code auf dem Zielsystem auszuführen. Der CVSS-Score beträgt 7.8 (HIGH), und der EPSS-Score von 83,3% (99,2. Perzentil) belegt eine hohe Ausnutzungswahrscheinlichkeit. Das Modul wird in zahlreichen Anwendungen und Produkten eingesetzt, die Excel-Dateien verarbeiten, darunter Produkte von Debian und Fedora.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| jmcnamara | spreadsheet\ | <= 0.65 |
| debian | debian linux | 10.0 |
| fedoraproject | fedora | 38; 39 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Referenzen
- http://www.openwall.com/lists/oss-security/2023/12/29/4(Mailing List, Patch, Third Party Advisory)
- https://github.com/jmcnamara/spreadsheet-parseexcel/blob/c7298592e102a375d43150cd002feed806557c15/lib/Spreadsheet/ParseExcel/Utility.pm#L171(Product)
- https://github.com/mandiant/Vulnerability-Disclosures/blob/master/2023/MNDT-2023-0019.md(Third Party Advisory)
- https://https://github.com/haile01/perl_spreadsheet_excel_rce_poc(Broken Link, Third Party Advisory)
- https://https://github.com/jmcnamara/spreadsheet-parseexcel/commit/bd3159277e745468e2c553417b35d5d7dc7405bc(Broken Link, Patch)
- https://https://metacpan.org/dist/Spreadsheet-ParseExcel(Broken Link, Product)
- https://https://www.cve.org/CVERecord?id=CVE-2023-7101(Broken Link, Third Party Advisory)
- https://lists.debian.org/debian-lts-announce/2023/12/msg00025.html(Mailing List)
- https://lists.fedoraproject.org/archives/list/[email protected]/message/IFEHKULQRVXHIV7XXK2RGD4VQN6Y4CV5/(Broken Link, Mailing List)
- https://lists.fedoraproject.org/archives/list/[email protected]/message/M2FIWDHRYTAAQLGM6AFOZVM7AFZ4H2ZR/(Broken Link, Mailing List)
- https://security.metacpan.org/2024/02/10/vulnerable-spreadsheet-parsing-modules.html(Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2023-7101(US Government Resource)
Schwachstellentyp
Schwachstellentyp
CVE-2023-7101 basiert auf zwei miteinander verbundenen Schwachstellentypen:
CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code (Eval Injection) – Die Schwachstelle entsteht durch die Verwendung von Perls String-Eval-Funktion mit nicht validierten Eingaben. Benutzerkontrollierte Daten aus Excel-Dateien werden direkt in einen eval-Aufruf eingespeist, was zur Ausführung beliebigen Perl-Codes führt. Weitere Informationen: CWE-95 bei MITRE
CWE-94: Improper Control of Generation of Code (Code Injection) – Ergänzend dazu ermöglicht die fehlende Eingabevalidierung die Injektion und Ausführung von beliebigem Code durch den Angreifer. Weitere Informationen: CWE-94 bei MITRE
Auswirkungsanalyse
Vertraulichkeit (Hoch): Ein erfolgreicher Angriff ermöglicht die vollständige Kompromittierung des betroffenen Systems. Angreifer können auf alle Dateien, Zugangsdaten und sensible Daten zugreifen, auf die der ausführende Prozess Zugriff hat.
Integrität (Hoch): Die Ausführung beliebigen Perl-Codes erlaubt Angreifern, Daten zu manipulieren, Malware zu installieren, Persistenz einzurichten oder Systemkonfigurationen zu verändern.
Verfügbarkeit (Hoch): Angreifer können den Systembetrieb unterbrechen, Daten löschen oder Dienste deaktivieren.
Angriffsvektor (Lokal / Dateibasiert): Die Schwachstelle wird durch das Öffnen einer manipulierten Excel-Datei ausgelöst. Benutzerinteraktion ist erforderlich, da das Opfer die schädliche Datei verarbeiten muss. In Szenarien, wo Excel-Dateien automatisiert verarbeitet werden (z.B. E-Mail-Anhänge, Upload-Portale), kann die Schwachstelle dennoch effektiv aus der Ferne ausgenutzt werden.
Besonderer Kontext: Spreadsheet::ParseExcel wird in vielen Unternehmensanwendungen und Sicherheitsprodukten verwendet. Besonders bekannt wurde die Schwachstelle durch ihren Einsatz gegen Ivanti-Produkte, die das Modul intern verwenden.
Exploit-Reifegrad
CVE-2023-7101 weist einen hohen EPSS-Score von 83,3% auf (99,2. Perzentil), was auf eine sehr hohe Wahrscheinlichkeit aktiver Ausnutzung hinweist. Die Schwachstelle ist im CISA KEV-Katalog gelistet, mit einem Abhilfedatum bis zum 23. Januar 2024. Proof-of-Concept-Exploit-Code wurde von Mandiant und anderen Sicherheitsforschern veröffentlicht. Besonders bedeutsam ist, dass CVE-2023-7101 als Angriffsvektor für weitergehende Angriffe gegen Ivanti-Produkte genutzt wurde, die das verwundbare Perl-Modul einbetten. Die Kombination aus breiter Verbreitung des Moduls, öffentlichem PoC-Code und der Ausnutzung in Ivanti-Produkten macht diese Schwachstelle zu einem besonders attraktiven Angriffsziel.
Behebung
- Spreadsheet::ParseExcel aktualisieren: Das Modul auf die neueste verfügbare Version aktualisieren, sobald ein Patch veröffentlicht wird. Das Abhilfedatum der CISA war der 23. Januar 2024.
- Vendor Advisory prüfen: Die Sicherheitshinweise auf security.metacpan.org sowie die Mitteilungen des Maintainers auf GitHub beachten.
- Systemupdates einspielen: Debian- und Fedora-Pakete (
libspreadsheet-parseexcel-perl) über den Paketmanager auf die neuesten Versionen aktualisieren. - Alternative Bibliotheken evaluieren: Prüfen, ob auf sicherere Excel-Parsing-Bibliotheken umgestellt werden kann, die keine Eval-Auswertung von Dateiinhalten verwenden.
- Eingabevalidierung für Excel-Dateien: Alle Anwendungen, die Excel-Dateien entgegennehmen, mit strengen Validierungsmaßnahmen absichern und nur Dateien aus vertrauenswürdigen Quellen verarbeiten.
- Betroffene Produkte identifizieren: Alle eingesetzten Produkte prüfen, die Spreadsheet::ParseExcel intern verwenden (z.B. Ivanti-Produkte), und entsprechende Patches der jeweiligen Hersteller einspielen.
- Monitoring und Incident Response: Logs auf ungewöhnliche Aktivitäten beim Excel-Parsing prüfen und Incident-Response-Prozesse für den Fall einer bereits erfolgten Ausnutzung bereithalten.
Technische Details
CVE-2023-7101 betrifft die Funktion Spreadsheet::ParseExcel::Utility in Version 0.65 des gleichnamigen Perl-Moduls. Der Fehler liegt in der Auswertung von Zahlenformat-Strings (Number Format Strings) innerhalb der Excel-Parsing-Logik. Diese Format-Strings sind Teil der Excel-Dateistruktur und kontrollieren die Darstellung von Zahlen (z.B. Datum, Währung).
Angriffsmechanismus: Bei der Verarbeitung einer Excel-Datei extrahiert das Modul Zahlenformat-Strings aus der Datei und wertet diese mit Perls eval-Funktion aus (Zeile 171 in Spreadsheet/ParseExcel/Utility.pm). Da diese Strings nicht ausreichend validiert werden, kann ein Angreifer beliebigen Perl-Code in die Excel-Datei einbetten, der beim Parsing automatisch ausgeführt wird.
Betroffene Komponente: Spreadsheet::ParseExcel::Utility, Funktion zur Zahlenformatierung, String-Eval-Aufruf ohne Eingabebereinigung.
CVSS 3.1 Metriken: Attack Vector Local (Dateibasiert), Attack Complexity Low, Privileges Required None, User Interaction Required, Scope Unchanged, C/I/A je High – Score 7.8 (HIGH).
Breite Auswirkung: Neben dem Perl-Modul selbst sind alle Anwendungen betroffen, die es als Abhängigkeit verwenden. Die Entdeckung durch Mandiant im Kontext von Ivanti-Angriffen zeigt, dass Bibliotheksschwachstellen erhebliche Auswirkungen auf scheinbar unbetroffene Produkte haben können.
Häufig gestellte Fragen
Wird CVE-2023-7101 aktiv ausgenutzt?
Ja, CVE-2023-7101 wird aktiv ausgenutzt und ist im CISA Known Exploited Vulnerabilities (KEV)-Katalog gelistet. Mit einem EPSS-Score von 83,3% (99,2. Perzentil) ist eine sehr hohe Ausnutzungswahrscheinlichkeit dokumentiert. Die Schwachstelle wurde unter anderem in Angriffen gegen Ivanti-Produkte eingesetzt, die das verwundbare Perl-Modul intern verwenden.
Welche Produkte sind von CVE-2023-7101 betroffen?
CVE-2023-7101 betrifft das Perl-Modul Spreadsheet::ParseExcel in Version 0.65 sowie alle Anwendungen, die dieses Modul als Abhängigkeit verwenden. Betroffen sind auch Debian Linux und Fedora in Versionen, die das Modul als Systempaket bereitstellen. Alle Anwendungen, die Excel-Dateien mit diesem Modul parsen, sind potenziell gefährdet.
Wie behebe ich CVE-2023-7101?
Um CVE-2023-7101 zu beheben, sollte das Perl-Modul Spreadsheet::ParseExcel auf die neueste gepatchte Version aktualisiert werden (über CPAN oder den Systempaketmanager). Debian- und Fedora-Nutzer sollten Systempakete aktualisieren. Außerdem müssen alle Produkte, die das Modul einbetten (z.B. Ivanti-Produkte), durch die jeweiligen Hersteller-Patches aktualisiert werden.
Wie schwerwiegend ist CVE-2023-7101?
CVE-2023-7101 hat einen CVSS 3.1 Score von 7.8 (HIGH). Die Schwachstelle ermöglicht die Ausführung beliebigen Codes durch das Parsen einer manipulierten Excel-Datei, mit vollständiger Kompromittierung von Vertraulichkeit, Integrität und Verfügbarkeit. Der EPSS-Score von 83,3% (99,2. Perzentil) und die Aufnahme in den CISA KEV-Katalog unterstreichen die erhebliche Bedrohungslage.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.