
TP-Link Archer BE800 V1 — Kindersicherung LAN RCE
Der Blocking-Endpunkt der Kindersicherung (/cgi-bin/luci/blocking?form=vercode) ist ohne Admin-Anmeldedaten aus dem LAN erreichbar. Der Parameter url wird nach einer Prüfung gegen eine Zeichen-Blocklist über fork_exec(string.format("%s %s %s", BINARY, owner_id, url)) an einen Shell-Befehl übergeben. Die Blocklist enthält das Zeichen für den Zeilenumbruch (0x0a) nicht, sodass ein durch einen Zeilenumbruch abgeschlossener Befehl angehängt werden kann. Befehle werden als root ausgeführt.
Ein sekundärer Bug zur Offenlegung von Informationen auf demselben Endpunkt ermöglicht das Auslesen des aktuellen vercode ohne Anmeldedaten und beseitigt damit die einzige Information, die nicht aus der Weiterleitungs-URL des Captive Portals ablesbar ist.
