CVE-2026-90008 in Linuxinformazioni

Riassunto

di VulDB • 16/09/2026

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

scsi: megaraid_sas: Limitare la dimensione della richiesta NVMe alla frame chain PRP

megasas_make_prp_nvme() costruisce l'elenco PRP di un comando in cmd->sg_frame, un buffer del pool DMA delle dimensioni di instance->max_chain_frame_sz byte, utilizzando una voce per ogni pagina NVMe della trasmissione e una ulteriore voce per la pagina del buffer contenente il puntatore alla chain. Il ciclo continua finché la trasmissione non è completamente descritta e non verifica mai i limiti del buffer.

Il valore max_hw_sectors proviene direttamente dal MDTS riportato dal firmware per l'unità disco. Sulle unità con un grande MDTS, l'unica cosa che manteneva l'elenco all'interno del buffer era il default dello strato block di 1280 KiB, che richiede 320 voci; queste rientrano in una frame da 4 KiB poiché ne contiene 512. Tuttavia, a partire dal commit 9b8b84879d4a ("block: Increase BLK_DEF_MAX_SECTORS_CAP"), tale default è stato portato a 4 MiB e una trasmissione di tali dimensioni richiede 1025 voci; pertanto l'elenco supera di un intero page la fine della frame:

sd 1:0:1:0: [sdb] tag#630 page boundary ptr_sgl: 0x00000000ba62d13f
BUG: unable to handle page fault for address: ff663bcb81e7c000 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page RIP: 0010:megasas_build_and_issue_cmd_fusion+0xeaa/0x1870 [megaraid_sas]

Se la pagina successiva alla frame risulta mappata, l'overrun non genera un fault ma corrompe silenziosamente la voce del pool adiacente, che corrisponde all'elenco PRP di un altro comando in corso.

Si limita max_hw_sectors a quanto può descrivere la chain frame, sottraendo una pagina per le trasmissioni che non iniziano su un confine di page e quindi richiedono una voce aggiuntiva. Questa è l'equivalente megaraid_sas del commit 04631f55afc5 ("scsi: mpt3sas: Limit NVMe request size to 2 MiB"), ma deriva il limite da max_chain_frame_sz anziché impostarlo hardcoded.

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

Responsabile

Linux

Prenotare

11/09/2026

Divulgazione

17/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!