🇰🇷 한글 설명
Tesseract OCR 엔진 5.5.3 미만 버전에서 발생하는 취약점으로, 조작된 .traineddata LSTM 모델을 로드할 때 정수 오버플로가 발생합니다. 이로 인해 힙 메모리 영역에서 경계 외 쓰기(Out-of-bounds write)가 발생하여 시스템 보안을 위협할 수 있습니다.
💡 쉬운 설명
악의적으로 만들어진 특수한 글자 인식 데이터 파일을 읽을 때, 프로그램이 메모리 계산을 잘못하여 시스템의 중요한 영역을 덮어쓸 수 있는 문제입니다. 이를 통해 해커가 컴퓨터를 제어하거나 프로그램을 강제로 종료시킬 수 있습니다.
🇺🇸 원문 (English)
Tesseract is an open source OCR engine. Prior to 5.5.3, a crafted .traineddata LSTM model component loaded through Tesseract's deserializer can cause an unchecked signed integer multiplication in Convolve::DeSerialize in src/lstm/convolve.cpp to wrap the convolution output-channel count, undersizing the forward-pass output buffer while writes use the unwrapped element count and causing a heap out-of-bounds write during OCR recognition. This issue is fixed in version 5.5.3.
📍 영향받는 시스템
Tesseract OCR version < 5.5.3
⚔️ 공격 벡터
조작된 .traineddata 파일을 Tesseract 엔진을 통해 로드하도록 유도
🛡️ 대응 방법
Tesseract OCR을 최신 버전인 5.5.3 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 5.5.3 미만이면 취약한 상태이며, 5.5.3 이상이면 안전합니다.
tesseract --version | grep -E '5\[\.\d+\.\d+\]'