CVE-2026-99039
Niskie ryzyko· EPSS 6%Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
W jądrze Linux w podsystemie memstick funkcje memstick_alloc_card() i memstick_set_rw_addr() używały wait_for_completion_timeout(), co przy przekroczeniu limitu czasu powodowało zwolnienie struktury memstick_dev, mimo że kontroler hosta nadal asynchronicznie przetwarzał żądanie. Późniejszy zapis do zwolnionej pamięci prowadził do błędu use-after-free (KASAN slab-use-after-free write). Problem naprawiono, zastępując wait_for_completion_timeout() bezwarunkowym wait_for_completion().
Ocena ryzyka
Lokalny atakujący lub wadliwe urządzenie może wywołać use-after-free w jądrze, co grozi zawieszeniem systemu (panic) lub potencjalnym podniesieniem uprawnień. Ryzyko dotyczy systemów z kontrolerami memstick, takimi jak rtsx_usb_ms, jmb38x_ms, tifm_ms czy r592.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej poprawkę zastępującą wait_for_completion_timeout() funkcją wait_for_completion() w memstick_set_rw_addr() i memstick_alloc_card(). Do czasu wdrożenia aktualizacji ogranicz dostęp do urządzeń memstick do zaufanych użytkowników.
Powiązane podatności
- CVE-2026-123614Krytyczne
W imgproxy od wersji 4.0.0 do 4.0.16 występuje przepełnienie liczb całkowitych w loaderze ICO, które pozwala zdalnym atakującym wywołać przepełnienie bufora sterty poprzez spreparowaną wartość data_size. Atakujący może przesłać spreparowany obraz ICO, w którym data_size powoduje zawinięcie alokacji w vips/icoload.c, uszkadzając pamięć sterty, co prowadzi do awarii procesu lub wykonania kodu.
- CVE-2026-123551Krytyczne
OpenAM od wersji 14.0.0 do 16.1.4 zawiera podatność na ujawnienie informacji, która pozwala nieuwierzytelnionym atakującym odczytać aktywne tokeny sesji z WebSocketu powiadomień. Atakujący mogą obejść sprawdzenie przeznaczone tylko dla agentów poprzez niezwalidowane wewnętrzne przekierowanie na starszych punktach końcowych Liberty ID-FF, zbierając tokeny iPlanetDirectoryPro w celu przejęcia sesji użytkowników i administratorów.
- CVE-2026-123550Krytyczne
OpenAM przed wersją 16.1.4 zawiera podatność na obejście uwierzytelniania w usłudze SAML v2.0 service provider, która akceptuje niepodpisane asercje w powiązaniach ECP (PAOS) i HTTP-Artifact, gdy WantAssertionsSigned ma wartość false. Nieuwierzytelnieni zdalni atakujący mogą przesłać sfałszowane asercje, aby uzyskać sesje jako dowolny zmapowany użytkownik, w tym administrator, i przejąć logowanie jednokrotne do aplikacji zależnych.
- CVE-2026-123549Krytyczne
OpenAM przed wersją 16.1.4 nie egzekwuje listy Valid Creation Attributes podczas samodzielnej rejestracji, co pozwala anonimowym atakującym ustawić zastrzeżone atrybuty, w tym członkostwo w grupach. Atakujący mogą zarejestrować się przez starszy punkt końcowy REST samoobsługi lub przepływ User Self-Service, aby dołączyć do grup administracyjnych i uzyskać pełną kontrolę administracyjną nad OpenAM.
- CVE-2026-124060Krytyczne
W urządzeniu TOTOLINK CA300-PoE w wersji 6.2c.884 wykryto podatność w funkcji UploadCustomModule w pliku /cgi-bin/cstecgi.cgi. Manipulacja argumentem File prowadzi do przepełnienia bufora. Atak można przeprowadzić zdalnie, a exploit jest publicznie dostępny i może być wykorzystany.
- CVE-2026-124059Krytyczne
Wykryto podatność bezpieczeństwa w urządzeniu TOTOLINK CA300-PoE w wersji 6.2c.884. Podatna jest funkcja setWiFiWdsAddConfig w pliku /cgi-bin/cstecgi.cgi, gdzie manipulacja argumentem ApCliKeyStr prowadzi do przepełnienia bufora. Atak można zainicjować zdalnie, a exploit został publicznie ujawniony i może być wykorzystany.
- CVE-2026-124058Krytyczne
Zidentyfikowano słabość w urządzeniu TOTOLINK CA300-PoE w wersji 6.2c.884. Podatna jest funkcja setWiFiRepeaterConfig w pliku /cgi-bin/cstecgi.cgi, gdzie manipulacja argumentem ApCliKeyStr może prowadzić do przepełnienia bufora. Atak można przeprowadzić zdalnie, a exploit został udostępniony publicznie i może być wykorzystany w atakach.
- CVE-2026-124057Krytyczne
W TOTOLINK CA300-PoE 6.2c.884 odkryto lukę w zabezpieczeniach funkcji setWiFiMultipleConfig w pliku /cgi-bin/cstecgi.cgi. Manipulacja argumentem Key1Str1 prowadzi do przepełnienia bufora, a atak można zainicjować zdalnie. Exploit został publicznie udostępniony i może być wykorzystany.
- CVE-2026-123966Krytyczne
W urządzeniu Tenda AC19 w wersji 16.03.10.07 wykryto podatność w funkcji saveParentControlInfo w pliku /goform/saveParentControlInfo. Manipulacja argumentem deviceId powoduje przepełnienie bufora na stercie. Atak można przeprowadzić zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-120984Krytyczne
W komponencie zarządzania klientami serwera Keycloak wykryto błąd. Podczas tworzenia lub importu klienta z włączonymi usługami autoryzacji system nie czyści prawidłowo atrybutu sesji używanego podczas konfiguracji. Uwierzytelniony atakujący z uprawnieniami do zarządzania klientami może ominąć mechanizmy bezpieczeństwa i przesłać złośliwą politykę JavaScript, która jest wykonywana na serwerze.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: memstick: core: wait for request completion before freeing card In memstick_alloc_card() and memstick_set_rw_addr(), wait_for_completion_timeout() is used to wait for device identification and address configuration requests to complete. The memstick subsystem does not provide an abort or cancellation callback in struct memstick_host for in-flight requests. If wait_for_completion_timeout() expires (for instance, when a USB transfer or command retry is delayed), memstick_alloc_card() returns an error and frees the memstick_dev structure via kfree(card). However, the host controller driver (such as rtsx_usb_ms) is still running the request asynchronously in worker context. When the transfer eventually finishes, the driver writes into host->req->data, which points to memory inside the already freed card structure. This leads to a KASAN slab-use-after-free write: BUG: KASAN: slab-use-after-free in ms_read_bytes+0x8fe/0x990 Write of size 1 at addr ffff88813c188079 by task kworker/1:5/5239 Workqueue: events rtsx_usb_ms_handle_req Call Trace: ms_read_bytes+0x8fe/0x990 drivers/memstick/host/rtsx_usb_ms.c:450 rtsx_usb_ms_issue_cmd drivers/memstick/host/rtsx_usb_ms.c:477 [inline] rtsx_usb_ms_handle_req+0x557/0x1a00 drivers/memstick/host/rtsx_usb_ms.c:531 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396 worker_thread+0x5ef/0xe50 kernel/workqueue.c:3560 kthread+0x373/0x450 kernel/kthread.c:436 Allocated by task 1662: memstick_alloc_card drivers/memstick/core/memstick.c:383 [inline] memstick_check+0x2c1/0x10d0 drivers/memstick/core/memstick.c:452 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396 Freed by task 1662: kfree+0x20c/0x650 mm/slub.c:6792 memstick_alloc_card drivers/memstick/core/memstick.c:420 [inline] memstick_check+0x72b/0x10d0 drivers/memstick/core/memstick.c:452 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396 Host controller drivers (rtsx_usb_ms, jmb38x_ms, tifm_ms, r592) already implement their own hardware and bus timeouts, and callers in mspro_block and ms_block already rely on wait_for_completion() unconditionally. Replace wait_for_completion_timeout() with wait_for_completion() in memstick_set_rw_addr() and memstick_alloc_card() so that the card structure is never freed while an asynchronous request is in flight.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

