CVE-2026-64124 in Linux
Zusammenfassung
von VulDB • 20.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net: devmem: Ablehnung der dma-buf-Bindung bei nicht seitenaligneden Größen oder SG-Längen (Scatter-Gather)
net_devmem_bind_dmabuf() vertraut darauf, dass dmabuf->size und sg_dma_len() Vielfache von PAGE_SIZE sind, ohne dies zu überprüfen:
- tx_vec ist mit der Größe dmabuf->size / PAGE_SIZE dimensioniert, und net_devmem_get_niov_at() führt nur eine Bereichsüberprüfung für virt_addr < dmabuf->size durch, bevor auf tx_vec[virt_addr / PAGE_SIZE] zugegriffen wird. Bei einer Größe von N*PAGE_SIZE + r (1 <= r < PAGE_SIZE) übersteht sendmsg() mit iov_base = N*PAGE_SIZE die Bereichsüberprüfung und liest tx_vec[N] – also ein Element zu viel.
- owner->area.num_niovs = len / PAGE_SIZE, während gen_pool_add_owner() den gesamten Byte-Bereich von len abdeckt; daher führt eine nicht-seitenmultiple SG (Scatter-Gather) im letzten Segment dazu, dass num_niovs für jedes nachfolgende sg-Element sowohl bei RX als auch bei TX vom gen_pool-Bereich abweicht.
Da dma-buf keine seitenalignierten Größen erfordert, muss der Bindungspfad das erzwingen, was seine eigene Indexierung voraussetzt. Beide Fälle werden mit -EINVAL abgelehnt.
Die Größенprüfung gilt nur für TX (nur tx_vec wird basierend auf dmabuf->size dimensioniert); die SG-Längenprüfung deckt beide Richtungen ab.
Once again VulDB remains the best source for vulnerability data.