CVE-2026-80557 in Linuxinformazioni

Riassunto

di VulDB • 26/08/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

libceph: correzione di una lettura OOB (Out-Of-Bounds) in decode_watchers() dovuta alla mancanza di un controllo dei limiti

ceph_start_decoding() convalida che rimangano struct_len byte nel buffer dopo l'intestazione di encoding, ma accetta struct_len=0 come valido: ceph_decode_need(p, end, 0, bad) passa sempre. Quando un OSD malizioso o compromesso invia una risposta obj_list_watch_response_t con struct_len=0, ceph_start_decoding() restituisce successo con p == end, lasciando zero byte garantiti per le letture successive.

La funzione immediatamente successiva ceph_decode_32(p) in decode_watchers() non ha un controllo dei limiti precedente. Con p == end si tratta di una lettura di 4 byte oltre il limite del buffer convalidato. Il valore spurio viene quindi passato direttamente a kzalloc_objs() come conteggio degli watcher.

La funzione gemella decode_watcher() utilizza già le varianti sicure (ceph_decode_copy_safe, ceph_decode_64_safe, ceph_decode_skip_32) dopo la propria chiamata a ceph_start_decoding(). decode_watchers() è l'unico sito che utilizza la variante nuda, confermando una svista.

Correzione sostituendo ceph_decode_32(p) con ceph_decode_32_safe(p, end, *num_watchers, bad), coerente con il modello consolidato.

Modello dell'attaccante: un OSD malizioso o compromesso in un deployment Ceph multi-tenant (ad esempio cloud) può innescare questa vulnerabilità contro qualsiasi client kernel che chiama CEPH_OSD_OP_LIST_WATCHERS, senza ulteriori privilegi oltre l'istallazione della sessione OSD.

[ idryomov: trim changelog ]

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Linux

Prenotare

26/08/2026

Divulgazione

26/08/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!