Verwirrung um SQLite-Schwachstelle

Ältere Versionen von SQLite vor Version 3.28.0 enthalten eine Schwachstelle, die sich aber wohl nur unter Windows auswirkt. Zudem ist die Ausnutzung der Schwachstelle fraglich.


Anzeige

SQLite ist eine gemeinfreie Programmbibliothek, die ein relationales Datenbanksystem enthält. Die SQLite-Bibliothek lässt sich direkt in entsprechende Anwendungen integrieren, sodass keine weitere Server-Software benötigt wird. Im April 2019 wurde SQLite in Version 3.28.0 freigegeben.

Talos findet Schwachstelle

Im Talos-Report TALOS-2019-0777  berichten die Sicherheitsforscher von Talos über eine Schwachstelle, die sie in älteren Versionen der SQLite-Programmbibliothek gefunden haben. Es handelt sich um eine Sqlite3 Window Function Remote Code Execution Vulnerability, der die CVE-2019-5018-Nummer zugewiesen wurde.  Die Forscher schreiben:

An exploitable use after free vulnerability exists in the window function functionality of Sqlite3 3.26.0. A specially crafted SQL command can cause a use after free vulnerability, potentially resulting in remote code execution. An attacker can send a malicious SQL command to trigger this vulnerability.

Durch ein speziell gestaltetes Kommando kann also eine Use after free-Schwachstelle ausgenutzt werden, die eine Remote-Code-Ausführung ermöglicht. Das betrifft die SQLite Versionen 3.26.0 und 3.27.0 und Talos stuft die Schwachstelle mit dem Wert 8.1 von 10 ein.

Klingt erst einmal dramatisch, da die SQLite-Bibliothek gerne von App-Entwicklern, die Anwendungen für Mobilgeräte erstellen, verwendet und in Produkte eingebettet wird. Heise, die diesen Artikel zum Thema publiziert haben, empfehlen, nach entsprechenden Anwendungs- bzw. App-Updates Ausschau zu halten. Denn ein Endbenutzer kann nichts tun, ist die SQLite-Bibliothek doch Bestandteil der Software (App oder Anwendung).

Alles halb so wild!

An dieser Stelle möchte ich für Endanwender Entwarnung geben, ihr könnt eh nichts tun, wie ich im obigen Abschnitt bereits schrieb. Zudem ist die Gefährdungslage sehr differenziert zu sehen. Die SQLite-Bibliothek besitzt ja in der Regel keine Netzwerk-Anbindung. Eine Remote-Code-Execution per Internet ist für die reine Bibliothek also nicht gegeben. Nur wenn eine Anwendung per Internet SQL-Befehle akzeptiert und an die SQLite-Bibliothek weiterreichen würde, wäre eine Remote-Code-Execution möglich. Auf diesen Sachverhalt wird hier aufmerksam gemacht. Ob diese Fälle auftreten, können nur die Entwickler der Software, die auf SQLite aufsetzt, beantworten.

Sehr alte SQLite-Versionen vor 3.25.0 sind eh nicht betroffen, da in dieser Version erst die ‘window’-Funktion eingeführt wurde (siehe). Die Schwachstelle wird aber erst durch diese Funktion ausnutzbar. Entwickler, die also die SQLite-Bibliothek eingesetzt haben, sollten diesen Sachverhalt prüfen (siehe auch diesen Kommentar).


Anzeige

Dieser Beitrag wurde unter Sicherheit abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.