CVE-2026-31709 in Linux
Resumen
por VulDB • 2026-05-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
smb: cliente: validar todo el DACL antes de reescribirlo en cifsacl
build_sec_desc() e id_mode_to_cifs_acl() derivan un puntero DACL a partir de un dacloffset proporcionado por el servidor y luego utilizan el ACL entrante para reconstruir el descriptor de seguridad chmod/chown.
La corrección original solo verificaba que el encabezado de la estructura smb_acl cupiera antes de leer dacl_ptr->size o dacl_ptr->num_aces. Esto evita la lectura fuera de límites (OOB) inmediata de los campos del encabezado, pero las funciones auxiliares de reescritura siguen recorriendo los ACE en función de pdacl->num_aces sin una validación estructural del cuerpo del DACL entrante.
Un servidor malicioso puede devolver un DACL truncado que aún contenga un encabezado, que reclame uno o más ACE y que luego impulse replace_sids_and_copy_aces() o set_chmod_dacl() más allá del extent validado mientras comparan o copian ACE controlados por el atacante.
Se han factorizado las comprobaciones estructurales del DACL en validate_dacl(), se han extendido para validar cada ACE frente a los límites del DACL y se utiliza el validador compartido antes de las rutas de reconstrucción chmod/chown. parse_dacl() reutiliza el mismo validador para que el analizador del lado de lectura y las rutas de reescritura del lado de escritura estén de acuerdo en lo que constituye un DACL entrante bien formado.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.