Tesseract: File-controlled pointers still reach `delete` in ADAPT_CLASS_STRUCT destructor
Only affects Tesseract before 5.5.3 when the legacy engine (--oem 0) is used with classify_use_pre_adapted_templates enabled, which defaults to 0. Fixed in 5.5.3.
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Specific setups only
- Fix
- Fixed in 5.5.3
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Tesseract, an open source OCR (optical character recognition) engine, is affected when its legacy engine loads pre-adapted template files with the classifier option enabled. A crafted template file can cause memory corruption and crash the program, resulting in a denial of service.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
Tesseract is an open source OCR engine. Prior to 5.5.4, ReadAdaptedClass in src/classify/adaptive.cpp raw-reads an ADAPT_CLASS_STRUCT from a pre-adapted-template .a file without neutralizing TempProtos and Config pointer fields before any destructor path. When the legacy engine is selected, classify_use_pre_adapted_templates is enabled, and an attacker can write the output-basename .a file, the success or rejection path can pass file-controlled pointers to ~ADAPT_CLASS_STRUCT and operator delete, causing memory corruption and denial of service. This issue is fixed in version 5.5.4.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- tesseract-ocr tesseract
fixed in 5.5.3
References 4
GitHub · tesseract-ocr/tesseract
Questions about CVE-2026-119341
What does this mean?
A file-controlled pointer can reach operator delete in the ADAPT_CLASS_STRUCT destructor, causing memory corruption and denial of service. The advisory does not claim code execution.Source: github.com
Am I affected, and how do I check?
The bug affects Tesseract versions before 5.5.3 that run the legacy engine (--oem 0) with classify_use_pre_adapted_templates enabled, which defaults to 0. It also requires that an attacker can write the file <output-basename>.a. To check, run tesseract --version and look at the classify_use_pre_adapted_templates setting in your configuration.Source: github.com
What should I do about it?
Upgrade Tesseract to 5.5.3 or later.Source: github.com
Is it being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data