CVE-2026-19939
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
W warstwie sygnalizacyjnej AVDTP w stosie Bluetooth Zephyr RTOS procedura obsługi rozłączenia L2CAP (bt_avdtp_l2cap_disconnected) nie anulowała zaplanowanego opóźnionego zadania timeout_work, pozostawiając je aktywne w globalnej liście timerów jądra. Gdy struktura sesji bt_avdtp zostaje wyzerowana przez memset() przy ponownym połączeniu, jądro traktuje wciąż powiązany węzeł timeoutu jako wolny, co prowadzi do uszkodzenia globalnej listy timeoutów i awarii lub zawieszenia całego systemu. Podatność wymaga włączonej opcji CONFIG_BT_A2DP (eksperymentalnej) oraz szyfrowanego połączenia BR/EDR.
Ocena ryzyka
Zdalny atakujący w zasięgu Bluetooth może wywołać awarię lub zawieszenie całego systemu (odmowa usługi), a nie tylko sesji A2DP, ponieważ uszkodzeniu ulega kluczowa struktura jądra używana przez wszystkie timery i harmonogram zadań. Wymaga to szyfrowanego połączenia BR/EDR i włączonego eksperymentalnego wsparcia A2DP.
Rekomendacja
Zaktualizować system do wersji zawierającej poprawkę, która anuluje session->timeout_work na początku bt_avdtp_l2cap_disconnected() oraz przenosi k_work_init_delayable() do ścieżek ustanawiania sesji (bt_avdtp_connect() i bt_avdtp_l2cap_accept()). Jeśli aktualizacja nie jest możliwa, rozważyć wyłączenie CONFIG_BT_A2DP do czasu wdrożenia poprawki.
Powiązane podatności
- CVE-2026-93475Krytyczne
Parser X.509 w NetX Secure akceptuje klucz publiczny RSA o dowolnym rozmiarze, ale ścieżki weryfikacji podpisu odszyfrowują dane do buforów o stałym rozmiarze dostosowanych do domyślnego NX_CRYPTO_MAX_RSA_MODULUS_SIZE wynoszącego 4096 bitów. Certyfikat z większym modułem powoduje zapis poza zakresem bufora statycznego podczas zwykłej weryfikacji łańcucha certyfikatów, co jest osiągalne przed uwierzytelnieniem.
- CVE-2026-86471Krytyczne
Niezwalidowana wartość konfiguracji runtime w Apache CouchDB 3.5.2 i starszych na wszystkich platformach pozwala administratorowi serwera CouchDB na uruchamianie dowolnych poleceń powłoki jako użytkownik systemu operacyjnego CouchDB.
- CVE-2026-113703Krytyczne
SuggestArr przed wersją 3.0.0 zawiera podatność obejścia uwierzytelniania w trybie local_bypass, gdzie funkcja enforce_authentication() w api_service/auth/middleware.py ufa wartości request.remote_addr kontrolowanej przez klienta, pochodzącej z nagłówka X-Forwarded-For możliwego do podszycia z powodu konfiguracji ProxyFix(x_for=1). Atakujący może wysłać żądanie z X-Forwarded-For ustawionym na zaufany adres CIDR, taki jak 127.0.0.1, aby uzyskać nieuwierzytelnioną sesję administratora.
- CVE-2026-113678Krytyczne
Froxlor przed wersją 2.3.15 zawiera podatność podążania za symlinkami w Statistics::makeChownWithNewStats, która pozwala uwierzytelnionym klientom przejąć własność dowolnych katalogów hosta poprzez nadużycie uruchamianego jako root crona ruchu. Atakujący może zastąpić katalog statystyk goaccess w swoim document root symlinkiem, powodując, że chown -R przekaże im drzewa katalogów należące do roota.
- CVE-2026-103119Krytyczne
Podatność polegająca na niedoczytaniu bufora w Apache Tomcat powoduje, że duży zapis nieblokujący może spowodować podział treści odpowiedzi między bieżące żądanie a następne żądanie odebrane na tym samym połączeniu, co najprawdopodobniej prowadzi do błędu drugiego żądania i możliwego wycieku danych z pierwszej odpowiedzi do drugiej.
- CVE-2026-113620Krytyczne
W Eclipse ioFog Controller w wersjach 3.8.0 do 3.9.1 aktualizacje WebSocket operatora na trasach exec i log nie weryfikują tokenu JWT bearer. Ładunek jest dekodowany, a jego grupy lub role są używane jako podmioty RBAC. Samodzielnie wygenerowany token, którego grupy zawierają admin, pasuje do wbudowanej roli administratora bez konta i bez RoleBinding.
- CVE-2026-113391Krytyczne
W DrayTek Vigor2960 1.5.1.6 Revision 8218 funkcja uploadlangs w pliku /cgi-bin/mainfunction.cgi komponentu Upload Endpoint pozwala na wstrzyknięcie poleceń. Atak można wykonać zdalnie, a exploit został publicznie ujawniony i może być użyty.
- CVE-2026-113390Krytyczne
W DrayTek Vigor2960 1.5.1.6 Revision 8218 funkcja sub_182B0 w pliku /cgi-bin/mainfunction.cgi komponentu CGI Interface pozwala na wstrzyknięcie poleceń systemowych poprzez manipulację argumentem usefile/usescript/option. Zdalne wykorzystanie jest możliwe, a exploit został opublikowany i może być użyty.
- CVE-2026-113389Krytyczne
W DrayTek Vigor2960 1.5.1.6 Revision 8218 funkcja set_table w pliku /cgi-bin/mainfunction.cgi komponentu CGI Process pozwala na wstrzyknięcie poleceń poprzez manipulację argumentem sectiontype. Atak może być przeprowadzony zdalnie, a exploit jest publicznie dostępny i może być użyty.
- CVE-2026-105312Krytyczne
W Kubernetes tenant posiadający uprawnienie create na zasobach Console może ustawić spec.containers.api.spec.image na dowolny obraz kontenera. Operator wdraża ten obraz do poda, którego ServiceAccount jest powiązany przez ClusterRoleBinding z ClusterRole przyznającym szerokie uprawnienia do CRD Strimzi oraz widok monitoringu klastra. Kod atakującego odczytuje token SA i uzyskuje między-tenantowy dostęp odczytu i zapisu do płaszczyzny kontrolnej Strimzi.
Oryginalny opis (angielski, źródło NVD)
The AVDTP signalling layer arms a 6-second command timeout (AVDTP_TIMEOUT) in avdtp_send_cmd() whenever the local device issues an AVDTP request. Every response handler in subsys/bluetooth/host/classic/avdtp.c cancels session->timeout_work before clearing the pending request, but bt_avdtp_l2cap_disconnected() only cleared session->req and left the delayable work armed. The struct bt_avdtp session is the first member of struct bt_a2dp, whose instances live in a static per-connection array, and a2dp_get_connection() in subsys/bluetooth/host/classic/a2dp.c wipes a slot with memset() as soon as session->br_chan.chan.conn is NULL — which the L2CAP layer arranges immediately after the disconnect callback returns. A remote Bluetooth BR/EDR peer triggers the condition by opening the AVDTP signalling channel, letting the local application issue an AVDTP procedure (the standard A2DP flow issues bt_a2dp_discover() from the connected callback), then tearing the signalling channel down without responding and re-opening it within the remaining timeout window. The reconnect reaches a2dp_accept() → a2dp_get_connection(), which zeroes the whole struct bt_a2dp while the work item's struct _timeout is still linked into the kernel's global timeout list. Both the disconnect and the reconnect instants are chosen by the attacker, so no race has to be won; an encrypted BR/EDR link is required, and CONFIG_BT_A2DP (experimental) must be enabled. With the default CONFIG_TIMEOUT_BACKEND_DLIST backend the kernel decides a timeout is inactive by testing whether its list node is linked, so after the memset() the kernel treats a node that is still on the global timeout list as free: the announce path pops a node whose links and handler pointer are NULL, and the next bt_work_reschedule() on the recycled session re-inserts the same node into a list that already contains it. The consequence is corruption of the single kernel data structure every timer, timeslice and sleep depends on — writes through zeroed or stale list pointers and a NULL handler dispatch — producing a system-wide crash or hang rather than a fault confined to the A2DP session. The fix cancels session->timeout_work at the top of bt_avdtp_l2cap_disconnected() and moves k_work_init_delayable() from avdtp_send_cmd() to the session-establishment paths bt_avdtp_connect() and bt_avdtp_l2cap_accept(), so the work item is always initialized before a disconnect callback can run.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

