Worum es geht
Im Admin-Bereich von OpenAtlas 8.11.0 war eine SQL-Konsole erreichbar, über die privilegierte Benutzer sehr weitreichende Datenbankbefehle ausführen konnten. Öffentliche CVE-Datenbanken bezeichnen das Finding als SQL Injection; mein ursprüngliches Finding bezog sich auf die unbeschränkte SQL-Funktion im Admin-UI.
Was ich gefunden habe
Bei diesem Finding ist die Bezeichnung wichtig. Beobachtet habe ich eine SQL-Konsole im Admin-Interface, die direkte und weitreichende SQL-Ausführung erlaubte.
Damit kann die Kompromittierung eines privilegierten Anwendungskontos direkt auf die Datenbankschicht durchschlagen. Je nach Rechten betrifft das Vertraulichkeit, Integrität und Verfügbarkeit der Daten.
Öffentliche CVE-Datenbanken führen das Finding als SQL Injection; auch die CISA/NVD-Klassifizierung wurde später geändert. Ich trenne hier deshalb bewusst die beobachtete Funktion von der externen Taxonomie.
Warum das relevant ist
Für die direkte Nutzung sind hohe Anwendungsrechte nötig. Wird aber ein solches Konto kompromittiert, vergrößert die SQL-Konsole den Schaden erheblich, weil Datenbankoperationen nicht mehr auf normale Anwendungsfunktionen begrenzt sind.
Mögliche Auswirkung
- Beliebige SQL-Statements können aus dem Admin-UI ausgeführt werden (hohes Risiko für Datenintegrität und Verfügbarkeit).
Behebung
- Auf OpenAtlas 8.12.0 oder eine neuere Version aktualisieren.
- Generische SQL-Ausführung aus produktiven Web-Oberflächen entfernen.
- Datenbankkonten der Webanwendung auf die tatsächlich benötigten Operationen beschränken.
- Administrative Funktionen getrennt absichern und Änderungen an Datenbank oder Schema nachvollziehbar protokollieren.