Nagios XI Schwachstelle, die zu einer Eskalation der Zugriffsrechte führt (& mehr)

Während einiger Standard-Recherchen als Teil der Outpost24 Ghost Labs Vulnerability Research Abteilung habe ich vier verschiedene Schwachstellen in Nagios XI (Version 5.11.1 und niedriger) entdeckt. Drei dieser Schwachstellen (CVE-2023-40931, CVE-2023-40933 und CVE-2023-40934) ermöglichen es Anwendern mit unterschiedlichen Berechtigungsstufen, über SQL-Injections auf Datenbankfelder zuzugreifen. Die über diese Schwachstellen erlangten Daten können dazu verwendet werden, die Privilegien im Produkt weiter zu erhöhen und sensible Benutzerdaten wie Passwort-Hashes und API-Tokens zu erhalten.

Die vierte Schwachstelle (CVE-2023-40932) ermöglicht Cross-Site Scripting über die Komponente Custom Logo, die auf jeder Seite, einschließlich der Anmeldeseite, angezeigt wird. Dies kann zum Lesen und Ändern von Seitendaten, wie z. B. Klartextpasswörtern aus Anmeldeformularen, verwendet werden.

Alle diese Schwachstellen wurden mit dem Release 2023.09.11 behoben und es wird empfohlen, auf 5.11.2 oder höher zu aktualisieren.

Was ist Nagios XI?

Nagios XI ist eine beliebte und weit verbreitete kommerzielle Lösung für die IT-Infrastruktur- und Netzwerküberwachung. Es ist die kommerzielle Version der Open-Source-Überwachungsplattform Nagios Core und bietet zusätzliche Funktionen, um die Verwaltung komplexer IT-Umgebungen zu vereinfachen.

Aufgrund der für Nagios XI erforderlichen Zugriffsrechte wird es häufig in High-Privileged-Umgebungen eingesetzt, was es für Angreifer zu einem interessanten Angriffsziel macht.

Die vier Schwachstellen

SQL-Injection im Endpunkt für Banner-Bestätigungen (CVE-2023-40931)

Nagios XI verfügt über „Ankündigungsbanner“, die optional von Benutzern bestätigt werden können. Der Endpunkt für diese Funktion ist anfällig für einen SQL-Injection-Angriff.

Wenn ein Benutzer ein Banner bestätigt, wird eine POST-Anfrage an /nagiosxi/admin/banner_message-ajaxhelper.php gesendet, wobei die POST-Daten aus der beabsichtigten Aktion und der Nachrichten-ID bestehen – action=acknowledge banner message&id=3.

Der ID-Parameter gilt als vertrauenswürdig, kommt aber direkt vom Client ohne Bereinigung. Dies führt zu einer SQL Injection, bei der ein authentifizierter Benutzer mit geringen oder keinen Rechten sensible Daten abrufen kann, z. B. aus den Tabellen „xi_session“ und „xi_users“, die Daten wie E-Mails, Benutzernamen, gehashte Passwörter, API-Token und Backend-Tickets enthalten.

Diese Schwachstelle setzt nicht voraus, dass eine gültige Ankündigungsbanner-ID vorhanden ist, d. h. sie kann von einem Angreifer jederzeit ausgenutzt werden.

SQL-Injection in Host/Service Escalation in CCM (CVE-2023-40934)

Der Core Configuration Manager in Nagios XI ermöglicht es einem authentifizierten Benutzer entsprechenden Rechten, Host-Eskalationen zu verwalten, um beliebige Datenbankabfragen über den Endpunkt /nagiosxi/includes/components/ccm/index.php durchzuführen.

Die Parameter tfFirstNotif, tfLastNotif und tfNotifInterval werden als vertrauenswürdig angesehen, obwohl sie direkt vom Client über eine POST-Anfrage kommen.

Diese Schwachstelle führt zu demselben Zugriff auf die Datenbank wie die anderen SQL-Injection-Schwachstellen, erfordert jedoch im Vergleich zu CVE-2023-40931 zusätzliche Berechtigungen.

SQL-Injection in den Einstellungen des Ankündigungsbanners (CVE-2023-40933)

