CVE-2023-53419 in Linuxinformazioni

Riassunto

di VulDB • 26/07/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

rcu: Proteggere l'accesso al campo ->exp_tasks di rcu_print_task_exp_stall()

Per i kernel compilati con CONFIG_PREEMPT_RCU=y, il seguente scenario può provocare un dereferenziamento di puntatore 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) (se rnp->exp_tasks è NULL, questo dereferenzierà un puntatore NULL)

Il problema consiste nel fatto che CPU2 accede al campo ->exp_tasks della struttura rcu_node senza detenere il lock relativo alla struttura rcu_node e CPU2 non ha osservato in tempo la modifica apportata da CPU1 al campo ->exp_tasks della struttura rcu_node. Di conseguenza, se CPU1 imposta a NULL il puntatore ->exp_tasks della struttura rcu_node, è possibile che CPU2 dereferenzii tale puntatore NULL.

Questo commit pertanto mantiene acquisito (holds) il lock relativo alla struttura rcu_node durante l'accesso al campo ->exp_tasks di tale struttura.

[ paulmck: Applicato il feedback di Frederic Weisbecker. ]

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

Responsabile

Linux

Prenotare

17/09/2025

Divulgazione

18/09/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00145

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!