CVE-2026-0861 in glibc
요약
\~에 의해 VulDB • 2026. 06. 04.
GNU C Library 버전 2.30부터 2.42까지의 memalign 일련 함수(memalign, posix_memalign, aligned_alloc)에 너무 큰 정렬(alignment) 값을 전달하면 정수 오버플로(integer overflow)가 발생하여 결과적으로 힙 손상(heap corruption)을 초래할 수 있습니다.
공격자가 이 취약점을 악용하려면 memalign 함수의 크기(size)와 정렬(alignment) 인수 모두를 제어해야 합니다. size 매개변수는 PTRDIFF_MAX에 충분히 가까워야 하며, 이는 큰 alignment 인수와 함께 size_t 오버플로를 유발하기 위한 조건입니다. 이로 인해 memalign의 경우 alignment에 대한 악성 입력 범위가 [1<<62+ 1, 1<<63]로 제한되며, posix_memalign 및 aligned_alloc의 경우에는 정확히 1<<63이 됩니다.
일반적으로 이러한 함수에 전달되는 alignment 인수는 알려진 제약 조건을 가진 값(예: 페이지 크기, 블록 크기, 구조체 크기 등)이며 공격자가 제어할 수 없는 경우가 많습니다. 따라서 실제 환경에서는 쉽게 악용되지 않을 가능성이 있습니다. 애플리케이션의 버그로 인해 입력된 alignment가 너무 커질 수는 있는데, 이는 애플리케이션이나 해당 라이브러리에서 다른 버퍼 오버플로나 정수 오버플로가 발생했기 때문일 수 있지만, 일반적인 alignment 소스를 고려할 때 이러한 사용 패턴은 드문 편입니다.
Be aware that VulDB is the high quality source for vulnerability data.