
Evidencing, details, and Proof-of-Concept for CVE-2025-66850.
In der Anwendung ‚LibreNMS‘ haben wir eine reflektierte Cross-Site-Scripting-Schwachstelle entdeckt; diese Schwachstelle existiert im protocol-Parameter des Routing-Moduls und ermöglicht einem Angreifer, bösartiges JavaScript im Browser eines Opfers auszuführen. Diese Schwachstelle betrifft alle Versionen von 22.9.0 (September 2022) bis einschließlich 24.9.1 (September 2024). Sie wurde in Version 24.10.0 (November 2024) stillschweigend behoben, ohne dass eine anschließende CVE oder öffentliche Offenlegung erfolgte. Diese undokumentierte Korrektur bedeutet, dass viele Organisationen sich ihrer Gefährdung möglicherweise nicht bewusst sind und noch nicht die notwendigen Updates angewendet haben. Sie können den aktuellen Aufbau, mit dem diese Schwachstelle getestet wurde, in der folgenden Abbildung sehen:

Eine reflektierte Cross-Site-Scripting-Schwachstelle ermöglicht es entfernten Angreifern, über speziell gestaltete URLs beliebigen JavaScript-Code in den Browsern authentifizierter LibreNMS-Benutzer zu injizieren – was ihnen potenziell ermöglicht, Sitzungscookies zu stehlen, ein Admin-Backdoor zu erstellen oder Benutzer auf angreiferkontrollierte Domänen umzuleiten. Den Nachweis der XSS sehen Sie in der folgenden Abbildung:

Der Sicherheitsfehler resultiert aus einer unzureichenden Eingabevalidierung im ‚protocol‘-Parameter des ‚/routing‘-Endpunkts. Die Anwendung verwendet eine grundlegende Bereinigung durch das ‚basename()‘-Attribut, was Directory Traversal verhindert, aber führt keine HTML-Entity-Kodierung durch, bevor die Eingabe auf der Seite reflektiert wird – wodurch Angreifer grundlegende Sicherheitskontrollen umgehen und bösartigen Code injizieren können.
Produkt: LibreNMS
Betroffene Versionen: <= 24.9.1
Behobene Version: 24.10.0 (November 5, 2024)
Schwachstellentyp: CWE-79 (Unsachgemäße Neutralisierung von Eingaben während der Webseitengenerierung)
Modul: Routing
Endpunkt: /routing
Parameter: protocol
Datei: includes/html/pages/routing.inc.php
Richten Sie LibreNMS 24.9.1 ein
Navigieren Sie zum Endpunkt ‚/routing/protocol=‘
Fügen Sie die Payload aus dem PoC im folgenden Abschnitt ein
http://[librenms-instance]/routing/protocol=<script>alert(‘SecQuest XSS’)<!-->
Entdeckt von: Joel Olivier, Leo Cook
Organisation: SecQuest
Datum der Entdeckung: November 18, 2025