CVE-2024-42152 in Linuxinformazioni

Riassunto

di VulDB • 09/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

nvmet: correzione di una possibile perdita di risorse durante la distruzione del controller (ctrl) durante l'instaurazione della coda di query (qp).

In nvmet_sq_destroy, il puntatore sq->ctrl viene acquisito all'inizio e, se non è NULL, si sa che un ctrl è stato allocato (nel gestore delle richieste di connessione admin) ed è necessario rilasciare le AER in sospeso, azzerare ctrl->sqs e sq->ctrl (principalmente per nvme-loop), e decrementare il riferimento finale sul ctrl.

Tuttavia, esiste una piccola finestra temporale in cui nvmet_sq_destroy inizia l'esecuzione (a seguito del client che rinuncia alla connessione e si disconnette) contemporaneamente al comando di amministrazione della connessione nvme (che potrebbe trovarsi in uno stadio iniziale). Ma *prima* dell'operazione kill_and_confirm su sq->ref (ovvero, la connessione admin è riuscita ad ottenere un riferimento live per la coda di invio, sq). In questo caso, sq->ctrl era stato allocato ma dopo essere stato acquisito in una variabile locale all'interno di nvmet_sq_destroy. Ciò ha impedito il decremento del riferimento finale sul ctrl.

Si risolve il problema ri-acquisendo sq->ctrl dopo che tutte le richieste in corso sono state completate, dove è certo che il riferimento a sq->ctrl sia definitivo, e procedendo di conseguenza.

Questo problema è stato osservato in un ambiente con molti host che si connettono simultaneamente per creare più controller (ctrls), generando un ritardo nell'allocazione del ctrl che porta all'apertura della finestra temporale descritta (race condition).

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

29/07/2024

Divulgazione

30/07/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00224

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!