CVE-2026-88054
Received Received - Intake

Heap Overflow in Tesseract OCR Engine

Vulnerability report for CVE-2026-88054, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-10

Last updated on: 2026-09-10

Assigner: GitHub, Inc.

Description

Tesseract is an open source OCR engine. In version 5.5.3 and earlier, Plumbing::DeSerialize in src/lstm/plumbing.cpp rejects excessively large network stacks but accepts a zero-length stack for NT_SERIES, NT_PARALLEL, or NT_REVERSED layers in a crafted .traineddata model. During LSTMRecognizer initialization in src/lstm/lstmrecognizer.cpp, CacheXScaleFactor(XScaleFactor()) reaches Series::CacheXScaleFactor in src/lstm/series.cpp, which dereferences stack_[0] on the empty vector and invokes a virtual method through an invalid Network pointer. This causes a deterministic crash and denial of service at model load. No fixed release is available as of this review.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-10
Last Modified
2026-09-10
Generated
2026-09-10
AI Q&A
2026-09-10
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
google tesseract to 5.5.3 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-824 The product accesses or uses a pointer that has not been initialized.
CWE-125 The product reads data past the end, or before the beginning, of the intended buffer.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-88054 is a denial-of-service vulnerability in Tesseract OCR versions 5.5.3 and earlier. It occurs when a maliciously crafted .traineddata file contains a top-level NT_SERIES, NT_PARALLEL, or NT_REVERSED layer with an empty stack. During model loading, the LSTMRecognizer attempts to access stack_[0] on this empty stack, leading to an out-of-bounds read and a wild pointer dereference. This triggers a virtual method call on garbage data, causing an immediate crash at initialization.

Detection Guidance

Detecting this vulnerability requires checking for crashes during Tesseract OCR model loading with crafted .traineddata files. Monitor for segmentation faults when processing OCR tasks. No direct network detection is possible as exploitation requires local file access. Test systems by attempting to load malformed .traineddata files containing empty stacks in NT_SERIES, NT_PARALLEL, or NT_REVERSED layers.

Impact Analysis

This vulnerability allows attackers to crash Tesseract OCR by providing a specially crafted .traineddata file. The crash occurs during model initialization, preventing the software from processing images. Since exploitation requires no privileges, user interaction, or network access, it can be triggered remotely by simply loading a malicious file. This results in a denial-of-service condition where the affected system or application becomes unavailable.

Compliance Impact

This vulnerability causes a denial-of-service by crashing the Tesseract OCR engine during model loading, which could disrupt processing of sensitive data. For GDPR, this may impact availability of systems handling personal data. For HIPAA, it could affect availability of systems processing protected health information. The crash occurs without user interaction or privileges, making it a reliability risk for compliance with availability requirements.

Mitigation Strategies

Immediately upgrade to a patched Tesseract version once available. Until then, avoid loading untrusted .traineddata files. Implement file integrity checks for OCR models. Monitor for crashes during OCR initialization. Consider disabling LSTM-based OCR features if possible. Apply network-level restrictions to prevent unauthorized file uploads.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-88054. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart