🇰🇷 한글 설명
Tesseract OCR 엔진 5.5.3 미만 버전에서 조작된 .traineddata 모델을 로드할 때 힙 영역 외부 읽기(Heap Out-of-bounds Read) 취약점이 발생합니다. 이로 인해 프로세스가 비정상적으로 종료될 수 있으며, 이는 src/dict/dawg.cpp 및 dawg.h의 경계 검사 미흡으로 인해 발생합니다.
💡 쉬운 설명
악의적으로 만들어진 학습 데이터를 Tesseract 프로그램에 불러오면 프로그램이 메모리의 잘못된 부분을 읽어 갑자기 꺼질 수 있습니다. 이는 이미지 처리 단계가 시작되기도 전에 발생할 수 있는 오류입니다.
🇺🇸 원문 (English)
Tesseract is an open source OCR engine. Prior to 5.5.3, a crafted .traineddata model loaded through TessBaseAPI::Init can cause SquishedDawg::read_squished_dawg in src/dict/dawg.cpp to accept an unterminated forward-edge run, after which SquishedDawg::Load calls num_forward_edges(0) and last_edge in src/dict/dawg.h reads beyond edges_, causing a heap out-of-bounds read and process crash before image processing. This issue is fixed in version 5.5.3.
📍 영향받는 시스템
Tesseract OCR version < 5.5.3
⚔️ 공격 벡터
조작된 .traineddata 파일을 TessBaseAPI::Init을 통해 로드함
🛡️ 대응 방법
Tesseract를 5.5.3 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 5.5.3 미만의 버전 번호가 나타나면 취약한 버전이 설치된 것입니다.
tesseract --version 2>/dev/null | grep -E 'tesseract [0-5]\.[0-5]\.[0-2]'