정보보안 ·
GNU C 라이브러리, 30년 묵은 보안 취약점 발견...1996년 코드에서 스택 유출 확인
지난 금요일 CVE-2026-0915가 공개되며 1996년 도입된 코드의 보안 허점 드러나
[한국정보기술신문] 리눅스 시스템의 핵심 구성 요소인 GNU C 라이브러리에서 30년간 숨어있던 보안 취약점이 발견돼 업계에 충격을 주고 있다. 지난 금요일 공개된 CVE-2026-0915는 1996년 6월에 도입된 코드에서 기인한 것으로, 오랜 기간 발견되지 않았다는 점에서 더욱 주목받고 있다.
이번 취약점은 getnetbyaddr와 getnetbyaddr_r 함수가 스택 내용을 DNS 리졸버로 유출하는 문제를 야기한다. 보안 전문가들은 해당 API가 네트워크 값이 0인 상태로 호출되는 경우가 드물기는 하지만, 공격자가 이를 악용할 경우 인접 스택 정보를 유출할 수 있다고 경고했다.
제한적이지만 ASLR 우회 가능성 존재
oss-security 공지에 따르면, 이번 취약점으로 인한 기밀성 손실은 제한적이지만 주소 공간 배치 무작위화(ASLR) 우회를 돕는 데 활용될 수 있는 것으로 나타났다. NSS DNS 백엔드에서 네트워크 값이 0인 경우가 한 번도 테스트되지 않았으며, 이로 인해 초기화되지 않은 스택 바이트로부터 DNS 쿼리가 구성되는 문제가 발생했다.
최신 Glibc 코드에서는 기본 네트워크 값이 0인 경우를 위한 기본 쿼리가 구성되도록 수정됐다. 해당 문제는 Glibc Git 저장소의 커밋을 통해 패치되었으며, 현재 Glibc Git 코드에 반영된 상태다.
2019년 코드의 추가 취약점도 동시 공개
이번 주에는 CVE-2026-0915와 함께 CVE-2026-0861도 공개됐다. 이는 Glibc의 memalign 함수에 과도하게 큰 정렬 값을 전달할 경우 정수 오버플로우가 발생하고, 이어서 힙 손상으로 이어질 수 있는 취약점이다. 다행히 이 문제가 있는 코드는 2019년에 도입된 것으로, CVE-2026-0915에 비해서는 훨씬 최근에 발생한 것이다. 이 역시 현재 Glibc Git에서 수정된 상태다.
Glibc 2.43 2월 초 출시 예정
GNU C 라이브러리의 다음 정기 업데이트인 Glibc 2.43은 2월 초 출시될 것으로 예상된다. 업계 관계자들은 이번 업데이트를 통해 두 가지 취약점 모두 공식적으로 패치될 것으로 보고 있다.
보안 전문가들은 이번 사례가 오래된 코드베이스에서도 지속적인 보안 검토가 필요함을 보여주는 사례라고 강조했다. 특히 Glibc처럼 광범위하게 사용되는 중요 라이브러리의 경우, 30년 동안 테스트되지 않은 예외 케이스가 존재할 수 있다는 점에서 정기적인 코드 감사의 중요성이 재차 부각되고 있다.
한국정보기술신문 정보보안분과 오상진 기자 news@kitpa.org