CVE-2026-88047
Published: September 10th, 2026
Tesseract is an open source OCR engine. In version 5.5.3 and earlier, Classify::ReadNormProtos in src/classify/normmatch.cpp parses the NORMPROTO component of a .traineddata file and uses std::istream::operator>>(char*) to extract a whitespace-delimited token into a fixed 61-byte stack buffer without setting a stream width. The 100-byte line buffer can carry a token of up to 99 characters, so a token longer than 60 characters writes up to 39 attacker-controlled bytes past the buffer during TessBaseAPI::Init of the legacy engine, causing stack corruption, denial of service, and potentially control-flow hijacking on affected standard-library implementations. Builds using Apple's libc++ C++20 bounded array overload are incidentally protected, while typical libstdc++ builds remain affected. No fixed release is available as of this review.
Unknown
CVSS v2:
CVSS v2:
Status
| DocFilters Release | Package | State | Justification | Comment |
|---|---|---|---|---|
| daily | tesseract (3.02.02) | Needs Triage | ||
| 26.3 | tesseract (3.02.02) | Needs Triage | ||
| 26.2 | tesseract (3.02.02) | Needs Triage | ||
| 26.1 | tesseract (3.02.02) | Needs Triage | ||
| 25.4 | tesseract (3.02.02) | Needs Triage | ||
| 25.3 | tesseract (3.02.02) | Needs Triage | ||
| 25.2 | tesseract (3.02.02) | Needs Triage | ||
| 25.1 | tesseract (3.02.02) | Needs Triage | ||
| 24.4 | tesseract (3.02.02) | Needs Triage | ||
| 24.4.0 | tesseract (3.02.02) | Needs Triage | ||
| 24.3 | tesseract (3.02.02) | Needs Triage | ||
| 24.2 | tesseract (3.02.02) | Needs Triage | ||
| 24.1 | tesseract (3.02.02) | Needs Triage | ||
| 23.3 | tesseract (3.02.02) | Needs Triage | ||
| 23.2 | tesseract (3.02.02) | Needs Triage | ||
| 23.1 | tesseract (3.02.02) | Needs Triage | ||
| 22.4 | tesseract (3.02.02) | Needs Triage | ||
| 22.3 | tesseract (3.02.02) | Needs Triage | ||
| 22.2 | tesseract (3.02.02) | Needs Triage | ||
| 22.1 | tesseract (3.02.02) | Needs Triage | ||
| 21.11 | tesseract (3.02.02) | Needs Triage | ||
| 21.8 | tesseract (3.02.02) | Needs Triage | ||
| 21.5.0 | tesseract (3.02.02) | Needs Triage | ||
| 21.2.0 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.19.3667 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.18.3599 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.16.3445 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.15.3368 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.14.3263 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.13.3179 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.12.3054 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.11.3040 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.11.2990 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.10.2934 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.9.2878 | tesseract (3.02.02) | Needs Triage | ||
| 11.4.8.2822 | tesseract (3.02.02) | Needs Triage |