CVE-2026-88052 Tesseract: Heap out-of-bounds write in UNICHARSET::load_via_fgets via count/insert desynchronization
Heap out-of-bounds write in Tesseract OCR allows attackers to cause crashes or potentially execute code via crafted unicharset files.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-88052?
CVE-2026-88052 is a high-severity memory corruption vulnerability in tesseract-ocr tesseract, published on 10 Sep 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
Tesseract is an open source OCR engine. In version 5.5.3 and earlier, UNICHARSET::load_via_fgets in src/ccutil/unicharset.cpp trusts the declared unichar count as a loop bound and uses id as an unchecked index into the unichars vector. unichar_insert_backwards_compatible can leave the vector unchanged for an empty, duplicate, or already-encodable representation, causing id to become larger than unichars.size(). Subsequent set_* calls and the write to unichars[id].properties.enabled then write UNICHAR_PROPERTIES beyond the vector during initialization in both the default LSTM and legacy engines, causing heap corruption, a crash, or potentially controlled corruption. No fixed release is available as of this review.
Which versions are affected by CVE-2026-88052?
It affects 1 product.
Products include Tesseract-Ocr Tesseract Ocr.
How do I fix CVE-2026-88052?
No fix published yet.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2026-88052 being exploited?
There is no known exploitation of CVE-2026-88052 in the wild and no public exploit code.
Other vulnerabilities in tesseract-ocr tesseract
- CVE-2026-88047 Tesseract: ReadNormProtos stack buffer overflow
- CVE-2026-88048 Tesseract: Heap out-of-bounds write/read in FullyConnected::Forward via layer/weight-matrix dimension mismatch
- CVE-2026-88049 Tesseract: Heap out-of-bounds write in LSTM::Forward via na_/gate-matrix dimension mismatch
- CVE-2026-88051 Tesseract: Heap out-of-bounds write in GenericVector<T>::read due to independent reserved/size_used_ fields
- CVE-2026-88053 Tesseract: Heap out-of-bounds write in Classify::ReadIntTemplates via unvalidated counts in crafted .traineddata
Sources
Also known as DEBIAN-CVE-2026-88052, ECHO-43ed-bd73-2a27, GHSA-2hm8-q5c7-c373, UBUNTU-CVE-2026-88052.