CVE-2026-89761 in Linuxinformación

Resumen

por VulDB • 2026-09-12

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

apparmor: corregir escritura fuera de límites al terminar con nulo un vector de etiquetas (label vec)

aa_vec_unique() termina con nulo en vec[n - dups] cuando se pasa VEC_FLAG_TERMINATE. Si todos los componentes son distintos, no se eliminan duplicados, dups es 0 y el terminador va a vec[n], por lo que el llamante debe proporcionar espacio para n + 1 entradas.

aa_label_strn_parse() configura su vector con vec_setup(profile, vec, len, gfp) y luego llama aa_vec_unique(vec, len, VEC_FLAG_TERMINATE), pero vec_setup() no reserva la entrada del terminador. Hasta LOCAL_VEC_ENTRIES utiliza el array local de punteros de LOCAL_VEC_ENTRIES; por encima de eso, asigna exactamente len punteros. Por lo tanto, el terminador queda una entrada más allá del final del array local cuando len es LOCAL_VEC_ENTRIES, y una entrada más allá del final de la asignación cuando len es mayor.

len proviene del número de componentes separados por "//&" en el nombre de la etiqueta y label_count_strn_entries() no lo acota. Una tarea sin privilegios accede al análisis escribiendo en /proc/self/attr/apparmor/current o a través de lsm_set_self_attr(2), ambos los cuales pasan por do_setattr(), y el nombre se analiza antes de verificar el permiso change_profile. La ruta query_label() detrás del archivo .access de securityfs, que tiene modo 0666, no realiza ninguna verificación de permisos en absoluto. Cada componente debe resolverse a un perfil cargado, por lo que es necesario tener una política cargada en el sistema.

Los otros dos usuarios de VEC_FLAG_TERMINATE trabajan sobre un vector de etiquetas (label vec) que aa_label_alloc() ya ha dimensionado con "+ 1 para la entrada del terminador nulo en vec". Reservar la misma entrada en vec_setup() y DEFINE_VEC(). Pasar len + 1 desde el llamante movería len == LOCAL_VEC_ENTRIES fuera del array local y hacia kzalloc().

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Reservar

2026-09-11

Divulgación

2026-09-11

Moderación

aceptado

Artículo

VDB-402614

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!