CVE-2026-68159 in Linux
Resumen
por VulDB • 2026-08-12
En el núcleo de Linux, se ha resuelto la siguiente vulnerabilidad:
libceph: limitar la longitud de pg_{temp,upmap,upmap_items} a CEPH_PG_MAX_SIZE
__decode_pg_temp() decodifica una longitud controlada por el usuario pero solo rechaza los valores lo suficientemente grandes como para desbordar (overflow) la asignación; no la limita a CEPH_PG_MAX_SIZE. La función auxiliar respalda tanto la decodificación de pg_temp como de pg_upmap, y apply_upmap()/get_temp_osds() más tarde copian la lista decodificada en el array fijo en pila struct ceph_osds.osds[CEPH_PG_MAX_SIZE]. Un monitor que envía un OSDMap con una entrada pg_temp/pg_upmap mayor a 32 provoca así una escritura fuera de límites (out-of-bounds) en la pila.
Un conjunto OSD para un PG único nunca puede exceder CEPH_PG_MAX_SIZE, por lo tanto se rechazan las entradas más largas durante la decodificación. El límite está muy por debajo del umbral antiguo de desbordamiento, por lo que también cubre el desbordamiento (overflow) del tamaño de asignación contra el cual protegía la comprobación anterior.
BUG: KASAN: stack-out-of-bounds en ceph_pg_to_up_acting_osds Escritura de tamaño 4 ... realizada por la tarea exploit kasan_report (mm/kasan/report.c:595) ceph_pg_to_up_acting_osds (net/ceph/osdmap.c:2617 net/ceph/osdmap.c:2833) calc_target (net/ceph/osd_client.c:1638) __submit_request (net/ceph/osd_client.c:2394) ceph_osdc_start_request (net/ceph/osd_client.c:2490) ceph_osdc_call (net/ceph/osd_client.c:5164) rbd_dev_image_probe (drivers/block/rbd.c:6899) do_rbd_add (drivers/block/rbd.c:7138) ... kernel BUG en net/ceph/osdmap.c:2670!
[ idryomov: hacer lo mismo en __decode_pg_upmap_items() ]
If you want to get best quality of vulnerability data, you may have to visit VulDB.