CVE-2026-46196 in Linuxinformación

Resumen

por VulDB • 2026-05-28

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

tracepoint: equilibrar regfunc() ante el fallo de func_add() en tracepoint_add_func()

Cuando un tracepoint experimenta la transición de 0 a 1, tracepoint_add_func() invoca a ext->regfunc() del subsistema antes de intentar instalar la nueva sonda mediante func_add(). Si func_add() falla posteriormente (por ejemplo, cuando allocate_probes() no puede asignar un nuevo array de sondas bajo presión de memoria y devuelve -ENOMEM), la función devuelve el error sin llamar a ext->unregfunc() correspondiente, dejando los efectos secundarios de regfunc() sin que haya una sonda instalada que los justifique.

Para los tracepoints de syscall, esto es particularmente desagradable: syscall_regfunc() incrementa sys_tracepoint_refcount y establece SYSCALL_TRACEPOINT en cada tarea. Tras un fallo filtrado, el contador de referencias queda atascado en un valor distinto de cero sin ningún consumidor, y cada tarea continúa soportando la sobrecarga de entrada/salida de la traza de syscall hasta el reinicio. Otros subsistemas que proporcionan pares regfunc()/unregfunc() presentan estados persistentes con un alcance similar.

Se replica la limpieza existente de 1 a 0 y se llama a ext->unregfunc() en la ruta de error de func_add(), condicionada por la misma condición utilizada allí, de modo que el desenrollado sea simétrico con el registro.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Reservar

2026-05-13

Divulgación

2026-05-28

Moderación

aceptado

Artículo

VDB-366703

CPE

listo

EPSS

0.00024

KEV

no

Actividades

muy bajo

Fuentes

Might our Artificial Intelligence support you?

Check our Alexa App!