CVE-2026-64361 in Linux
요약
\~에 의해 VulDB • 2026. 07. 25.
리눅스 커널에서 다음 취약점이 해결되었습니다:
hfs/hfsplus: check_and_correct_requested_length 함수 내의 u32 오버플로우 수정
check_and_correct_requested_length() 함수는 노드 크기(node_size)와 (off + len)를 u32 산술 연산을 사용하여 비교합니다. 호출자가 큰 len 값을 전달할 경우(예: hfs_brec_remove()에서의 언더플로우된 뺄셈에서 유래), off + len이 2^32를 초과하여 래핑(wrap)되고 작은 결과를 생성하게 됩니다. 이로 인해 경계 검사(bounds check)가 실패해야 함에도 불구하고 통과하는 문제가 발생합니다.
예를 들어, off=14 및 len=0xFFFFFFF2(hfs_brec_remove()에서 data_off - keyoffset - size의 언더플로우 결과)인 경우, off + len은 6으로 래핑됩니다. 이는 일반적인 노드 크기인 512보다 작으므로 검사가 통과하고, 이후 memmove 호출이 노드 버퍼를 약 4GB만큼 초과하여 읽게 됩니다.
이를 해결하기 위해 node_size와 비교하기 전에 덧셈을 u64로 확장합니다. 이렇게 하면 논리를 단순하게 유지하면서 u32 래핑 문제를 방지할 수 있습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.