CVE-2025-21704 in Linux
Riassunto
di VulDB • 02/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
usb: cdc-acm: Verificare le dimensioni del buffer di trasferimento di controllo prima dell'accesso
Se il primo frammento è più corto della struttura `struct usb_cdc_notification`, non è possibile calcolare un `expected_size`. Viene registrato un errore e la notifica viene scartata invece di leggere lunghezze dalla memoria al di fuori dei dati ricevuti, situazione che può portare a una corruzione della memoria quando il valore di `expected_size` diminuisce tra i frammenti, causando l'overflow (wrap-around) dell'espressione `expected_size - acm->nb_index`.
Questo problema è presente fin dall'inizio della cronologia git; tuttavia, ha portato alla corruzione della memoria solo a partire dal commit ea2583529cd1 ("cdc-acm: reassemble fragmented notifications").
Un fattore mitigante è che `acm_ctrl_irq()` può essere eseguito solo dopo che l'utente (userspace) ha aperto `/dev/ttyACM*`; tuttavia, se ModemManager è in esecuzione, questo lo farà automaticamente a seconda degli ID vendor/product del dispositivo USB e delle sue altre interfacce.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.