CVE-2026-89784 in Linuxinformation

Résumé

par VulDB • 16/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

SUNRPC : vérifier la valeur de retour de rpc_sockaddr2uaddr() dans rpcb_register_inet4/6

Les fonctions rpcb_register_inet4() et rpcb_register_inet6() stockent le résultat de rpc_sockaddr2uaddr() dans map->r_addr sans vérifier s'il est NULL. rpc_sockaddr2uaddr() renvoie NULL lorsque sa fonction finale kstrdup() échoue, et la valeur NULL non vérifiée est ensuite transmise au chemin d'encodage synchrone RPCBPROC_SET : rpcb_register_call() -> rpc_call_sync() -> rpcb_enc_getaddr() -> encode_rpcb_string(), dont la première instruction est strlen(string), ce qui entraîne une déréférencement de pointeur NULL et un plantage du noyau (oops).

Le crash se reproduit sous failslab sur la version 6.12 ; avec KASAN, la déréférence de NULL apparaît comme une faute d'accès à l'ombre de l'adresse zéro :

Oops: general protection fault, probablement pour une adresse non canonique 0xdffffc0000000000 [#1] PREEMPT SMP KASAN
RIP : 0010:strlen (lib/string.c:409) Trace d'appel : 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) call_encode (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 svc_register svc_setup_socket svc_addsock write_ports nfsctl_transaction_write vfs_write

Le crash est accessible lorsqu'un service RPC intégré au noyau (nfsd, lockd, nfs-callback) s'enregistre auprès du rpcbind local sous une forte pression mémoire, entraînant l'échec de la petite allocation kstrdup() GFP_KERNEL dans rpc_sockaddr2uaddr(). Le chemin asynchrone getport gère déjà exactement ce mode d'échec en renvoyant -ENOMEM ; seules les deux fonctions auxiliaires d'enregistrement omettent cette vérification.

Mettez en œuvre la même gestion : sortez avec un code d'erreur -ENOMEM lorsque rpc_sockaddr2uaddr() renvoie NULL, avant que l'adresse ne soit transmise à l'encodeur.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Réserver

11/09/2026

Divulgation

16/09/2026

Modérer

accepté

Entrée

VDB-405570

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!