Menü
Avatar von goeste
  • goeste

mehr als 1000 Beiträge seit 09.09.2003

Remote Code Execution in einer Library ohne Netzwerkzugriff?

Ich weiß - es steht so im CVE:

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.

Die Frage ist jedoch, ob man einen Fehler in einer Softwarebibliothek als 'potentially resulting in remote code execution' werten darf, wenn diese Bibliothek selbst gar keinen Netzwerkzugriff beinhaltet.

Um diesen Fehler in der genannten Weise ausnutzen zu können muss schon ein netzwerkfähiges Programm die libsqlite einbinden (oder das sqlite Kommando aufrufen), dort SQL-Befehle ausführen lassen, die aus dem Netzwerkverkehr zusammengebaut wurden und deren Syntax nicht gecheckt wurde.

Das wäre aber in vielen Fällen auch ohne einen Bug in libsqlite eine extrem riskante Angelegenheit. Je nachdem welche Erweiterungen geladen sind, kann sqlite auch beliebige Dateien per SQL-Kommando lesen oder schreiben. Man muss sich als Entwickler einfach klar machen, dass sqlite ein sehr mächtiges Werkzeug ist, dessen Kontrolle man auf keinen Fall dem Benutzer einer Webseite o.ä. öffnen darf. Eine benutzerorientierte Autorisierung kennt sqlite nicht.
Will man eine Datenbankapplikation schreiben, die auch SQL-Abfragen der Benutzer verarbeiten soll, dann muss man einen ordentlichen SQL-Server nehmen und jedem Benutzer genau die Rechte einräumen, die er benötigt.

Bewerten
- +
Anzeige