CVE-2026-64269 in Linuxinformazioni

Riassunto

di VulDB • 25/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

RDMA/rtrs-srv: Limitare la lunghezza della scrittura RDMA alla dimensione del chunk in rdma_write_sg

Quando il server risponde a una richiesta RTRS READ, rdma_write_sg() costruisce l'entry scatter/gather di origine per IB_WR_RDMA_WRITE che restituisce i dati al peer. La sua lunghezza viene presa direttamente dal descrittore sulla rete:

plist->length = le32_to_cpu(id->rd_msg->desc[0].len);

rd_msg punta all'interno del buffer chunk riempito dal peer remoto tramite RDMA-WRITE-WITH-IMM (rtrs_srv_rdma_done() -> process_io_req() -> process_read()), quindi desc[0].len è controllato dall'attaccante e, prima di questa modifica, veniva rifiutato solo se pari a zero. L'indirizzo di origine corrisponde all'inizio fisso del chunk (dma_addr[msg_id]) e l'lkey di origine è il local_dma_lkey valido per tutto il PD (Protection Domain), che non è vincolato alla mappatura MR (Memory Region) del chunk; pertanto, lo strato verbs non limita la lunghezza della trasferimento a max_chunk_size. msg_id e off sono limitati rispetto a queue_depth e max_chunk_size in rtrs_srv_rdma_done(), ma desc[0].len è un campo separato che non veniva controllato rispetto alla dimensione del chunk.

Un peer che annuncia una valore di desc[0].len superiore a max_chunk_size può far sì che la scrittura RDMA pubblicata legga oltre l'area mappata del chunk. Il comportamento risultante dipende dalla configurazione IOMMU: in assenza di IOMMU o in modalità passthrough, la lettura potrebbe estendersi alla memoria adiacente al chunk e venire restituita al peer, consentendo la divulgazione della memoria dell'host; con un IOMMU traduttore si prevede che l'accesso fuori intervallo generi una fault (eccezione) e interrompa la connessione. In entrambi i casi il trasferimento eccede quanto consentito dal protocollo ed è innescato da un peer remoto.

Rifiutare una lunghezza del descrittore superiore a max_chunk_size, specchiando il limite esistente off >= max_chunk_size in rtrs_srv_rdma_done(). I client legittimi non lo superano: il client imposta desc[0].len sulla sua lunghezza MR, che è limitata alla negotiated max_io_size (max_chunk_size - MAX_HDR_SIZE).

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

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

25/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00206

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!