Erfahren Sie mehr über Benny Czarnys Buch „Cybersecurity Upside Down“

Mehr erfahren
Wir verwenden künstliche Intelligenz für Website-Übersetzungen, und obwohl wir uns um Genauigkeit bemühen, kann es sein, dass sie nicht immer 100%ig präzise sind. Wir danken Ihnen für Ihr Verständnis.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Von OPSWAT
Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core
Teilnehmer des OPSWAT

Der rasante technologische Fortschritt hat zu einer hohen Nachfrage nach qualifizierten Entwicklern geführt. Open-Source-Software (OSS) ist für diese wachsende Fachkräftegruppe zu einem unverzichtbaren Werkzeug geworden. Mittlerweile gibt es Hunderttausende etablierter OSS-Pakete in verschiedenen Programmiersprachen. Über 90 % der Entwickler nutzen diese Open-Source-Komponenten in ihren proprietären Anwendungen, was die Effizienz und den Mehrwert von OSS unterstreicht. Die Bedeutung von OSS wird durch die Prognose unterstrichen, dass der weltweite OSS-Markt bis 2030 ein Volumen von 80,7 Milliarden US-Dollar erreichen wird, was einer prognostizierten jährlichen Wachstumsrate von 16,7 % entspricht.

Die weit verbreitete Einführung von OSS bringt jedoch auch eine neue Ebene der Komplexität mit sich: Sicherheitslücken. Die riesige Anzahl miteinander verbundener OSS-Komponenten schafft eine größere Angriffsfläche für böswillige Akteure, die sie ausnutzen können. Die Verwaltung von Abhängigkeiten zwischen verschiedenen OSS-Paketen kann komplex sein, was es schwierig macht, Schwachstellen rechtzeitig zu erkennen und zu beheben. Außerdem hängt die Sicherheit von OSS oft von der Wachsamkeit und den Beiträgen der Entwicklergemeinschaft ab. Dies kann zu Verzögerungen bei der Behebung von Schwachstellen führen, insbesondere bei weniger populären Projekten.

In diesem Artikel untersuchen die OPSWAT Graduate Fellows CVE-2023-33733, eine Sicherheitslücke, die in der beliebten Open-Source-Bibliothek ReportLab entdeckt wurde. Ihre Analyse ist mit einem simulierten Angriff gekoppelt, der den MetaDefender Core mit seiner Software Bill of Materials (SBOM) Fähigkeiten, um Schwachstellen in den Abhängigkeiten einer Anwendung zu identifizieren, einschließlich der verwundbaren ReportLab-Bibliothek.

Reportlab Bibliothek Einführung

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

ReportLab, eine leistungsstarke und quelloffene Python-Bibliothek, ermöglicht es Anwendern, funktionsreiche PDFs aus Python-Code zu erzeugen. Sie bietet Entwicklern eine überzeugende Kombination: Flexibilität, Benutzerfreundlichkeit und umfangreiche Anpassungsoptionen für die Erstellung dynamischer Dokumente. Die Bibliothek gibt Entwicklern eine erweiterte Kontrolle über ihre PDFs und ermöglicht die präzise Einbindung von Text, Bildern, Tabellen und Diagrammen mit äußerster Präzision. Diese Anpassungsmöglichkeiten machen ReportLab zu einem wertvollen Werkzeug für die Erstellung dynamischer Dokumente wie Rechnungen und datengesteuerte Berichte.

CVE-2023-33733 Hintergrund

CVE-2023-33733 weist auf eine Sicherheitslücke innerhalb der ReportLab-Bibliothek hin, die sich auf mehrere Versionen der ReportLab-Bibliothek auswirkt.

  • ReportLab-Versionen vor Version 3.6.13 wurden als anfällig für die Umgehung der Sandbox befunden, insbesondere innerhalb der rl_safe_eval' Funktion. Die Ausnutzung erfolgte über das Farbattribut von HTML-Tags, das direkt als Python-Ausdruck mit der Funktion eval() Funktion, was letztendlich zur Remotecodeausführung führt.
  • Die NVD-Analysten haben CVE-2023-33733 einen CVSS-Score von 7,8 HIGH zugewiesen.
Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Analyse der ReportLab-Sicherheitsschwachstelle

