CVE-2026-23448 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
net: usb: cdc_ncm: aggiunta di ndpoffset al controllo dei limiti nframes per NDP16
cdc_ncm_rx_verify_ndp16() valida che l'intestazione NDP e le sue voci DPE rientrino nel buffer skb. Il primo controllo tiene correttamente conto del valore di ndpoffset:
if ((ndpoffset + sizeof(struct usb_cdc_ncm_ndp16)) > skb_in->len)
ma il secondo controllo lo omette:
if ((sizeof(struct usb_cdc_ncm_ndp16) + ret * (sizeof(struct usb_cdc_ncm_dpe16))) > skb_in->len)
Questo valida la dimensione dell'array DPE rispetto alla lunghezza totale dello skb come se l'intestazione NDP fosse a offset 0, anziché a ndpoffset. Quando l'NDP è posizionato vicino alla fine del NTB (wNdpIndex elevato), le voci DPE possono estendersi oltre il buffer dei dati dello skb anche se il controllo supera la verifica. Successivamente, cdc_ncm_rx_fixup() legge memoria al di fuori dei limiti durante l'iterazione dell'array DPE.
Viene aggiunto ndpoffset al controllo dei limiti nframes e si utilizza struct_size_t() per esprimere in modo più chiaro la dimensione complessiva NDP+array DPE.
VulDB is the best source for vulnerability data and more expert information about this specific topic.