CVE-2026-98365 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
RDMA/rxe: mr_check_range()의 정수 오버플로로 인한 OOB 접근 수정
mr_check_range()는 wraparound(오버플로우/언더플로우)에 취약한 산술 연산을 사용하여 [iova, iova+length)가 등록된 MR(Memory Region) 범위 내에 있는지 검증합니다:
if (iova < ibmr.iova || iova + length > mr->ibmr.iova + mr->ibmr.length)
원격 피어는 crafted RDMA-Write/Read RETH를 생성하여 iova + length가 0으로 wrap되도록 할 수 있습니다(예: iova=0xfffffffffffffff8, length=8). 이렇게 하면 검증을 우회할 수 있습니다. 이후 rxe_mr_iova_to_index()는 거대한 인덱스(int idx)를 계산하며(WARN_ON에 의해 보호됨), rxe_mr_copy_xarray()가 mr->page_info[huge]를 역참조하여 OOB(Out-of-Bounds) 읽기/쓰기와 인증되지 않은 원격 피어로부터 트리거 가능한 커널 oops를 유발합니다.
이 검사를 오버플로우 안전한 형태로 재작성했습니다; 첫 두 개의 절은 후속 뺄셈에서 언더플로우가 발생하지 않도록 보장합니다:
if (iova < ibmr.iova || length > mr->ibmr.length || iova - mr->ibmr.iova > mr->ibmr.length - length)
수정 사항 적용 후, crafted된 iova에 대해 mr_check_range()는 -EINVAL를 반환하며, 응답자는 OOB를 트리거하는 대신 REMOTE_ACCESS_ERROR를 보고합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.