OPSWAT Graduate Fellows führten eine tiefgreifende Analyse des ReportLab-Workflows durch und identifizierten die Ursache für die Sicherheitslücke CVE-2023-33733.

Der Arbeitsablauf der ReportLab-Bibliothek

ReportLab ermöglicht es Entwicklern, PDFs effizient zu erstellen. Die Bibliothek ermöglicht eine mühelose Integration: Importieren Sie die Bibliothek, definieren Sie den HTML-Inhalt und erzeugen Sie das PDF in einer einzigen Codezeile mit der Ergebnisfunktion.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Unsere Stipendiaten haben einen 5-Schritte-Prozess für die Erstellung von PDFs aus HTML mit ReportLab aufgedeckt.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Innerhalb des 5-stufigen Prozesses zur Erstellung von PDFs aus HTML mit ReportLab stechen drei Hauptprozesse hervor: die Absatzverarbeitung, die Paraparser-Verarbeitung und der HTML-Verarbeitungsprozess.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Wie in der obigen Abbildung dargestellt, verwendet der HTML-Verarbeitungsprozess in ReportLab die eval() Funktion speziell auf das Farbattribut. Als Brennpunkt für die Ausführung von bösartigem Code dient die eval() Funktion veranlasst Forscher dazu, die Kontrolle über die Eingabe zu erlangen, um die Anwendung auszunutzen. Dies ist jedoch eine Herausforderung aufgrund der Sandbox, die durch die __rl_safe_eval__ Funktion innerhalb von ReportLab.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Sicherheitsschwachstelle in der ReportLab-Analyse

ReportLab hat eine Sandbox namens __rl_safe_eval__. Diese Sandbox schließt alle eingebauten Python-Funktionen aus und enthält mehrere überschriebene eingebaute Funktionen. Diese Einschränkung ermöglicht die Ausführung von sicherem Code innerhalb der Bibliothek und verhindert gleichzeitig den Zugriff auf gefährliche Funktionen und Bibliotheken, die für bösartige Zwecke (z. B. Dateisystemzugriff, Netzwerkkommunikation) verwendet werden könnten.

Die rl_safe_eval Sandbox-Funktion implementiert verschiedene Bedingungen, um sicherzustellen, dass das aufgerufene Attribut sicher ist, bevor es die in Python eingebaute getattr() Funktion abrufen und das Ergebnis zurückgeben.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Die safe eval-Funktion soll die Umgebung schützen, indem sie gefährliche Funktionen ausschließt und bösartige Aktionen verhindert. Wenn jedoch ein Weg gefunden wird, ihre Bedingungen zu umgehen und auf eine leistungsstarke integrierte Funktion zuzugreifen, könnte dies ausgenutzt werden.

Aufbauend auf dieser Idee versuchten die Sicherheitsforscher, die Einschränkungen zu umgehen. Zunächst nutzten sie die Objektinjektion unter Verwendung des Typ() Funktion, um ein Objekt zu konstruieren und seine Attribute und Methoden neu zu definieren, um die Prüfungen in __rl_safe_eval__. Da die ReportLab-Bibliothek zudem integrierte Funktionen überschreibt und sie als globale Variablen in den eval-Kontext einfügt, könnte der Forscher diese Implementierung nutzen, um auf eine der ursprünglichen integrierten Funktionen zuzugreifen. Dies könnte es ihm ermöglichen, die Sandbox-Umgebung zu umgehen und bösartigen Code auszuführen.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Die Nutzlast wird wie folgt vorbereitet:

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Dennoch ist die Ausführung eines mehrzeiligen Ausdrucks in einem eval-Kontext nicht möglich. Es kann jedoch ein Trick zum Verstehen von Listen verwendet werden, und die Nutzlast zur Ausnutzung dieser CVE ist wie folgt:

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

ReportLab Verwertungssimulation

Forscher haben einen Proof of Concept (POC) für CVE-2023-33733 veröffentlicht, der zeigt, dass Anwendungen, die mit anfälligen Versionen von ReportLab erstellt wurden, anfällig für Cyberangriffe sein könnten. Um diese potenzielle Bedrohung zu bewerten, führten OSPWAT Graduate Fellows einen simulierten Angriff auf eine Webanwendung durch. Sie nutzten MetaDefender Core mit SBOM-Funktionen, um die Sicherheitsschwachstellen in den Software-Abhängigkeiten der Anwendung zu identifizieren, einschließlich der betroffenen ReportLab-Bibliothek.

