Router D-Link DIR-816 w firmware A2_v1.10CNB04 zawiera podatność buffer overflow w endpoincie /goform/form2Wan.cgi, umożliwiającą zdalne wykonanie kodu bez uwierzytelnienia. Krytyczny poziom CVSS 9.8 oznacza, że atakujący sieciowy może przejąć pełną kontrolę nad urządzeniem.
▸ Pokaż oryginał (EN)
D-link DIR-816 A2_v1.10CNB04.img is vulnerable to Buffer Overflow via /goform/form2Wan.cgi. When wantype is 3, l2tp_usrname will be decrypted by base64, and the result will be stored in v94, which does not check the size of l2tp_usrname, resulting in stack overflow.
Gdy parametr wantype przyjmuje wartość 3 (tryb L2TP), aplikacja pobiera wartość parametru l2tp_usrname i dekoduje ją z formatu base64. Zdekodowany wynik jest zapisywany do bufora o stałym rozmiarze (zmienna v94) bez jakiejkolwiek weryfikacji długości wejścia. Zbyt długi ciąg znaków powoduje przepełnienie stosu (stack overflow), co może prowadzić do nadpisania adresu powrotu i przejęcia przepływu sterowania programem.
Nieuwierzytelniony atakujący zdalny może doprowadzić do wykonania dowolnego kodu (RCE) na urządzeniu, a w konsekwencji do pełnego przejęcia kontroli nad routerem, utraty poufności, integralności oraz dostępności.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://www.dlink.com/en/security-bulletin/). Do czasu aktualizacji firmware zaleca się ograniczenie dostępu do interfejsu zarządzania urządzenia wyłącznie do zaufanych hostów oraz wyłączenie zdalnego dostępu przez WAN.
D-Link DIR-816 A2 z firmware w wersji A2_v1.10CNB04.img
Szczegółowy opis techniczny podatności wraz z proof-of-concept dostępny jest publicznie w repozytorium GitHub (https://github.com/z1r00/IOT_Vul/blob/main/dlink/Dir816/form2Wan_cgi/readme.md), co zwiększa ryzyko wykorzystania podatności.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDlink Dir 816
HWDlinka2Dlink Dir 816 Firmware
OSDlink1.10cnb04
Powiązane podatności
RCE w D-Link DIR-816-A2 przez podatną funkcję system() w goahead
Stack-based buffer overflow w D-Link DIR-816 — funkcja QoSPortSetup
Stack-based buffer overflow w D-Link DIR-816 — zdalny atak bez uwierzytelnienia
Stack-based buffer overflow w D-Link DIR-816 – funkcja qosClassifier
D-Link DIR-816: Stack-based buffer overflow w /goform/form2lansetup.cgi