LibRaw 힙 기반 버퍼 오버플로

Talos는 LibRaw의 lossless_jpeg_load_raw() 경로에서 힙 기반 버퍼 오버플로를 공개했다. 문제 입력은 손상된 RAW 파일이다. 공개일은 2026-04-07이고, 벤더 패치는 2026-04-06에 배포됐다.

요약
Talos는 LibRaw의 lossless_jpeg_load_raw() 경로에서 힙 기반 버퍼 오버플로를 공개했다. 문제 입력은 손상된 RAW 파일이다. 공개일은 2026-04-07이고, 벤더 패치는 2026-04-06에 배포됐다.
Note
공개 자료 기준으로 확인되는 핵심은 입력 검증 부족이다. 실제 영향은 LibRaw를 직접 사용하거나 번들링한 제품, 그리고 해당 경로가 활성화된 처리 흐름에 따라 달라진다.
취약점 개요
| 항목 | 내용 |
|---|---|
| 보고서 | TALOS-2026-2331 |
| CVE | CVE-2026-21413 |
| 유형 | 힙 기반 버퍼 오버플로 |
| 대상 함수 | LibRaw::lossless_jpeg_load_raw() |
| 영향 커밋 | 0b56545, d20315b |
| 공개일 | 2026-04-07 |
| 벤더 패치 공개 | 2026-04-06 |
| CVSS | 9.8 / AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CWE | CWE-129 |
LibRaw는 RAW 이미지 파일을 읽고 디코딩하는 오픈소스 C/C++ 라이브러리다. Talos는 CR2Slice 메타데이터를 사용하는 lossless JPEG decoder 경로에서 col 검증이 빠져 있다고 설명했다.
영향 범위
- RAW 파일을 외부 입력으로 받는 이미지 처리 경로
- LibRaw를 정적 링크하거나 번들링한 애플리케이션
- CR2Slice 메타데이터를 처리하는 lossless JPEG decoder 경로
패치 상태
Talos가 공개한 타임라인은 다음과 같다.
| 항목 | 날짜 |
|---|---|
| 최초 벤더 접촉 | 2026-02-12 |
| 벤더 공개 | 2026-02-12 |
| 벤더 패치 공개 | 2026-04-06 |
| 공개 리포트 | 2026-04-07 |
공개문 기준 영향 커밋은 0b56545와 d20315b다. 실제 제품 반영 여부는 각 배포판과 제품 공지에서 따로 확인해야 한다.
대응 포인트
자산 식별
dpkg -l | grep -i libraw
rpm -qa | grep -i libraw
ldd /path/to/application | grep -i libraw
strings /path/to/binary | grep -i libraw
find / -type f \( -name "libraw*.so*" -o -name "*raw*" \) 2>/dev/null
- SBOM과 패키지 목록을 함께 본다.
- 정적 링크 여부를 확인한다.
- 이미지 처리 플러그인과 코덱 모듈을 분리해서 본다.
노출 축소
- RAW 업로드 허용 범위를 줄인다.
- 자동 썸네일 생성과 메타데이터 추출을 중단한다.
- 변환 워커를 격리 계정이나 샌드박스에서 실행한다.
- 크래시 재시도 루프를 막는다.
탐지 포인트
네트워크
- RAW 업로드 뒤 5xx 응답이 반복되는지 본다.
- 같은 원천에서 변형된 RAW가 반복 유입되는지 본다.
- 업로드 크기, 확장자, MIME 타입만 보지 말고 파서 실패율을 같이 본다.
엔드포인트
- 이미지 처리 프로세스의 segfault, abort, 비정상 종료를 본다.
- 같은 입력에서 반복 재현되는 크래시 패턴을 본다.
- 크래시 덤프와 core 파일을 남긴다.
서버
- 변환 워커 재시작이 반복되는지 본다.
- 큐 적체와 처리 실패율 급증을 본다.
- 업로드 처리 시간과 메모리 사용량의 급격한 변동을 본다.