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.11.06)
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 rdzeń workqueue czyści WORK_STRUCT_PENDING przed wywołaniem callbacku, więc delayed_work_pending() w lm_breaker_timedout() może zwrócić false, gdy worker fence już działa. Pozwala to breakerowi pobrać dodatkową referencję sc_count i zaplanować nowego workera, który łączy się z już działającym. Nadmiarowa referencja nigdy nie jest zwalniana, co powoduje wyciek layout stateid.
W jądrze Linux w funkcji nfsd4_copy() występuje wyciek pamięci nfsd_file, gdy konfiguracja kopiowania między serwerami (inter-server COPY) zakończy się niepowodzeniem. Funkcja zwraca błąd bezpośrednio, pomijając etykietę out:, która zwolniłaby referencję do pliku. Każda nieudana operacja powoduje wyciek jednego obiektu nfsd_file, blokując plik, i-węzeł, dentry i punkt montowania.
W jądrze Linux w funkcji nfsd4_setattr() występuje dereferencja NULL, gdy żądanie SETATTR zawiera atrybuty czasu delegacji (FATTR4_WORD2_TIME_DELEG_ACCESS lub FATTR4_WORD2_TIME_DELEG_MODIFY) i klient poda specjalny stateid (wszystkie bajty 0xFF). Wskaźnik st pozostaje NULL, a następnie jest dereferencjonowany, powodując oops jądra. Podatność jest zdalnie wyzwalana przez dowolnego klienta NFSv4 bez uwierzytelnienia.
W jądrze Linux w funkcji nfsd_direct_write() występuje błąd wykrywania częściowego zapisu. Po wywołaniu vfs_iocb_iter_write() pole iter.count zawiera pozostałą liczbę bajtów, a nie oryginalną długość, więc warunek przerwania pętli jest nieprawidłowy. Krótkie zapisy kończące się między 50% a 99% segmentu nie są wykrywane, co prowadzi do zapisu kolejnego segmentu pod niewłaściwym przesunięciem i błędnego raportowania liczby bajtów do klienta NFS.
W jądrze Linux w funkcji nfsd4_create_file() występuje możliwość użycia niewłaściwego dentry w fh_compose(). Funkcja dentry_create() może teoretycznie zwrócić inny dentry niż przekazany, co może prowadzić do użycia zwolnionego dentry (use-after-free). Poprawka przenosi wywołanie fh_compose() do momentu, gdy ostateczny dentry jest już znany.
W jądrze Linux w funkcji nfsd4_copy() dla asynchronicznego COPY występuje błąd kolejności inicjalizacji. Funkcja nfs4_init_copy_state() jest wywoływana przed dup_copy_fields(), przez co wpis w IDR s2s_cp_stateids wskazuje na pamięć bufora COMPOUND, która jest ponownie używana. Może to prowadzić do dereferencji zwolnionej lub ponownie użytej pamięci, powodując uszkodzenie pamięci lub awarię jądra.
W jądrze Linux naprawiono podatność use-after-free (UAF) w mechanizmie asynchronicznego kopiowania NFS (nfsd). Wyścig między wątkiem kopiującym a procedurami zamykania (OFFLOAD_CANCEL, nfsd4_shutdown_copy, nfsd4_cancel_copy_by_sb) mógł prowadzić do zwolnienia lub użycia zwolnionej struktury kopii, podwójnego zwolnienia nfsd_file oraz odwołań do zwolnionego task_struct.
W jądrze Linux w funkcji nfsd4_ff_encode_layoutget() występują błędy w obliczaniu długości bufora XDR. Błędy te mogą prowadzić do zapisu poza granicami bufora lub wycieku niezainicjalizowanej pamięci jądra do klienta. Najgorszy przypadek występuje przy krótkich ciągach znaków, gdzie funkcja zapisuje do 5 bajtów poza zarezerwowanym buforem.
W jądrze Linux w funkcji nfsd4_ff_encode_getdeviceinfo() występuje błąd w obliczaniu dopełnienia XDR. Rezerwacja da_addr_body jest niezgodna z rzeczywistą liczbą bajtów zapisywanych przez xdr_encode_opaque(), co powoduje wyciek zawartości bufora odpowiedzi do klienta i błędne wyrównanie. Problem występuje przy każdej odpowiedzi flexfile GETDEVICEINFO.
W jądrze Linux w funkcji nfsacld_proc_setacl() dla NFSACL v2 SETACL występuje błąd, który może prowadzić do nieumyślnego usunięcia ACL. Gdy żądanie SETACL zawiera tylko NFS_ACL, drugi wskaźnik (acl_default) pozostaje NULL, a set_posix_acl() z NULL usuwa domyślny ACL katalogu. Podobnie mask=0 usuwa oba ACL.
W jądrze Linux w funkcji nfsd3_proc_setacl() dla NFSv3 SETACL występuje błąd, który może prowadzić do nieumyślnego usunięcia ACL. Gdy żądanie SETACL zawiera tylko NFS_ACL, wskaźnik acl_default pozostaje NULL, a set_posix_acl() z NULL usuwa domyślny ACL katalogu. Podobnie mask=0 usuwa oba ACL.
W jądrze Linux naprawiono podatność w module nfsd, gdzie funkcja nfsd_open_local_fh() odwoływała się do wskaźnika nfsd_file bez utrzymywania blokady RCU. Obiekt mógł zostać zwolniony i ponownie przydzielony przez inny wątek, co prowadziło do użycia zwolnionej pamięci (use-after-free). Poprawka polega na objęciu operacji cmpxchg i pobrania referencji sekcją rcu_read_lock().
W jądrze Linux w funkcji nfsd4_copy_notify() stan cpntf był publikowany w strukturach IDR i liście klienta, zanim zakończono jego inicjalizację i zanim przypisano właściciela. Wyścig z żądaniem OFFLOAD_CANCEL mógł doprowadzić do zwolnienia wpisu i użycia zwolnionej pamięci (use-after-free) przy odczycie stateid oraz zapisach cp_p_stateid/cp_p_clid.
W jądrze Linux w init_nfsd() funkcja nfsd_debugfs_init() jest wywoływana przed nfsd4_init_slabs(). Jeśli alokacja slab się nie powiedzie, wczesny return pomija nfsd_debugfs_exit(), pozostawiając osierocone pliki debugfs ze wskaźnikami fops do zwolnionej pamięci modułu.
W jądrze Linux w module nfsd występuje wyścig (race condition) między mechanizmami shrinker, GC oraz fsnotify/lease a zamykaniem sieci per-net w filecache. Plik nfsd_file może zostać usunięty z rhashtable i przeniesiony na listę dispose, zanim nfsd_file_cache_shutdown_net() zdąży go przetworzyć, co prowadzi do wycieku pliku i powiązanego stanu. Poprawka rozszerza zakres blokady nfsd_gc_lock na wszystkie trzy ścieżki wywołujące nfsd_file_dispose_list_delayed() oraz dodaje barierę spinlock w funkcji zamykającej sieć.
W jądrze Linux w module nfsd klient mógł wysłać żądanie NFSv3 SETATTR, CREATE, MKDIR, SYMLINK lub MKNOD z polem nseconds dla atime/mtime poza prawidłowym zakresem (tv_nsec >= NSEC_PER_SEC). Wartość przechodziła walidację na poziomie protokołu, ale nie była normalizowana, co prowadziło do uszkodzenia metadanych na dysku w systemach plików ext4 i XFS (błędne sekundy i rok). Poprawka odrzuca takie żądania z błędem NFS3ERR_INVAL przed dokonaniem jakichkolwiek zmian.
W jądrze Linux w dekoderze atrybutów NFSv2 (svcxdr_decode_sattr) wartość useconds z sieci jest mnożona przez 1000 i zapisywana do pola tv_nsec. Na architekturach 32-bitowych (ILP32) zbyt duża wartość useconds, np. 4294968, powoduje przepełnienie i zapisanie błędnej wartości tv_nsec (np. 704), która przechodzi późniejszą weryfikację zakresu. Podatność dotyczy operacji SETATTR i CREATE w NFSv2 i została naprawiona poprzez odrzucanie wartości useconds większych niż 1000000 już na etapie dekodowania.
W jądrze Linux w module nfsd występuje wyciek pamięci (referencji) obiektów posix_acl. Gdy klient NFS wysyła nieprawidłową operację OPEN zawierającą atrybuty POSIX ACL, funkcja nfsd4_open() nie jest wywoływana, przez co zaalokowane struktury posix_acl nie są zwalniane. Problem dotyczy również ścieżki odtwarzania (replay) operacji v4.0.
W jądrze Linux w module nfsd wykryto podatność use-after-free związaną ze stanami copy-notify (stateid). Funkcja _free_cpntf_state_locked() odłączała wpis z listy dopiero po osiągnięciu zera licznika referencji, więc ścieżki unieważniania (opróżnianie listy nadrzędnego stid, OFFLOAD_CANCEL oraz wygaśnięcie laundromat) mogły zwolnić referencję bez usunięcia wpisu, pozostawiając go widocznym dla równoczesnego czytelnika. Naprawa wprowadza revoke_cpntf_state_locked(), która najpierw usuwa wpis z IDR i sc_cp_list, a finalne zwolnienie odkłada do momentu zwolnienia referencji przez posiadacza.
W jądrze Linux funkcja __destroy_client() zwalnia właścicieli otwartych plików, ale właściciel blokady, którego jedynym odwołaniem jest zablokowana blokada (nbl), pozostaje w tablicy cl_ownerstr_hashtbl. Podczas rozbiórki klienta może dojść do zwolnienia właściciela przez laundromat i dereferencji NULL w remove_blocked_locks().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