Nagios XI verfügt über eine administrative Seite für „Announcement Banner“-Einstellungen, die eine SQL-Injection-Schwachstelle im Endpunkt „/nagiosxi/admin/banner message-ajaxhelper.php“ enthält.

Bei der Durchführung der Aktion update_banner_message_settings auf dem betroffenen Endpunkt wird der Parameter id als vertrauenswürdig angenommen und ohne Bereinigung in eine Datenbankabfrage verkettet. Dies ermöglicht es einem Angreifer, die Abfrage zu ändern.

Eine erfolgreiche Exploitation gewährt denselben Datenbankzugriff wie die beiden anderen SQL-Injection-Schwachstellen, erfordert jedoch im Vergleich zu CVE-2023-40931 zusätzliche Berechtigungen.

Cross-Site Scripting in der Custom Logo-Komponente (CVE-2023-40932)

Nagios XI kann mit einem benutzerdefinierten Firmenlogo versehen werden, das im gesamten Produkt angezeigt wird. Dazu gehören die Landing Page, verschiedene administrative Seiten und die Login-Seite.

Aufgrund einer Cross-Site-Scripting-Schwachstelle in dieser Funktion kann ein Angreifer beliebiges JavaScript einspeisen, das im Browser eines beliebigen Benutzers ausgewertet wird. Dies kann zum Lesen und Ändern von Seitendaten sowie zur Ausführung von Aktionen im Namen des betroffenen Benutzers verwendet werden. Da diese Funktion auf der Anmeldeseite angezeigt wird, können außerdem Anmeldedaten im Klartext aus den Browsern der Benutzer gestohlen werden, während diese sie eingeben.

Zeitplan für die Meldung

Wir haben die Sicherheitslücken in Nagios im August 2023 gefunden und gemeldet. Hier ist der weitere Ablauf:

  • 04.08.2023 – Kontaktaufnahme mit dem Anbieter und Übermittlung des Berichts
  • 04.08.2023 – Der Anbieter bestätigt den Bericht und beginnt mit der Überprüfung
  • 2023-08-11 – Der Anbieter bestätigt alle 4 Sicherheitslücken
  • 2023-08-11 – Kontaktaufnahme mit MITRE wegen CVE-Zuweisung
  • 2023-09-01 – CVEs von MITRE reserviert
  • 2923-09-07 – Koordinierte Offenlegung für 2023-09-19
  • 2023-09-11 – Nagios XI 5.11.2 mit Sicherheitsbehebungen veröffentlicht
  • 2023-09-19 – Schwachstellen vollständig offengelegt

Darum sind Sicherheitstests für Anwendungen so wichtig

Bei einem gezielten Angriff lassen sich diese Arten von Schwachstellen relativ leicht ausnutzen. Wie die jüngsten Angriffe gezeigt haben (vor allem der SolarWinds-Hack), sind auch Plattformen für die Verwaltung von IT-Systemen ein mögliches Ziel. Ohne kontinuierliche Tests zur Anwendungssicherheit sind kritische Geschäftsinformationen in Gefahr. Outpost24 bietet Sicherheitslösungen und Pen-Testing-Services mit direktem Zugang zu den Sicherheitsexperten. Testen Sie mit Outpost24 Ihre Anwendungen in Echtzeit auf die neuesten Schwachstellen.

Outpost24 Ghost Labs 

Ghost Labs ist die spezialisierte Sicherheitsabteilung von Outpost24, die fortschrittliche Sicherheitsdienstleistungen wie erweiterte Netzwerk-Penetrationstests, Web-Anwendungstests, Red Teaming-Assessments und komplexe Angriffe anbietet. Darüber hinaus leistet das Ghost Labs-Team einen aktiven Beitrag zur Community mit Schwachstellenforschung und koordinierten Programmen zur verantwortungsvollen Offenlegung von neuen Ergebnissen. 

Ghost Labs führt Hunderte von erfolgreichen Penetrationstests für seine Kunden durch, die von globalen Unternehmen bis hin zu KMU reichen. Unser Team besteht aus hochqualifizierten ethischen Hackern, die ein breites Spektrum an fortschrittlichen Testdienstleistungen abdecken, um Unternehmen dabei zu helfen, mit den sich entwickelnden Bedrohungen und neuen Technologien Schritt zu halten.