PatchSiren cyber security CVE debrief
CVE-2026-88047 tesseract-ocr CVE debrief
A buffer overflow vulnerability exists in Tesseract's Classify::ReadNormProtos function, which can lead to stack corruption, denial of service, and potentially control-flow hijacking. The vulnerability affects Tesseract version 5.5.3 and earlier. This issue arises from the function's use of std::istream::operator>>(char*) to extract a whitespace-delimited token into a fixed 61-byte stack buffer without setting a stream width, allowing a token longer than 60 characters to write up to 39 attacker-controlled bytes past the buffer. Builds using Apple's libc++ C++20 bounded array overload are incidentally protected, while typical libstdc++ builds remain affected. No fixed release is yet
- Vendor
- tesseract-ocr
- Product
- tesseract
- CVSS
- HIGH 8.6
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-09-10
- Original CVE updated
- 2026-09-11
- Advisory published
- 2026-09-10
- Advisory updated
- 2026-09-11
Who should care
Defenders responsible for systems using Tesseract for OCR tasks should assess exposure and prioritize remediation. This includes reviewing system inventory for Tesseract installations, verifying versions, and implementing compensating controls until a fixed version is available.
Why it matters
CVE-2026-88047 is a high-severity buffer overflow vulnerability in the Tesseract OCR engine that can lead to denial of service and potentially control-flow hijacking. Defenders should assess exposure, prioritize remediation, and implement compensating controls.
- Denial of service due to stack corruption
- Potential control-flow hijacking on affected standard-library implementations
- Need for input validation and bounds checking for NORMPROTO component data
- Remediation priority due to high CVSS score of 8.6
Technical summary
The Classify::ReadNormProtos function in Tesseract's src/classify/normmatch.cpp file is vulnerable to a buffer overflow attack. The function uses std::istream::operator>>(char*) to extract a whitespace-delimited token into a fixed 61-byte stack buffer without setting a stream width. This can lead to stack corruption, denial of service, and potentially control-flow hijacking on affected standard-library implementations.
Defensive priority
High priority remediation is recommended for systems using affected Tesseract versions, especially in environments where OCR engine inputs are not strictly controlled.
Recommended defensive actions
- Assess exposure by reviewing system inventory for Tesseract installations, especially in environments where OCR engine inputs are not strictly controlled.
- Verify if the system uses a vulnerable version of Tesseract (5.5.3 or earlier) and prioritize remediation.
- Implement input validation and bounds checking for NORMPROTO component data to prevent buffer overflows.
- Consider upgrading to a fixed version of Tesseract once available.
- Review compensating controls for exposed systems while remediation is scheduled and verified.
- Check relevant monitoring, detection, and logs for exposed assets that need extra review.
- Track exceptions, retest remediated assets, and close the item only after evidence is documented.
Evidence notes
The vulnerability is caused by the use of std::istream::operator>>(char*) to extract a whitespace-delimited token into a fixed 61-byte stack buffer without setting a stream width. A token longer than 60 characters can write up to 39 attacker-controlled bytes past the buffer.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-88047 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-88047
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-88047 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-88047
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/tesseract-ocr/tesseract/commit/1bda5079b1c8a7e25f523486837426903d29ce84
-
Source reference
Unverified legacy reference
URL: https://github.com/tesseract-ocr/tesseract/security/advisories/GHSA-5j2p-r5vc-q7f3
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.