CyberRota Analysis
AI-GeneratedTesseract versions 5.5.3 and earlier are vulnerable due to improper validation of loop bounds in the Classify::ReadIntTemplates function, which can lead to heap out-of-bounds writes during initialization. This vulnerability may result in heap corruption, application crashes, or potentially allow for controlled memory corruption, posing significant risks to system stability and security. Organizations utilizing Tesseract for OCR tasks should prioritize remediation efforts, especially those handling sensitive data or operating in critical environments.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Tesseract is an open source OCR engine. In version 5.5.3 and earlier, Classify::ReadIntTemplates in src/classify/intproto.cpp reads NumClassPruners, NumClasses, and NumProtoSets from the TESSDATA_INTTEMP component of a crafted .traineddata file and uses those values as loop bounds without validating them against MAX_NUM_CLASS_PRUNERS, MAX_NUM_CLASSES, and MAX_NUM_PROTO_SETS. The loops store heap pointers into fixed-capacity ClassPruners and ProtoSets arrays in INT_TEMPLATES_STRUCT and INT_CLASS_STRUCT, so an oversized count causes heap out-of-bounds pointer writes during legacy-classifier initialization before OCR begins, resulting in heap corruption, a crash, or potentially controlled corruption. No fixed release is available as of this review.