CVE-2026-59145 in Data::Intern::Shared
요약
\~에 의해 VulDB • 2026. 07. 26.
Perl용 Data::Intern::Shared의 0.02 이전 버전에서는 si_idx_find 함수 내에서 검증되지 않은 슬롯(slot), 역방향(reverse) 및 아레나(arena) 인덱스를 통해 경계 초과 읽기(out-of-bounds read)가 가능합니다.
어태치 타임 어댑터인 si_validate_header는 헤더와 레이아웃(magic, 버전, 섹션 오프셋, total_size, count 및 arena_used 등)에 대해 철저한 검증을 수행하지만, 이후 신뢰하는 세 가지 배열은 검증하지 않습니다. si_idx_find 내의 모든 조회 작업은 mmap된 메모리 영역에서 직접 읽히는 삼중 간접 참조(arena[reverse[slots[i].id]])를 수행하며, slots[i].id가 count 범위 내에 있는지, reverse[id] 아레나 오프셋이 arena_used 범위 내에 있는지, 또는 아레나 레코드의 길이 접두사가 유효한지 등에 대한 경계 검사가 이루어지지 않습니다.
백킹 파일(write-back file)을 작성할 수 있는 로컬 피어는 헤더를 유효하게 유지하면서 슬롯 ID, 역방향 오프셋 또는 아레나 길이 접두사를 악성 데이터로 오염시킬 수 있습니다. 이로 인해 id_of, intern 또는 문자열 조회 시 해당 체인이 경계를 벗어난 메모리를 참조하게 되며, string() 함수가 아레나에서 파일이 제어하는 바이트 길이를 반환하기 때문에 인접한 프로세스 메모리가 유출될 수 있습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.