
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 Basis-Score: 8.7 (Hoch)
Vektor: CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
In der Firmware-Binärdatei cstecgi.cgi existiert ein stack-basierter Pufferüberlauf, der es einem authentifizierten Administrator ermöglicht, den Kontrollfluss 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 setMacFilterRules-Handler gesendet wird, die einen übermäßig langen Wert eines desc-Parameters enthält, der über strcpy() ohne jegliche Grenzprüfung in einen Stack-Puffer fester Größe kopiert wird und dabei die gespeicherte Rücksprungadresse überschreibt.

Der anfällige Code befindet sich innerhalb 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 unerkannt und die Ausführung kann zuverlässig auf Code an festen Adressen innerhalb der Binärdatei umgeleitet werden.


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


Der Kontrollfluss wurde weiterhin auf die Routine umgeleitet, die für das Starten 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 cstecgi.cgi-Prozesses übernehmen und beliebige Codepfade innerhalb der Binärdatei ausführen, wodurch die Vertraulichkeit, Integrität und Verfügbarkeit des Geräts beeinträchtigt werden.