PT-2026-89519 · Git+1 · Tesseract
CVE-2026-88053
·
Published
2026-09-10
·
Updated
2026-09-10
CVSS v4.0
8.6
High
| Vector | AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
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.
Exploit
Fix
Memory Corruption
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Tesseract