Simulieren Sie die Sicherheitsschwachstelle

Um diese Ausnutzung als reales Szenario zu simulieren, entwickelten OPSWAT eine Webanwendung mit Python und der verwundbaren Version der ReportLab-Bibliothek. Diese Anwendung ahmt einen typischen Anwendungsfall nach: Benutzer können eine HTML-Datei hochladen und sie in eine PDF-Datei umwandeln.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Ein Angreifer könnte eine bösartige HTML-Datei erstellen, die Code enthält, der dazu bestimmt ist, Folgendes auszunutzen 33733. Dieser Code könnte die Sandbox umgehen und den Webserver kompromittieren, indem er eine Reverse Shell über die eval() Funktion.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Ein erfolgreicher Upload einer bösartigen Datei würde es dem Angreifer ermöglichen, aufgrund der Sicherheitslücke in der veralteten ReportLab-Bibliothek die Kontrolle über den Anwendungsserver zu übernehmen.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core
Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Die Bedeutung von SBOM und proaktiver Sicherheit

Die Forschung der OPSWAT Graduate Fellows zu CVE-2023-33733 unterstreicht die potenziellen Sicherheitsrisiken im Zusammenhang mit OSS. Während OSS unbestreitbare Vorteile in Bezug auf die Entwicklungseffizienz und Kosteneffizienz bietet, können Schwachstellen wie die in ReportLab gefundenen Organisationen Cyberangriffen ausgesetzt sein.

OPSWAT SBOM

OPSWAT SBOM sichert die Software-Lieferkette durch die Bereitstellung eines umfassenden Komponenteninventars für Quellcode und Container. Es unterstützt mehr als 10 Sprachen, darunter Java, JavaScript, Go, PHP und Python, mehr als 5 Millionen Open-Source-Softwarekomponenten von Drittanbietern und nutzt eine Datenbank mit mehr als 17.000 Schwachstellen, die von der National Vulnerability Database (NVD) und GitHub (GHSA) stammen.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

OPSWAT MetaDefender Core, mit seinen integrierten SBOM-Fähigkeiten, ermöglicht es Unternehmen, diese Risiken proaktiv anzugehen. MetaDefender Core scannt Softwareanwendungen und Abhängigkeiten und identifiziert das Vorhandensein von bekannten Schwachstellen wie CVE-2023-33733 innerhalb der aufgelisteten Komponenten. Dies ermöglicht es Entwicklern und Sicherheitsteams, Patches zu priorisieren und Sicherheitsrisiken zu minimieren, bevor sie ausgenutzt werden können.

Analysieren der Sicherheitsanfälligkeit CVE-2023-33733 mit MetaDefender Core

Abschließende Überlegungen

Die Forschung der OPSWAT Graduate Fellows über die ReportLab-Schwachstelle (CVE-2023-33733) dient als wertvolle Erinnerung an die Bedeutung proaktiver Sicherheitsmaßnahmen im Softwareentwicklungszyklus. Durch den Einsatz von Tools wie OPSWAT MetaDefender Core können Unternehmen entscheidende Einblicke in ihre Software-Abhängigkeiten gewinnen und potenzielle Schwachstellen identifizieren, bevor sie von Angreifern ausgenutzt werden.

Darüber hinaus bietet OPSWAT eine umfassende Palette an Cybersicherheitslösungen, die über das Scannen nach Schwachstellen hinausgehen. Diese Lösungen ermöglichen die Erkennung von Bedrohungen in Echtzeit, gewährleisten Datensicherheit und bieten Endgeräteschutz, wodurch Unternehmen vor einer Vielzahl von Cyberbedrohungen geschützt werden. Durch die Umsetzung eines mehrschichtigen Sicherheitsansatzes, der Tools wie MetaDefender Core umfasst, können Unternehmen die Vorteile von OSS nutzen und gleichzeitig die damit verbundenen Sicherheitsrisiken minimieren.

Bleiben Sie auf dem Laufenden mit OPSWAT!

Melden Sie sich noch heute an, um die neuesten Unternehmensnachrichten, Berichte, Veranstaltungshinweise und vieles mehr zu erhalten.