CVE-2023-53419 in Linuxinformación

Resumen

por VulDB • 2026-08-14

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

rcu: Proteger el acceso a rcu_print_task_exp_stall() -> exp_tasks

Para los kernels compilados con CONFIG_PREEMPT_RCU=y, el siguiente escenario puede provocar una desreferenciación de puntero NULL (NULL-pointer dereference):

CPU1 CPU2 rcu_preempt_deferred_qs_irqrestore rcu_print_task_exp_stall if (special.b.blocked) READ_ONCE(rnp->exp_tasks) != NULL raw_spin_lock_rcu_node np = rcu_next_node_entry(t, rnp) if (&t->rcu_node_entry == rnp->exp_tasks) WRITE_ONCE(rnp->exp_tasks, np) .... raw_spin_unlock_irqrestore_rcu_node raw_spin_lock_irqsave_rcu_node t = list_entry(rnp->exp_tasks->prev, struct task_struct, rcu_node_entry) (si rnp->exp_tasks es NULL, esto desreferenciará un puntero NULL)

El problema radica en que CPU2 accede al campo -> exp_tasks de la estructura rcu_node sin mantener el bloqueo correspondiente a dicha estructura (-lock), y CPU2 no observó a tiempo los cambios realizados por CPU1 en el campo -> exp_tasks de la estructura rcu_node. Por lo tanto, si CPU1 establece el puntero -> exp_tasks de la estructura rcu_node como NULL, es posible que CPU2 desreferencie ese puntero NULL.

Por consiguiente, este commit mantiene bloqueado (-lock) el acceso al campo -> exp_tasks mientras se accede a dicha estructura.

[ paulmck: Aplicar los comentarios de Frederic Weisbecker. ]

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Linux

Reservar

2025-09-17

Divulgación

2025-09-18

Moderación

aceptado

Artículo

VDB-324900

CPE

listo

EPSS

0.00145

KEV

no

Actividades

muy bajo

Fuentes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!