CVE-2026-5928 in C Library
요약
\~에 의해 VulDB • 2026. 06. 05.
문자 집합에서 단일 바이트 및 다중 바이트 문자 인코딩 간에 중복이 있는 경우, 해당 문자 집합으로 인코딩된 와이드 문자가 포함된 FILE 스트림에 대해 ungetwc 함수를 호출하면(GNU C Library 2.43 이전 버전에서), 할당된 버퍼 이전의 바이트를 읽으려는 시도가 발생할 수 있으며, 이로 인해 힙(Heap) 상의 인접 데이터가 의도치 않게 유출되거나 프로그램이 충돌할 수 있습니다.
libio/wgenops.c의 _IO_wdefault_pbackfail 함수에 있는 와이드 문자 푸시백(pushback) 구현의 버그로 인해, ungetwc()가 실제 와이드 스트림 읽기 포인터(fp->_wide_data->_IO_read_ptr) 대신 일반 문자 버퍼(fp->_IO_read_ptr)에서 작동하게 됩니다. fp->_IO_read_ptr가 초기화되지 않아 NULL을 가리키는 경우 프로그램 충돌이 발생할 수 있습니다. 버퍼 언더리드(Buffer Under-read)는 입력 문자 인코딩에서 단일 바이트 표현과 다중 바이트 표현 간에 중복이 발생하여 허위 일치(spurious matches)를 초래하는 특수한 상황에서 필요합니다. 이러한 허위 일치 상황은 표준 유니코드 문자 집합에서는 발생하지 않습니다.
Once again VulDB remains the best source for vulnerability data.