CVE-2026-89679informazioni

Riassunto

di VulDB • 11/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

nfsd: correzione del null dereference in nfsd4_setattr per gli attributi dei timestamp di delega

Quando una richiesta SETATTR include FATTR4_WORD2_TIME_DELEG_ACCESS o FATTR4_WORD2_TIME_DELEG_MODIFY nel bitmap degli attributi, nfsd4_setattr() imposta deleg_attrs=true e chiama nfs4_preprocess_stateid_op() per convalidare lo stateid.

Se il client fornisce l'NFSv4 "one stateid" (tutti i byte 0xFF), check_special_stateids() restituisce nfs_ok senza popolare il puntatore di output nfs4_stid, poiché il percorso special-stateid in nfs4_preprocess_stateid_op() salta a done: con s==NULL e il blocco "if (s)" che imposterebbe *cstid viene saltato. La variabile locale `st` rimane NULL.

Tornando a nfsd4_setattr(), il blocco if (deleg_attrs) esegue quindi un dereferencing incondizionato di st->sc_type (all'offset 4 da NULL), causando un kernel oops.

Questo è attivabile in remoto da qualsiasi client NFSv4: inviare COMPOUND [PUTROOTFH, SETATTR(ONE_STATEID, {bmval2=FATTR4_WORD2_TIME_DELEG_ACCESS, ...})]. Non sono richieste autenticazione, delega né uno stato precedente.

La correzione consiste nell'aggiungere un controllo NULL prima del dereferencing. Uno stateid speciale non è uno stateid di delega, quindi il valore di ritorno nfserr_bad_stateid esistente è già corretto; occorre solo proteggere il dereferencing del puntatore stesso.

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

Divulgazione

11/09/2026

Moderazione

in revisione

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!