Odebrany

CVE-2026-89784

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

SUNRPC: sprawdź wartość zwracaną przez rpc_sockaddr2uaddr() w rpcb_register_inet4/6

rpcb_register_inet4() i rpcb_register_inet6() przechowują wynik
rpc_sockaddr2uaddr() do map->r_addr bez sprawdzania, czy nie ma NULL.
rpc_sockaddr2uaddr() zwraca NULL, gdy ostatnia funkcja kstrdup() nie powiedzie się, oraz
niezaznaczony NULL jest następnie przenoszony do synchronicznego RPCBPROC_SET
zakoduj ścieżkę: rpcb_register_call() -> rpc_call_sync() ->
rpcb_enc_getaddr() -> encode_rpcb_string(), którego pierwsza instrukcja to
strlen(string), dereferencja NULL i pobranie jądra.

Awaria odtwarza się w trybie Failslab w wersji 6.12; z KASANEM NULL
powierzchnie dereferencji jako błąd cienia adresu zerowego:

Ups: ogólny błąd ochrony, prawdopodobnie dla adresu niekanonicznego
0xdffffc0000000000 [#1] PRZEPROWADŹ SMP KASAN
RIP: 0010:strlen (lib/string.c:409)
Zadzwoń do śledzenia:
encode_rpcb_string (net/sunrpc/rpcb_clnt.c:890)
rpcb_enc_getaddr (net/sunrpc/rpcb_clnt.c:910)
rpcauth_wrap_req_encode (net/sunrpc/auth.c:745)
kod_wywołania (net/sunrpc/clnt.c:1966)
__rpc_execute (net/sunrpc/sched.c:952)
rpc_run_task (net/sunrpc/clnt.c:1243)
rpc_call_sync (net/sunrpc/clnt.c:1272)
rpcb_v4_register (net/sunrpc/rpcb_clnt.c:500)
svc_generic_rpcbind_set
nfsd_rpcbind_set
rejestr_svc
svc_setup_socket
svc_addsock
napisz_porty
nfsctl_transaction_write
vfs_write

Awaria jest osiągalna, gdy usługa RPC w jądrze (nfsd, lockd,
nfs-callback) rejestruje się w lokalnym pliku rpcbind przy wystarczającej ilości pamięci
ciśnienie dla małego GFP_KERNEL kstrdup() w rpc_sockaddr2uaddr() do
ponieść porażkę. Asynchroniczna ścieżka getport obsługuje już dokładnie tę awarię
tryb, zwracając -ENOMEM; tylko dwaj pomocnicy rejestru pomijają kontrolę.

Odzwierciedlaj tę obsługę: wyjdź z -ENOMEM, gdy rpc_sockaddr2uaddr()
zwraca NULL, zanim adres zostanie wprowadzony do kodera.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org