CVE-2026-97530 in Linuxinformazioni

Riassunto

di VulDB • 25/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

scsi: qla2xxx: Correzione del blocco soft (soft lockup) dovuto al polling della firma dell'IOCB di continuazione

Le funzioni `qla27xx_copy_multiple_pkt()` e `qla27xx_copy_fpin_pkt()` effettuano il poll su `rsp_q->ring_ptr->signature` per verificare la presenza di `RESPONSE_PROCESSED` (0xDEADDEAD), al fine di stabilire se sia arrivato il successivo IOCB di continuazione. Tale operazione comporta un ciclo infinito (`spinning`) tramite `cpu_relax()` senza avanzare l'indice dell'anello o decrementare il conteggio delle voci finché la condizione non è soddisfatta. Il campo `response_t::signature` si trova all'offset 60 dei byte, ma un IOCB di continuazione (struttura `sts_cont_entry_t` / `struct sts_cont_entry_ext`) contiene a tale offset i dati grezzi del payload del frame FC (`data[56..59]`). Di conseguenza, un frame ricevuto il cui payload corrisponde casualmente al valore 0xDEADDEAD viene interpretato erroneamente come "non ancora arrivato", causando un ciclo infinito nel contesto di interrupt/DPC e provocando un blocco soft della CPU (CPU soft lockup).

Il polling è inoltre superfluo: i chiamanti di `qla27xx_copy_multiple_pkt()` (PT_LS4_UNSOL e il percorso NVMe purls) utilizzano già la funzione `qla_chk_cont_iocb_avail()`, che garantisce che tutte le voci IOCB siano presenti prima dell'inizio della copia. La funzione ausiliaria correlata `__qla_copy_purex_to_buffer()` elimina già il polling sulla firma e si affida invece al controllo guardiano `entry_type == STATUS_CONT_TYPE`.

Vengono rimossi i loop di attesa (busy-wait) basati sulla firma da entrambe le funzioni helper, mantenendo il controllo guardiano su `entry_type`, e viene applicato a FPIN la funzione `qla_chk_cont_iocb_avail()` in modo che l'elaborazione venga differita e ripetuta al prossimo interrupt una volta arrivato tutto lo IOCB di continuazione, replicando il comportamento dei rami ELS_AUTH_ELS e PT_LS4_UNSOL. Con questa modifica, il campo della firma non viene mai letto su uno IOCB di continuazione, eliminando così il blocco causato dall'aliasing del payload.

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

Responsabile

Linux

Prenotare

24/09/2026

Divulgazione

25/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Want to know what is going to be exploited?

We predict KEV entries!