CVE-2026-99226 in Linuxinformazioni

Riassunto

di VulDB • 02/11/2026

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

keys: Evitare il dereferencing dell'account proprietario durante la ricerca di un keyring denominato.

La ricerca di un keyring denominato deve mantenere attivo lo storage contenente l'UID del proprietario attraverso il controllo della mappatura degli spazi dei nomi (namespace). La funzione `find_keyring_by_name()` legge `keyring->user->uid` sotto `keyring_name_lock`, ma tale lock protegge solo la voce del nome e l'allocazione del keyring, non il suo `key_user` separato.

Un'operazione di join con un session-keyring denominato può sovrapporsi a una chiamata privilegiata `KEYCTL_CHOWN` su un altro CPU. Se il keyring detiene l'ultimo riferimento al suo vecchio `key_user` dinamico e il trasferimento della proprietà ha successo, è possibile la seguente sequenza:

Join denominato Chown find_keyring_by_name() keyctl_chown_key() read_lock(keyring_name_lock) down_write(key->sem) load old keyring->user replace key->user and key->uid up_write(key->sem) key_put(key) key_user_put(old user): free read old user->uid read_unlock(keyring_name_lock)

L'operazione Chown non acquisisce né `keyring_name_lock` né `key_session_mutex`, quindi può liberare il vecchio account tra il caricamento del puntatore e la lettura dell'UID. La ricerca legge così memoria già liberata, sebbene il keyring stesso sia ancora attivo.

Utilizzare `keyring->uid` per il controllo della mappatura. La funzione `key_alloc()` inizializza questo UID proprietario inline e `keyctl_chown_key()` lo aggiorna durante l'operazione di chown. Il lock del nome esistente mantiene allocato il keyring contenitore per tutta la durata del controllo, quindi la ricerca non dipende più dalla durata dell'account. Questo corrisponde anche all'UID proprietario utilizzato dal controllo dei permessi.

Segnalazione KASAN come segue:

BUG: KASAN: slab-use-after-free in find_keyring_by_name+0x577/0x5d0 Read of size 4 at addr ffff8881128ae2ec by task keycase/500

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

02/11/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!