Katalog podatności CVE
Przetłumaczone opisy podatności z bazy NVD NIST - w języku polskim
Przeglądaj podatności według pakietuKatalog CISA KEV zaktualizowany: (v2026.10.27)
Cotygodniowy digest CVE
Jeden mail w tygodniu z nowo opublikowanymi podatnościami, o których warto wiedzieć. Bez zakładania konta.
Digest dotyczy ogólnie nowych podatności, nie Twoich serwerów. Jeśli chcesz wiedzieć, które z nich faktycznie działają w Twojej infrastrukturze, tym zajmuje się Secvalis : skanuje Twoje maszyny i zgłasza wyłącznie to, co ich dotyczy.
W jądrze Linux w sterowniku USB gadget uvc funkcje uvc_function_bind() i uvc_function_unbind() pozostawiają wiszące wskaźniki uvc->control_req i uvc->control_buf po zwolnieniu. Prowadzi to do use-after-free.
W jądrze Linux funkcja cxl_rch_get_aer_info() odczytuje rejestry AER poza mapowanym blokiem, ponieważ sizeof(struct aer_capability_regs) jest większy niż fizyczny rozmiar możliwości AER. Nadmiarowy odczyt może dodatkowo spowodować drugi out-of-bounds w pcie_print_tlp_log().
W jądrze Linux w sterowniku HID sensor-hub funkcja sensor_hub_get_feature() ogranicza wartość zwracaną, ale pętla kopiowania nadal kopiuje field->report_size / 8 bajtów na wartość. Złośliwy deskryptor HID może spowodować out-of-bounds write, gdy wywołujący IIO dostarczy mały bufor.
W jądrze Linux sterownik media: cec: stm32 w funkcji stm32_rx_done() dopisuje każdy odebrany bajt CEC do rx_msg.msg[] używając rx_msg.len jako indeksu, bez sprawdzania go względem rozmiaru bufora. Bufor rx_msg.msg[] ma stały rozmiar CEC_MAX_MSG_SIZE (16) bajtów, a liczba bajtów przed RXEND jest kontrolowana przez zdalne urządzenie CEC, co pozwala na zapis poza granicami bufora.
W jądrze Linux sterownik media: vicodec w funkcji fwht_encode_frame() koduje jedną płaszczyznę na komponent, a niekompresowalna płaszczyzna trafia na ścieżkę FWHT_FRAME_UNENCODED kopiując płaszczyznę dosłownie. Dla formatu 4-komponentowego wszystkie cztery płaszczyzny są w pełnej rozdzielczości, więc ramka wymuszająca fallback zapisuje więcej bajtów niż rozmiar bufora, powodując zapis poza granicami o coded_w * coded_h.
W jądrze Linux naprawiono błąd przepełnienia bufora (slab-out-of-bounds) w funkcji nilfs_direct_propagate() systemu plików nilfs2. Po obcięciu pliku blok węzła B-drzewa pozostawał w pamięci podręcznej w stanie zabrudzonym, a następnie był błędnie przetwarzany jako wpis mapowania bezpośredniego, co powodowało nieprawidłowy dostęp do pamięci. Problem rozwiązano poprzez dodanie operacji nilfs_btree_discard() usuwającej osierocony blok węzła podczas konwersji mapowania.
W jądrze Linux funkcja ubifs_sb_verify_signature() sprawdza pole ubifs_sig_node->len z błędnym znakiem, dodając rozmiar nagłówka zamiast go odejmować. To akceptuje zadeklarowaną długość do 2 * UBIFS_SIG_NODE_SZ większą niż węzeł faktycznie zawiera, co prowadzi do odczytu poza granicami bufora c->sbuf podczas przetwarzania podpisu PKCS7.
W jądrze Linux usunięto błędny WARN_ON_ONCE z funkcji nfsd_mode_check(). Założenie uzasadniające ostrzeżenie było nieprawidłowe w przypadku reeksportu NFS, gdzie funkcja może napotkać dentry bez i_op->lookup. Zwracanie nfserr_notdir pozostaje konieczne, aby chronić ścieżkę lookup_one_unlocked() przed wywołaniem wskaźnika NULL.
W jądrze Linux wskaźnik nlmsvc_ops był publikowany i czyszczony zwykłymi zapisami, a lockd odwoływał się do niego bez zabezpieczenia z miejsc dyspozycji w fs/lockd/svcsubs.c. Po usunięciu modułu nfsd nieaktualne odwołanie mogło prowadzić do dereferencji NULL lub use-after-free tekstu modułu.
W jądrze Linux funkcja nfsd_cross_mnt() przy błędzie follow_down() przechodziła do etykiety out bez zwolnienia referencji ścieżki pobranych przez mntget() i dget(). Powodowało to wyciek referencji przy każdym nieudanym cross-mount, blokując odmontowanie i przypinając dentries.
W jądrze Linux w module nfsd nie resetowano weryfikatora zapisu (write verifier) po niepowodzeniu asynchronicznego zapisu wstecznego operacji COPY. Gdy zapis wsteczny się nie powiódł, serwer zgłaszał klientowi NFS_UNSTABLE, ale nie rotował weryfikatora, przez co klient po wykonaniu COMMIT uznawał dane za trwałe, mimo że zapis się nie udał.
W jądrze Linux funkcja nfsd_dispatch() nie przywracała rq_status_counter do wartości parzystej na wszystkich ścieżkach wyjścia (cache-hit, drop, błąd kodowania). Pozostawiony nieparzysty licznik powodował, że bezblokadowy czytnik w nfsd_nl_rpc_status_get_dumpit() uznawał pola rqstp za stabilne i mógł odczytać dane poza końcem 8-elementowej tablicy ops.
W jądrze Linux funkcja _nfsd_copy_file_range() próbkowała kursor błędu zapisu wstecznego (dst->f_wb_err) po pętli kopiowania, a nie przed nią. Współbieżne COMMIT lub stabilny WRITE mogły przesunąć kursor, przez co błąd zapisu nie był wykrywany i ustawiano NFSD4_COPY_F_COMMITTED mimo niepowodzenia zapisu.
W jądrze Linux funkcja nfsd4_decode_create() przyjmowała nieograniczoną wartość cr_datalen z sieci dla celów dowiązań symbolicznych NF4LNK, umożliwiając klientowi wymuszenie alokacji kmalloc o rozmiarze do maksymalnego ładunku RPC (kilka MiB) na każdą operację COMPOUND. VFS odrzucał zbyt duże cele z ENAMETOOLONG, ale alokacja już się odbywała.
W jądrze Linux w module nfsd występuje luka polegająca na tym, że po operacji FOREIGN PUTFH kolejne operacje mogą być wykonywane mimo że fh_dentry ma wartość NULL. Zdalny klient NFSv4.2 może spreparować żądanie COMPOUND, które doprowadzi do dereferencji wskaźnika NULL w wątku jądra nfsd. Problem dotyczy konfiguracji z włączonym CONFIG_NFSD_V4_2_INTER_SSC.
W jądrze Linux w module nfsd funkcja nfsd4_decode_posixacl() przyjmuje od klienta nieograniczoną liczbę wpisów ACL i przekazuje ją do sortowania bąbelkowego o złożoności O(n^2). Klient może wybrać dowolnie dużą wartość, powodując nadmierne zużycie CPU na serwerze. Brakuje symetrycznego sprawdzenia limitu NFS_ACL_MAX_ENTRIES, które istnieje po stronie kodera.
W jądrze Linux w module nfsd funkcja nfsd_break_one_deleg() ustawia bit NFSD4_CALLBACK_RUNNING, ale gdy próba zakolejkowania recall nie powiedzie się, bit nie jest czyszczony. Powoduje to trwałe zablokowanie kolejnych prób zerwania delegacji na tym samym obiekcie, przez co delegacja nigdy nie zostaje zerwana, a konfliktowe otwarcie lub blokada zawiesza się. Poprawka czyści bit w gałęzi !queued.
W jądrze Linux w module nfsd funkcja nfsd4_release_compoundargs() resetuje wskaźnik args->ops do tablicy iops[8], ale nie zeruje args->opcnt, który może wynosić do 200 dla NFSv4.1+. Gdy rq_status_counter utknie na wartości nieparzystej, handler dumpit czyta do 16 wpisów z args->ops[], wykraczając poza tablicę i ujawniając przyległą pamięć slab do przestrzeni użytkownika przez netlink. Poprawka zeruje opcnt bezwarunkowo.
W jądrze Linux w module nfsd bufor args->ops jest zwalniany synchronicznie przez vfree() w nfsd4_release_compoundargs(), podczas gdy handler dumpit netlink rpc_status odczytuje ten bufor pod rcu_read_lock. Współbieżne zakończenie compound może zwolnić bufor w trakcie odczytu, powodując use-after-free na pamięci vmalloc. Poprawka zastępuje vfree() przez kvfree_rcu_mightsleep(), odraczając zwolnienie o okres karencji RCU.
W jądrze Linux w module nfsd funkcja nfsd_file_do_acquire() mogła użyć pliku zwróconego przez dentry_create(), który nie został faktycznie otwarty, ponieważ ->atomic_open może zwrócić sukces przez finish_no_open(). Sytuacja jest bardzo mało prawdopodobna, ale poprawka wymaga, aby nfsd używał pliku tylko gdy ustawiona jest flaga FMODE_OPENED.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

