
Sicherheitshinweis zur TOTOLINK a720r Pufferüberlauf-Schwachstelle
Hersteller: TOTOLINK
Website des Herstellers: TOTOLINK
Modell: A720R
Firmware-Version: V4.1.5cu.630_B20250509
Download-Adresse der Firmware: TOTOLINK
CVSS v4.0 Basiswert: 9.4 (Kritisch)
Vektor: CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:P
In der Firmware-Binärdatei cstecgi.cgi existiert ein stackbasierter Pufferüberlauf, der es einem authentifizierten Administrator ermöglicht, die Kontrollflusssteuerung des Prozesses zu übernehmen und vorhandene Codepfade innerhalb der Binärdatei auszuführen. Die Schwachstelle kann ausgelöst werden, indem eine manipulierte Anfrage an den Handler setMacFilterRules gesendet wird, die einen übermäßig langen Wert eines desc-Parameters enthält. Dieser wird über strcpy() ohne jegliche Grenzprüfung in einen Stack-Puffer fester Größe kopiert und überschreibt dabei die gespeicherte Rücksprungadresse.

Der verwundbare Code befindet sich in der Binärdatei cstecgi.cgi, wo der übergebene Wert von desc ohne Längenvalidierung in einen Stack-Puffer kopiert wird, wodurch die gespeicherte Rücksprungadresse überschrieben und der Kontrollfluss des Programms umgeleitet werden kann. Da die Binärdatei ohne Stack-Canaries und ohne PIE kompiliert wurde, bleibt der Überlauf unentdeckt und die Ausführung kann zuverlässig auf Code an festen Adressen innerhalb der Binärdatei umgeleitet werden.


Durch das Überschreiben der gespeicherten Rücksprungadresse wurde der Kontrollfluss auf vorhandene Funktionen innerhalb der Binärdatei umgeleitet. Dies wurde demonstriert, indem ein sleep(2)-Aufruf ausgelöst wurde (was eine zuverlässige Kontrolle des Instruktionszeigers durch eine messbare Verzögerung in der Antwort des Geräts bestätigt), die System-Neustartroutine, die Sitzungs-Abmeldefunktion und die Routine zum Löschen der Protokolle.


Der Kontrollfluss wurde weiter auf die Routine umgeleitet, die für den Start des Telnet-Dienstes verantwortlich ist, wodurch Telnet auf dem Gerät aktiviert wurde.

Infolgedessen kann ein authentifizierter Angreifer mit Netzwerkzugriff auf das Zielgerät den Ausführungsfluss des Prozesses cstecgi.cgi übernehmen und beliebige Codepfade innerhalb der Binärdatei ausführen, wodurch die Vertraulichkeit, Integrität und Verfügbarkeit des Geräts kompromittiert werden.
Diese Schwachstellen wurden von Nicola Giuffrida gemeldet.