CVE-2018-20062
ThinkPHP "noneCms" Remote Code Execution Vulnerability
Beschreibung
CVE-2018-20062 ist eine kritische Remote-Code-Execution-Schwachstelle in NoneCms V1.3, das auf dem ThinkPHP-Framework basiert. Die Datei thinkphp/library/think/App.php ermöglicht es entfernten Angreifern, beliebigen PHP-Code über die manipulierte Verwendung des filter-Parameters auszuführen, was eine vollständige Serverkompromittierung ohne Authentifizierung ermöglicht. Die Schwachstelle kann über einen speziell gestalteten Query-String ausgelöst werden, der auf den ThinkPHP-Request-Handling-Mechanismus abzielt. CISA hat CVE-2018-20062 in den Katalog der bekannten ausgenutzten Schwachstellen aufgenommen, und der EPSS-Score von 94,3 % (99,9. Perzentil) weist auf nahezu sichere aktive Ausnutzung hin.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| 5none | nonecms | 1.3.0 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Referenzen
- http://packetstormsecurity.com/files/157218/ThinkPHP-5.0.23-Remote-Code-Execution.html(Exploit, Third Party Advisory, VDB Entry)
- https://github.com/nangge/noneCms/issues/21(Exploit, Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2018-20062(US Government Resource)
Schwachstellentyp
CVE-2018-20062 hat keine spezifische CWE-Klassifizierung in der NVD-Datenbank zugewiesen. Die Schwachstelle ist jedoch ein Remote-Code-Execution-Fehler, der auf unzureichender Eingabevalidierung im Request-Handling des ThinkPHP-Frameworks beruht. Der filter-Parameter wird direkt an PHP-Ausführungsfunktionen übergeben, ohne ausreichende Bereinigung, was es Angreifern ermöglicht, beliebigen PHP-Code auf dem Server einzuschleusen und auszuführen.
Auswirkungsanalyse
CVE-2018-20062 hat einen CVSS-3.1-Score von 9,8 (CRITICAL) und stellt damit die höchste Schweregrad-Stufe dar. Die Schwachstelle ist über das Netzwerk aus der Ferne ausnutzbar, weist eine geringe Angriffskomplexität auf, erfordert keine Authentifizierung und keine Benutzerinteraktion – sie ist damit für jeden entfernten Angreifer trivial ausnutzbar. Vertraulichkeit (Hoch): Beliebige PHP-Code-Ausführung gewährt vollen Zugriff auf alle Anwendungsdaten, Datenbankinhalte, Konfigurationsdateien einschließlich Zugangsdaten und potenziell das gesamte Server-Dateisystem. Integrität (Hoch): Angreifer können Anwendungscode modifizieren, Backdoors einschleusen, Datenbankeinträge ändern und Websites verändern. Verfügbarkeit (Hoch): Vollständige Dienst-Unterbrechung ist durch Code-Ausführung möglich, die Prozesse beendet, Daten korrumpiert oder Ransomware einsetzt. Mit einem EPSS-Score von 94,3 % (99,9. Perzentil) gehört diese Schwachstelle zu den am häufigsten angegriffenen in der gesamten CVE-Datenbank, und Organisationen, die NoneCms oder ThinkPHP-basierte Anwendungen betreiben, sollten dies als kritische, aktive Bedrohung behandeln.
Exploit-Reifegrad
CVE-2018-20062 wird durch die Aufnahme in den CISA-Katalog bekannter ausgenutzter Schwachstellen als aktiv ausgenutzt bestätigt. Öffentlicher Exploit-Code ist verfügbar für CVE-2018-20062 über Packet Storm Security, und eine detaillierte Exploit-Analyse ist im NoneCms-GitHub-Issue-Tracker dokumentiert. Der EPSS-Score von 94,3 % (99,9. Perzentil) weist auf nahezu sichere Ausnutzungsaktivitäten hin und platziert diese Schwachstelle unter den am häufigsten ausgenutzten aller bekannten CVEs. ThinkPHP-basierte Anwendungen werden weitläufig von automatisierten Scan-Kampagnen und Botnet-Betreibern angegriffen, die Webserver kompromittieren wollen. Bundesbehörden waren verpflichtet, bis zum 03.05.2022 gemäß der CISA-Richtlinie zu beheben.
Behebung
- Updates sofort einspielen gemäß CISA-KEV-Anforderung: Updates gemäß Herstelleranweisungen anwenden. NoneCms über Version 1.3 hinaus aktualisieren und das zugrunde liegende ThinkPHP-Framework auf eine Version aktualisieren, die die filter-Parameter-Code-Injection-Schwachstelle behebt.
- Web Application Firewall (WAF) einsetzen: WAF-Regeln konfigurieren, um Anfragen mit verdächtigen filter-Parameterwerten zu erkennen und zu blockieren, insbesondere solche, die PHP-Funktionsausführung (z. B. phpinfo, system, exec, passthru) in Query-String-Parametern versuchen.
- Zugriff auf die Anwendung einschränken: IP-basierte Zugriffskontrollen implementieren, um zu begrenzen, wer die Webanwendung erreichen kann, und unnötige öffentlich zugängliche ThinkPHP-Debug- oder Diagnose-Endpunkte deaktivieren.
- Auf vorherige Kompromittierung prüfen: Webserver-Zugriffsprotokolle auf Anfragen mit dem Exploit-Muster (z. B. „s=index/\think\Request/input&filter=“) prüfen, um festzustellen, ob die Schwachstelle vor dem Patchen ausgenutzt wurde. Auf unbefugte PHP-Dateien, Web-Shells oder modifizierten Anwendungscode prüfen.
- Defense-in-Depth für PHP-Anwendungen implementieren: Gefährliche PHP-Funktionen (system, exec, passthru, shell_exec, eval) in der php.ini deaktivieren, wo sie nicht benötigt werden, open_basedir-Einschränkungen aktivieren und die Anwendung mit minimalen Dateisystem-Berechtigungen ausführen.
Technische Details
CVE-2018-20062 ist eine Remote-Code-Execution-Schwachstelle in NoneCms V1.3, konkret in der Datei thinkphp/library/think/App.php des zugrunde liegenden ThinkPHP-Frameworks. Die Schwachstelle nutzt den Request-Handling-Mechanismus des Frameworks aus, bei dem der filter-Parameter als Callback-Funktion verwendet wird, die auf Benutzereingaben angewendet wird. Ein Angreifer kann einen bösartigen Query-String wie „s=index/\think\Request/input&filter=phpinfo&data=1“ erstellen, um beliebige PHP-Funktionen mit angreiferkontrollierten Argumenten aufzurufen. Der CVSS-Vektor (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) bestätigt, dass der Angriff netzwerkbasiert ist, keine Berechtigungen oder Benutzerinteraktion erfordert und eine geringe Komplexität aufweist. Durch die Verkettung des ThinkPHP-Request-Routings mit dem Filter-Callback-Mechanismus umgeht ein Angreifer die normale Anwendungslogik und erhält direkten Zugang zu PHPs Funktionsausführungsmöglichkeiten, was die Ausführung von Systembefehlen, Dateioperationen oder beliebigem PHP-Code auf dem Server ermöglicht.
Häufig gestellte Fragen
Wird CVE-2018-20062 aktiv ausgenutzt?
Ja. CVE-2018-20062 ist im CISA-Katalog bekannter ausgenutzter Schwachstellen gelistet, was eine aktive Ausnutzung bestätigt. Der EPSS-Score von 94,3 % (99,9. Perzentil) platziert die Schwachstelle unter den am häufigsten ausgenutzten weltweit. Öffentlicher Exploit-Code und Proof-of-Concept-Demonstrationen sind frei verfügbar.
Welche Produkte sind von CVE-2018-20062 betroffen?
CVE-2018-20062 betrifft direkt NoneCms Version 1.3, das auf dem ThinkPHP-Framework basiert. Jede Anwendung, die eine verwundbare Version von ThinkPHP (insbesondere das think/App.php Request-Handling) verwendet, kann ebenfalls für diese Remote-Code-Execution-Schwachstelle anfällig sein.
Wie behebe ich CVE-2018-20062?
Aktualisieren Sie NoneCms und das zugrunde liegende ThinkPHP-Framework auf gepatchte Versionen. Setzen Sie WAF-Regeln ein, um Exploit-Versuche über den filter-Parameter zu blockieren. Prüfen Sie Ihren Server auf Anzeichen einer vorherigen Kompromittierung und deaktivieren Sie gefährliche PHP-Funktionen in Ihrer php.ini-Konfiguration.
Wie schwerwiegend ist CVE-2018-20062?
CVE-2018-20062 hat einen CVSS-3.1-Score von 9,8 (CRITICAL), die höchste Schweregrad-Einstufung. Die Schwachstelle ermöglicht nicht authentifizierte Remote-Code-Ausführung ohne Benutzerinteraktion und damit eine vollständige Serverkompromittierung. Die nahezu sichere Ausnutzungswahrscheinlichkeit (EPSS 94,3 %) macht eine sofortige Behebung unerlässlich.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.