Podatność typu command injection w oprogramowaniu routera D-Link DIR-822 pozwala nieuwierzytelnionemu atakującemu na zdalne wykonanie dowolnych poleceń systemowych. Ze względu na brak walidacji danych wejściowych i dostępność przez sieć bez uwierzytelnienia, podatność stanowi krytyczne zagrożenie.
▸ Pokaż oryginał (EN)
In the /HNAP1/SetQoSSettings message, the uplink parameter is vulnerable, and the vulnerability affects D-Link DIR-822 Rev.B 202KRb06 and DIR-822 Rev.C 3.10B06 devices. In the SetQoSSettings.php source code, the uplink parameter is saved in the /bwc/entry:1/bandwidth and /bwc/entry:2/bandwidth internal configuration memory without any regex checking. And in the bwc_tc_spq_start, bwc_tc_wfq_start, and bwc_tc_adb_start functions of the bwcsvcs.php source code, the data in /bwc/entry:1/bandwidth and /bwc/entry:2/bandwidth is used with the tc command without any regex checking. A vulnerable /HNAP1/SetQoSSettings XML message could have shell metacharacters in the uplink element such as the `telnetd` string.
Parametr uplink przesyłany w komunikacie HNAP1 SetQoSSettings jest zapisywany do wewnętrznej konfiguracji urządzenia (/bwc/entry:1/bandwidth oraz /bwc/entry:2/bandwidth) bez jakiejkolwiek walidacji przy użyciu wyrażeń regularnych. Następnie wartość ta jest bezpośrednio przekazywana do polecenia systemowego tc w funkcjach bwc_tc_spq_start, bwc_tc_wfq_start oraz bwc_tc_adb_start pliku bwcsvcs.php — również bez filtrowania. Atakujący może umieścić w elemencie uplink specjalne metaznaki powłoki (np. ciąg znaków uruchamiający telnetd), które zostaną wykonane jako polecenia systemu operacyjnego.
Nieuwierzytelniony zdalny atakujący może wykonać dowolne polecenia na urządzeniu z poziomem uprawnień procesu obsługującego żądanie, co może prowadzić do pełnego przejęcia kontroli nad routerem, utraty poufności i integralności danych oraz zakłócenia jego działania.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Do czasu aktualizacji zaleca się ograniczenie dostępu do interfejsu zarządzania HNAP1 routera wyłącznie do zaufanych hostów oraz wyłączenie zdalnego zarządzania urządzeniem.
D-Link DIR-822 Rev.B w wersji firmware 202KRb06 oraz D-Link DIR-822 Rev.C w wersji firmware 3.10B06
Szczegóły techniczne i kod dowodowy (proof-of-concept) są publicznie dostępne w repozytorium GitHub wskazanym w referencjach (pr0v3rbs/CVE). Podatność obejmuje również powiązane CVE z zakresu CVE-2018-19986 do CVE-2018-19990 dotyczące tego samego urządzenia.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDlink Dir 822
HWDlinkwszystkie wersjeDlink Dir 822 Firmware
OSDlink3.10b06D Link Dir 822 Firmware
OSD-Link202krb06
Powiązane podatności
D-Link DIR-859: RCE jako root przez UPnP bez uwierzytelnienia
D-Link DIR-822+: Login bypass w interfejsie HNAP1 — puste hasło admina
Command injection w D-Link DIR-822+ — zdalne wykonanie poleceń
Buffer overflow w D-Link DIR-822 przez protokół HNAP (SetClientInfo)
Command injection w D-Link DIR-818LW i DIR-822 przez parametr RemotePort