CVE-2026-88052: Tesseract heap out-of-bounds write in UNICHARSET loading

CVE-2026-88052 · Severity: high · CVSS 7.8 · Published 2026-09-10

Tesseract is an open-source optical character recognition (OCR) engine used to extract text from images and documents. A vulnerability in how it loads character set definitions allows an attacker to craft a malformed file that triggers memory corruption, potentially crashing the application or enabling further exploitation during document processing.

Technologies: Tesseract OCR Tesseract. Vendors: Tesseract OCR.

Quick answers

Is CVE-2026-88052 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-88052 being exploited in the wild.
How severe is CVE-2026-88052?
High severity, with a CVSS score of 7.8, published 10 September 2026.
Which products and versions are affected?
Tesseract OCR Tesseract 5.5.3 and earlier.
Is there a fix for CVE-2026-88052?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-88052 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-88052?
Check whether you run Tesseract OCR Tesseract at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is a heap out-of-bounds write (CWE-787, CWE-129) in UNICHARSET::load_via_fgets (src/ccutil/unicharset.cpp). The function trusts a declared unichar count from the file as a loop bound and uses the loop index as an unchecked array index into the unichars vector. Because unichar_insert is a no-op for duplicate, empty, or already-encodable character representations, the vector size desynchronizes from the loop counter; subsequent set_* calls and property assignments write past the vector's end. The vulnerability is reachable at engine initialization via both LSTM (TESSDATA_LSTM_UNICHARSET) and legacy engine paths, and can be triggered by crafting a unicharset file with a duplicate character entry. No patched release is available as of the advisory date.

Affected products

  • tesseract-ocr Tesseract 5.5.3 and earlier

Timeline

  • 2026-08-25: disclosed: GitHub Security Advisory GHSA-2hm8-q5c7-c373 published
  • 2026-09-10: advisory: NVD entry published for CVE-2026-88052

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.