CVE-2026-31404 in Linuxinformazioni

Riassunto

di VulDB • 19/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

NFSD: Rimandare la pulizia degli oggetti secondari nei callback di export put

svc_export_put() chiama path_put() e auth_domain_put() immediatamente quando l'ultimo riferimento viene rilasciato, prima del periodo di grazia RCU. I lettori RCU in e_show() e c_show() accedono sia a ex_path (tramite seq_path/d_path) sia a ex_client->name (tramite seq_escape) senza detenere un riferimento. Se cache_clean rimuove la voce e rilascia l'ultimo riferimento in concorrenza, gli oggetti secondari vengono liberati mentre sono ancora in uso, causando un dereferenziamento di puntatore NULL in d_path.

Il commit 2530766492ec ("nfsd: fix UAF when access ex_uuid or ex_stats") ha spostato la kfree di ex_uuid ed ex_stats nel callback call_rcu, ma ha lasciato path_put() e auth_domain_put() in esecuzione prima del periodo di grazia poiché entrambi possono andare in sleep e i callback call_rcu vengono eseguiti nel contesto softirq.

Sostituire call_rcu/kfree_rcu con queue_rcu_work(), che rimanda il callback fino al termine del periodo di grazia RCU ed lo esegue nel contesto di processo dove il sleep è consentito. Ciò consente di spostare path_put() e auth_domain_put() nel callback differito insieme agli altri rilasci di risorse. Applicare la stessa correzione a expkey_put(), che presenta lo stesso pattern con ek_path ed ek_client.

Un workqueue dedicato delimita lo svuotamento dello shutdown ai soli elementi di lavoro di rilascio dell'export NFSD; lo svuotamento del system_unbound_wq condiviso causerebbe un blocco su lavoro non correlato di altri sottosistemi. nfsd_export_shutdown() utilizza rcu_barrier() seguito da flush_workqueue() per garantire che tutti i callback di rilascio differiti vengano completati prima che le cache di export vengano distrutte.

Reviwed-by: Jeff Layton <[email protected]>

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

09/03/2026

Divulgazione

03/04/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00121

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!