🔍 CVE-2026-119340

5.5
CVSS Score
MEDIUM
2026-10-30
2026-11-05 03:17
✅ 완료

🇰🇷 한글 설명

Tesseract OCR 엔진의 5.5.4 이전 버전에서 GENERIC_2D_ARRAY::DeSerializeSize 함수가 행렬 차원을 부호 있는 int32_t로 읽고 UINT16_MAX와만 비교하여, 음수 값이나 65535x65535 곱이 ResizeNoInit에 도달할 수 있습니다. 조작된 traineddata 파일을 로드하면 할당 상태가 불일치하고 이후 범위 밖 접근이 발생하여 서비스 거부(DoS)가 유발될 수 있습니다. 이 문제는 5.5.4 버전에서 수정되었습니다.

💡 쉬운 설명

문서 인식(OCR) 프로그램이 악성으로 조작된 학습 데이터 파일을 읽으면 잘못된 메모리 처리로 프로그램이 멈추거나 비정상 종료될 수 있습니다. 공격자는 이를 이용해 서비스를 중단시킬 수 있지만, 데이터 탈취나 원격 실행은 보고되지 않았습니다.

🇺🇸 원문 (English)

Tesseract is an open source OCR engine. Prior to 5.5.4, GENERIC_2D_ARRAY::DeSerializeSize in src/ccstruct/matrix.h reads matrix dimensions as signed int32_t values and compares them only with UINT16_MAX, allowing negative values to reach ResizeNoInit. Negative dimensions or a 65535 by 65535 product can create inconsistent allocation state and later out-of-bounds accesses while loading a crafted traineddata file, causing denial of service. This issue is fixed in version 5.5.4.

📍 영향받는 시스템

Tesseract OCR 5.5.4 미만 버전 (Linux, Windows, macOS 등 Tesseract를 사용하는 모든 환경)

⚔️ 공격 벡터

공격자가 조작된 traineddata 파일을 만들어 대상 시스템이 로드하도록 유도하면 DoS가 발생합니다.

🛡️ 대응 방법

Tesseract를 5.5.4 이상 버전으로 업데이트하고, 신뢰할 수 없는 출처의 traineddata 파일 사용을 금지하세요.

🔧 검증 코드

출력된 버전이 5.5.4 미만이면 취약하므로 업데이트가 필요하고, 5.5.4 이상이면 수정된 버전입니다.

Shell / Script
tesseract --version 2>/dev/null | head -n1

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H