PT-2026-89519 · Git+1 · Tesseract

CVE-2026-88053

·

Published

2026-09-10

·

Updated

2026-09-10

CVSS v4.0

8.6

High

VectorAV: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

CVE-2026-88053
GHSA-RPHX-X795-5QJV

Affected Products

Tesseract