CVE-2026-64124 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net: devmem: 페이지 정렬되지 않은 크기가 지정된 dma-buf 바인딩 또는 SG 길이를 거부함

net_devmem_bind_dmabuf() 함수는 dmabuf->size와 sg_dma_len()이 PAGE_SIZE의 배수임을 검증 없이 신뢰합니다. 이는 다음과 같은 문제를 초래합니다.

- tx_vec은 dmabuf->size / PAGE_SIZE 크기로 할당되며, net_devmem_get_niov_at()는 인덱싱하기 전에 virt_addr < dmabuf->size 조건에 대한 경계 검사만 수행합니다. size가 N*PAGE_SIZE + r (1 <= r < PAGE_SIZE)인 경우, iov_base = N*PAGE_SIZE로 sendmsg()를 호출하면 경계 검사를 통과하여 tx_vec[N]을 읽게 됩니다(배열 범위를 벗어난 접근).

- owner->area.num_niovs는 len / PAGE_SIZE로 계산되지만 gen_pool_add_owner()는 전체 바이트 단위 len을 커버합니다. 따라서 페이지 단위가 아닌 마지막이 아닌 SG(Segment)의 경우, 이후 모든 SG에 대해 num_niovs와 gen_pool 영역 간 불일치가 발생하며 이는 RX 및 TX 양방향에서 나타납니다.

dma-buf는 페이지 정렬된 크기를 요구하지 않으므로 바인딩 경로는 자체 인덱싱 방식이 가정하는 조건을 강제해야 합니다. -EINVAL 오류 코드로 두 경우 모두 거부합니다.

크기(size) 검사는 TX 전용입니다(tx_vec만 dmabuf->size를 기준으로 크기 결정). SG 길이(SG-length) 검사는 양방향(RX 및 TX)을 모두 커버합니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-380225

EPSS

0.00000

활동

낮음

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!