Podatność typu buffer overflow w routerze D-Link DIR-645 1.03 A1 pozwala zdalnemu atakującemu na wykonanie dowolnego kodu bez uwierzytelnienia. Jest to krytyczna luka umożliwiająca pełne przejęcie kontroli nad urządzeniem.
▸ Pokaż oryginał (EN)
D-Link DIR-645 1.03 A1 is vulnerable to Buffer Overflow. The hnap_main function in the cgibin handler uses sprintf to format the soapaction header onto the stack and has no limit on the size.
Funkcja hnap_main w module obsługi CGI (cgibin handler) używa funkcji sprintf do skopiowania zawartości nagłówka SOAPAction bezpośrednio na stos. Brak jakiegokolwiek ograniczenia rozmiaru wejścia oznacza, że atakujący może dostarczyć nadmiernie długi nagłówek SOAPAction, który nadpisze obszar stosu poza przeznaczoną dla niego pamięcią. Prowadzi to do klasycznego przepełnienia bufora na stosie (stack-based buffer overflow), co może pozwolić na przejęcie sterowania wykonaniem programu.
Atakujący może doprowadzić do wykonania dowolnego kodu na urządzeniu (RCE) z uprawnieniami procesu obsługującego żądanie, uzyskując pełną kontrolę nad routerem, lub spowodować jego niedostępność (crash).
Należy zastosować patche dostępne u producenta zgodnie z referencjami — patrz biuletyn bezpieczeństwa D-Link: https://www.dlink.com/en/security-bulletin/. Jeśli aktualizacja nie jest dostępna, należy rozważyć odizolowanie urządzenia od sieci publicznej lub zastąpienie go wspieranym modelem.
D-Link DIR-645 z oprogramowaniem sprzętowym w wersji 1.03 A1
Dowód koncepcji (PoC) opisujący podatność został opublikowany publicznie w repozytorium GitHub (https://github.com/luqiut/iot/blob/main/DIR-645%20Stack%20overflow.md). D-Link DIR-645 jest urządzeniem z wycofaną obsługą producenta (EOL/EOS), co może oznaczać brak oficjalnego patcha.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDlink Dir 645
HWDlinka1Dlink Dir 645 Firmware
OSDlink1.03
Powiązane podatności
D-Link DIR-series — nieuwierzytelniony command injection w service.cgi (root RCE)
Authentication Bypass w D-Link DIR-645 — eskalacja uprawnień przez cgibin
Stack overflow w D-Link DIR-645 — funkcja genacgi_main
Command injection w D-Link DIR-645 v1.03 via QUERY_STRING
Command Injection w routerach D-Link przez interfejs SOAP