W podsystemie wifi jądra Linux (mac80211) funkcja ieee80211_get_tx_power() może zwrócić wartość INT_MIN używaną wewnętrznie jako 'nieustawiony poziom mocy nadawania', co prowadzi do przepełnienia liczby całkowitej ze znakiem (UBSAN signed-integer-overflow). Podatność o wyniku CVSS 9.1 może skutkować ujawnieniem informacji oraz odmową dostępu do usług.
▸ Pokaż oryginał (EN)
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: don't return unset power in ieee80211_get_tx_power() We can get a UBSAN warning if ieee80211_get_tx_power() returns the INT_MIN value mac80211 internally uses for "unset power level". UBSAN: signed-integer-overflow in net/wireless/nl80211.c:3816:5 -2147483648 * 100 cannot be represented in type 'int' CPU: 0 PID: 20433 Comm: insmod Tainted: G WC OE Call Trace: dump_stack+0x74/0x92 ubsan_epilogue+0x9/0x50 handle_overflow+0x8d/0xd0 __ubsan_handle_mul_overflow+0xe/0x10 nl80211_send_iface+0x688/0x6b0 [cfg80211] [...] cfg80211_register_wdev+0x78/0xb0 [cfg80211] cfg80211_netdev_notifier_call+0x200/0x620 [cfg80211] [...] ieee80211_if_add+0x60e/0x8f0 [mac80211] ieee80211_register_hw+0xda5/0x1170 [mac80211] In this case, simply return an error instead, to indicate that no data is available.
Gdy poziom mocy nadawania (TX power) nie jest jeszcze ustawiony, mac80211 używa wartości INT_MIN jako wewnętrznego znacznika. Funkcja ieee80211_get_tx_power() może zwrócić tę wartość do wyższych warstw stosu sieciowego. W module nl80211 wartość ta jest następnie mnożona przez 100 (INT_MIN * 100), co nie może być reprezentowane w typie 'int', wywołując ostrzeżenie UBSAN o przepełnieniu signed-integer. Poprawka polega na zwracaniu błędu zamiast wartości INT_MIN, gdy poziom mocy nie jest dostępny.
Atakujący lub niestabilny stan systemu może doprowadzić do ujawnienia wrażliwych informacji z przestrzeni jądra (C:H) oraz do niestabilności lub odmowy działania usług sieciowych (A:H) poprzez wyzwolenie przepełnienia arytmetycznego w ścieżce rejestracji interfejsu bezprzewodowego.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawki zostały wprowadzone w commitach: 21a0f310a9f3, 2be24c47ac19, 5a94cffe90e2, 717de20abdcd, adc2474d823f w repozytorium stable jądra Linux (git.kernel.org).
Linux Kernel — wersje wskazane w referencjach producenta (commity naprawcze dotyczą wielu gałęzi stabilnych jądra Linux)
Podatność ujawnia się podczas rejestracji interfejsu bezprzewodowego (ieee80211_register_hw), co oznacza, że może być wyzwolona np. podczas ładowania modułu sterownika Wi-Fi. CWE-920 odnosi się do nieprawidłowej obsługi brakujących lub niespójnych wartości danych.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HLinux Kernel
OSLinux< 4.14.3314.15 – 4.19.300 (bez)4.20 – 5.4.262 (bez)5.5 – 5.10.202 (bez)5.11 – 5.15.140 (bez)5.16 – 6.1.64 (bez)6.2 – 6.5.13 (bez)6.6 – 6.6.3 (bez)
Powiązane podatności
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
IBM Aspera Faspex 4.4.2 Patch Level 1 and earlier could allow a remote attacker to execute arbitrary code on t...
VMware Workspace ONE Access and Identity Manager contain a remote code execution vulnerability due to server-s...
VMware Workspace One Access, Access Connector, Identity Manager, and Identity Manager Connector address have a...