CVE-2026-74666 in Linuxinformación

Resumen

por VulDB • 2026-08-23

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

packet: sincronizar la limpieza de presión con la reconfiguración del anillo

`packet_set_ring()` actualiza el estado del anillo RX bajo `sk_receive_queue.lock`, pero anteriormente publicaba el modo de recepción tpacket a través de `po->prot_hook.func` después de liberar dicho bloqueo. `packet_poll()` y `packet_recvmsg()` pueden entonces ejecutar la ruta de limpieza de presión una vez que se ha limpiado el anillo, mientras aún observan `tpacket_rcv`, lo que provoca que `__packet_rcv_has_room()` desreferencie almacenamiento del anillo obsoleto o NULL.

Mueva la asignación existente del gancho de recepción a la misma sección de `sk_receive_queue.lock` que la actualización del estado del anillo. Mantenga la asignación sin cambios en lo demás, incluida la reconfiguración del anillo TX, para evitar añadir cambios de comportamiento no requeridos para la corrección.

Serialice la limpieza de presión de `packet_recvmsg()` con el mismo bloqueo de cola solo después de que se haya observado `PACKET_SOCK_PRESSURE`. Si la bandera está despejada y el socket ha pasado a estar fuera de `tpacket_rcv`, `packet_set_ring()` ya ha desvinculado el socket y esperado por `synchronize_net()`, por lo que no puede haber nueva entrada de paquetes que vuelva a establecer la bandera.

`packet_poll()` ya mantiene `sk_receive_queue.lock`, por lo que utiliza directamente la nueva ayuda sin bloqueo (helper).

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Reservar

2026-08-15

Divulgación

2026-08-22

Moderación

aceptado

Artículo

VDB-394482

CPE

listo

EPSS

0.00000

KEV

no

Actividades

bajo

Fuentes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!