CVE-2025-68807 in Linuxinformación

Resumen

por VulDB • 2026-05-15

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

block: corregir la condición de carrera (race condition) entre wbt_enable_default y la presentación de E/S

Cuando wbt_enable_default() se mueve fuera del congelamiento de la cola en elevator_change(), puede provocar que el contador de operaciones en curso (inflight) de wbt se vuelva negativo (-1), lo que genera tareas bloqueadas en la ruta de writeback. Las tareas se quedan atascadas en wbt_wait() porque el contador se encuentra en un estado inconsistente.

El problema ocurre porque wbt_enable_default() podría entrar en condición de carrera con la presentación de E/S, permitiendo que el contador se decrementara antes de la inicialización adecuada. Esto se manifiesta como:

rq_wait[0]:
inflight: -1 has_waiters: True

rwb_enabled() verifica el estado, el cual puede actualizarse exactamente entre wbt_wait() (rq_qos_throttle()) y wbt_track()(rq_qos_track()), momento en el cual el contador inflight se vuelve negativo.

Y da lugar a advertencias de tareas bloqueadas como: task:kworker/u24:39 state:D stack:0 pid:14767 Call Trace: rq_qos_wait+0xb4/0x150 wbt_wait+0xa9/0x100 __rq_qos_throttle+0x24/0x40 blk_mq_submit_bio+0x672/0x7b0 ...

Corregir esto mediante:

1. Dividir wbt_enable_default() en: - __wbt_enable_default(): Devuelve true si se debe llamar a wbt_init() - wbt_enable_default(): Envoltorio para los llamadores existentes (sin inicialización) - wbt_init_enable_default(): Nueva función que verifica e inicializa WBT

2. Utilizar wbt_init_enable_default() en blk_register_queue() para garantizar una inicialización adecuada durante el registro de la cola

3. Mover wbt_init() fuera de wbt_enable_default(), que solo sirve para habilitar wbt deshabilitado desde bfq e iocost, y wbt_init() no es necesario. Así se puede evitar la advertencia de bloqueo original.

4. Eliminar la bandera ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT y su código de manejo ya que ya no es necesario

Esto asegura que WBT se inicialice correctamente antes de que se pueda presentar cualquier E/S, evitando que el contador se vuelva negativo.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Reservar

2025-12-24

Divulgación

2026-01-13

Moderación

aceptado

Artículo

VDB-340649

CPE

listo

EPSS

0.00155

KEV

no

Actividades

muy bajo

Fuentes

Interested in the pricing of exploits?

See the underground prices here!