Sicherheitslücke durch Speicherbeschädigung im SAP NetWeaver ABAP IGS-Dienst
21. November 2021
Auswirkungen auf die Wirtschaft
Ein nicht authentifizierter Angreifer ohne spezifische Kenntnisse des Systems kann über ein Netzwerk ein speziell manipuliertes Paket senden, das einen internen Fehler im System auslöst, wodurch das System abstürzt und nicht mehr verfügbar ist.Betroffene Komponenten – Beschreibung
SAP IGS ist eine weit verbreitete, serverbasierte Engine zur Generierung grafischer und nicht-grafischer Inhalte auf der Grundlage von Daten aus einem SAP-System oder einem externen System. Ein wesentlicher Bestandteil der Architektur sind verschiedene Interpreter, die für die semantische Verarbeitung der empfangenen Daten zuständig sind. Der geeignete Interpreter wird von einem Portwatcher ausgewählt und hängt von der Art der angeforderten Informationen ab (z. B. Diagramm, Karte, ZIP-Datei). Betroffene Komponenten:- SAP IGS 7.20
- SAP IGS 7.20EXT
- SAP IGS 7.53
- SAP IGS 7.20_EX2
- SAP IGS 7.81
Details zur Sicherheitslücke
CVE-2021-27620: In der Funktion „Ups::AddPart()“ der IGS-Portwatcher-Binärdatei besteht über den SAP-IGS-Dienst ein Lesezugriff außerhalb des zulässigen Bereichs. Die Funktion verwendet einen Teil des Pakets direkt als Zähler in einer MOVS-Anweisung. CVE-2021-27622: Es ist möglich, über den SAP-IGS-Dienst eine unerwünschte Sicherheitslücke durch übermäßige Iteration in CDrawRaster::LoadImageFromMemory in der IGS-Portwatcher-Bibliothek imgconv.so auszulösen. Insbesondere bei Bildanfragen kann die Anzahl der Farbebenen durch die Anzahl der Bits pro Pixel überschrieben werden. Dies führte zu einer übermäßigen Schleife, in der eine movzx-Anweisung schließlich zum Absturz führte. CVE-2021-27624: Eine unerwünschte Sicherheitslücke durch übermäßige Iteration besteht in der Funktion CiXMLIStreamRawBuffer::readRaw in der IGS-Portwatcher-Binärdatei über den SAP-IGS-Dienst. Insbesondere bei bestimmten IGS-Pakettypen wird die Größe der bereitgestellten Eingabe direkt aus dem Paket selbst gelesen. Ein Angreifer kann ein bösartiges Paket erstellen, um die Funktion zu zwingen, außerhalb ihres Speicherbereichs zu lesen. Nach einigen Iterationen, etwa bei 0x5780, stürzte das Programm ab. CVE-2021-27625: In der Funktion CXmlUtility::CheckLength in der IGS-Bibliothek xmlchart.so über den SAP-IGS-Dienst besteht eine Sicherheitslücke durch Speicherbeschädigung. Die Funktion CChartCuParser::Load dereferenziert einen Zeiger aufgrund des hohen Werts, der im igs-Tabelleneintrag für die bereitgestellte Eingabe angegeben ist. Dies führt zu einem hohen Offset-Wert für die nächste Eingabe, was einen Absturz zur Folge hat. CVE-2021-27626: In der Funktion CMiniXMLParser::Parse in der IGS-Portwatcher-Binärdatei besteht über den SAP-IGS-Dienst eine Speicherbeschädigungsschwachstelle. Durch das Erstellen eines bösartigen IGS-Pakets kann der Angreifer eine falsche Größe für den bereitgestellten Eingabeinhalt angeben. Diese Größe wird direkt aus dem IGS-Tabelleneintrag CLWD gelesen und dann als Zähler zum Lesen des Inhaltsteils verwendet. CVE-2021-27627: In der Funktion ChartInterpreter::DoIt() der IGS Portwatcher-Binärdatei besteht über den SAP-IGS-Dienst eine Speicherbeschädigungsschwachstelle. Diese Funktion versäumt es, den Rückgabewert mehrerer strchr()-Aufrufe zu überprüfen, wenn der Inhalt der Parametereingabe für einen bestimmten Interpreter geprüft wird. Durch das Erstellen eines bösartigen Netzwerkpakets kann ein Angreifer die Funktion dazu zwingen, an einer bestimmten Stelle den Wert 0x0 zurückzugeben, was dazu führt, dass die Berechnung des nächsten Parameter-Offsets unterbrochen wird und ein Absturz erfolgt.Lösung
SAP hat den SAP-Hinweis 3021050 veröffentlicht, der gepatchte Versionen der betroffenen Komponenten enthält. Die Patches können heruntergeladen werden unter https://launchpad.support.sap.com/#/notes/3020104. Onapsis empfiehlt SAP-Kunden dringend, die entsprechenden Sicherheitspatches herunterzuladen und auf die betroffenen Komponenten anzuwenden, um Geschäftsrisiken zu minimieren.Zeitachse des Berichts
- 02.01.2021: Onapsis übermittelt Daten an SAP
- 02.04.2021: SAP stellt interne ID bereit
- 08.02.2021: SAP bestätigt CVSS
- 09.06.2021: SAP veröffentlicht einen SAP-Hinweis, der das Problem behebt.
- 21.11.2021: Veröffentlichung der Empfehlung
QUELLENANGABEN
- Onapsis-Blogbeitrag: https://onapsis.com/blog/sap-security-patch-day-june-2021-multiple-memory-corruption-vulnerabilities-can-lead-system
- CVE Mitre: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27620 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27622 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27624 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27625 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27626 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27627
- Hersteller-Patch: https://launchpad.support.sap.com/#/notes/3021050
Hinweise
- Veröffentlichungsdatum: 21.11.2021
- Sicherheitshinweis-ID: ONAPSIS-2021-0019
- ID der gemeldeten Sicherheitslücke: 860, 859, 858, 856, 855, 854, 853
- Forscher: Yvan Genuer
Informationen zur Sicherheitslücke
- Anbieter: SAP
- Schwachstellenklasse: |LS|CWE-20|RS| Unsachgemäße Eingabevalidierung, |LS|CWE-125|RS| Lesezugriff außerhalb des zulässigen Bereichs, |LS|CWE-476|RS| Dereferenzierung eines NULL-Zeigers
- CVSS v3-Wert: 5,9 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
- Schweregrad: Mittel
- CVE: CVE-2021-27620, CVE-2021-27622, CVE-2021-27624, CVE-2021-27625, CVE-2021-27626, CVE-2021-27627
- Informationen zum Hersteller-Patch: SAP-Sicherheitshinweis 3021050
ÜBER UNSERE FORSCHUNGSLABORE Onapsis Research Labs bietet eine Branchenanalyse der wichtigsten Sicherheitsprobleme, die sich auf geschäftskritische Systeme und Anwendungen auswirken. Onapsis Research Labs veröffentlichen regelmäßig aktuelle Sicherheits- und Compliance-Hinweise mit entsprechenden Risikoeinstufungen und Onapsis Research Labs fundiertes Fachwissen und Erfahrung, um der breiteren Informationssicherheits-Community technische und geschäftliche Einblicke mit fundierten Sicherheitsbeurteilungen zu liefern. Alle gemeldeten Sicherheitslücken finden Sie unter https://github.com/Onapsis/vulnerability_advisories Dieser Hinweis unterliegt einer Creative Commons 4.0 BY-ND International-Lizenz
