CVE-2025-38593
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
W jądrze Linux wykryto podatność polegającą na podwójnym zwolnieniu pamięci w funkcji 'hci_discovery_filter_clear()' stosu Bluetooth. Problem wynika z braku synchronizacji, co umożliwia wyścig między operacjami zwalniania tablicy 'uuids' a jej ponownym wywołaniem w tym samym kontekście.
Ocena ryzyka
Podwójne zwolnienie pamięci może prowadzić do awarii systemu (kernel panic) lub potencjalnie do wykorzystania przez atakującego w celu naruszenia integralności jądra, co zagraża stabilności i bezpieczeństwu systemu.
Rekomendacja
Należy niezwłocznie zaaplikować łatkę z oficjalnego repozytorium jądra Linux, która dodaje blokadę wokół wywołania kfree() i przypisania NULL, aby zapobiec wyścigowi.
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-80577Nieznane
W jądrze Linux w sterowniku drm/panthor funkcja panthor_fw_load_section_entry() pomija tworzenie BO dla sekcji firmware o zerowym rozmiarze, ale dodaje je do listy sekcji, co prowadzi do dereferencji NULL w późniejszych ścieżkach. Poprawka polega na pomijaniu dodawania takich sekcji do listy.
- CVE-2026-80571Nieznane
W jądrze Linux w podsystemie powerpc/pseries (papr-phy-attest) brakowało walidacji pola cmd.length, co mogło prowadzić do przepełnienia bufora. Dodano sprawdzanie długości i zwracanie błędu, a także naprawiono wyciek pamięci na ścieżkach błędów.
- CVE-2026-80567Nieznane
W jądrze Linux w sterowniku Synaptics RMI4 (F54) naprawiono błąd, w którym błędy wątku roboczego nie były propagowane do kolejki V4L2. Wcześniej, jeśli wątek roboczy zawiódł, kolejka zwracała sukces, dostarczając nieaktualne lub niezainicjalizowane dane do przestrzeni użytkownika.
- CVE-2026-80566Nieznane
W jądrze Linux w sterowniku hynitron_cstxxx nieprawidłowo sprawdzano liczbę dotknięć i identyfikatory palców. Może to prowadzić do uszkodzenia stanu dotyku lub odczytu poza zakresem bufora.
- CVE-2026-80564Nieznane
W jądrze Linux w sterowniku gve brakuje implementacji funkcji adjfine, co prowadzi do wyłuskania pustego wskaźnika (NULL dereference) podczas wywołania z przestrzeni użytkownika, np. przez testptp.
- CVE-2026-80563Nieznane
W jądrze Linux wykryto podatność use-after-free w sterowniku gpio-sloppy-logic-analyzer. Plik debugfs 'trigger' nie posiadał odpowiedniego zabezpieczenia, co pozwalało na zapis do zwolnionej pamięci podczas odłączania urządzenia. Problem został naprawiony przez użycie debugfs_create_file() zamiast debugfs_create_file_unsafe().
- CVE-2026-80543Nieznane
W jądrze Linux w funkcjach xcrb_msg_to_type6cprb_msgx() i xcrb_msg_to_type6_ep11cprb_msgx() dla s390/zcrypt kopiowana jest wiadomość z przestrzeni użytkownika do bufora jądra na podstawie długości, ale dalsze przetwarzanie zakłada wyrównanie do 4 bajtów. W rezultacie do 3 bajtów niezainicjalizowanej pamięci jądra jest przekazywane do dalszych kroków, co może ujawnić pamięć jądra firmware'owi karty kryptograficznej.
- CVE-2026-80542Nieznane
W jądrze Linux w sterowniku amdgpu dla AMD Display występuje błąd NULL pointer dereference w funkcji amdgpu_dm_crtc_set_vblank(), gdy vblank jest włączany lub odpytywany przed podłączeniem strumienia do acrtc_state->stream. Może to prowadzić do awarii systemu.
- CVE-2026-80535Nieznane
W jądrze Linux w systemie plików XFS podczas naprawy drzewa katalogów (dirtree scrubber) może zostać wykryty katalog odnoszący się do samego siebie. W takim przypadku kod naprawczy próbuje zablokować ten sam inode dwukrotnie (podwójne założenie blokady iolock/ilock), co prowadzi do zakleszczenia. Poprawka polega na wykryciu tego przypadku i odpowiednim jego obsłużeniu.
- CVE-2026-80533Nieznane
W jądrze Linux w systemie plików XFS podczas naprawy listy niepołączonych inodów (AGI repair) funkcja xrep_iunlink_walk_ondisk_bucket może próbować użyć wskaźnika sc->sa.agi_bp, który może być pusty (null), jeśli weryfikator bufora zawiedzie. Poprawka polega na użyciu ragi->agi_bp, który pomija weryfikację, aby uniknąć przejścia poza koniec pamięci.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: fix double free in 'hci_discovery_filter_clear()' Function 'hci_discovery_filter_clear()' frees 'uuids' array and then sets it to NULL. There is a tiny chance of the following race: 'hci_cmd_sync_work()' 'update_passive_scan_sync()' 'hci_update_passive_scan_sync()' 'hci_discovery_filter_clear()' kfree(uuids); <-------------------------preempted--------------------------------> 'start_service_discovery()' 'hci_discovery_filter_clear()' kfree(uuids); // DOUBLE FREE <-------------------------preempted--------------------------------> uuids = NULL; To fix it let's add locking around 'kfree()' call and NULL pointer assignment. Otherwise the following backtrace fires: [ ] ------------[ cut here ]------------ [ ] kernel BUG at mm/slub.c:547! [ ] Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP [ ] CPU: 3 UID: 0 PID: 246 Comm: bluetoothd Tainted: G O 6.12.19-kernel #1 [ ] Tainted: [O]=OOT_MODULE [ ] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ ] pc : __slab_free+0xf8/0x348 [ ] lr : __slab_free+0x48/0x348 ... [ ] Call trace: [ ] __slab_free+0xf8/0x348 [ ] kfree+0x164/0x27c [ ] start_service_discovery+0x1d0/0x2c0 [ ] hci_sock_sendmsg+0x518/0x924 [ ] __sock_sendmsg+0x54/0x60 [ ] sock_write_iter+0x98/0xf8 [ ] do_iter_readv_writev+0xe4/0x1c8 [ ] vfs_writev+0x128/0x2b0 [ ] do_writev+0xfc/0x118 [ ] __arm64_sys_writev+0x20/0x2c [ ] invoke_syscall+0x68/0xf0 [ ] el0_svc_common.constprop.0+0x40/0xe0 [ ] do_el0_svc+0x1c/0x28 [ ] el0_svc+0x30/0xd0 [ ] el0t_64_sync_handler+0x100/0x12c [ ] el0t_64_sync+0x194/0x198 [ ] Code: 8b0002e6 eb17031f 54fffbe1 d503201f (d4210000) [ ] ---[ end trace 0000000000000000 ]---

