CVE-2026-88047: high-severity vulnerability in tesseract-ocr tesseract
Tesseract: ReadNormProtos stack buffer overflow
Published · Updated
E-mail alert when it lands in KEV, gets a public PoC or its score goes up.
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 8.6epss 0.1%
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.
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Affected products
tesseract-ocr · tesseractRelated CVEs — tesseract-ocr tesseract
In the same product, most dangerous first.
CVE-2026-119341NONETesseract: File-controlled pointers still reach `delete` in ADAPT_CLASS_STRUCT destructorEPSS 0.3%CVE-2026-88052HIGHTesseract: Heap out-of-bounds write in UNICHARSET::load_via_fgets via count/insert desynchronizationEPSS 0.2%CVE-2026-88053HIGHTesseract: Heap out-of-bounds write in Classify::ReadIntTemplates via unvalidated counts in crafted .traineddataEPSS 0.2%CVE-2026-88048HIGHTesseract: Heap out-of-bounds write/read in FullyConnected::Forward via layer/weight-matrix dimension mismatchEPSS 0.2%CVE-2026-88051HIGHTesseract: Heap out-of-bounds write in GenericVector<T>::read due to independent reserved/size_used_ fieldsEPSS 0.2%CVE-2026-119339MEDIUMTesseract: Crafted LSTM model (`WeightMatrix` mode byte) triggers `ASSERT_HOST` abort in `WeightMatrix::DeSerializeOld` under `FAST_FLOAT` — Denial of ServiceEPSS 0.2%