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.
Published: 2026-09-10
Score: 6.9 Medium
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Monitor
AI Analysis

Impact

A defensive check in Tesseract is bypassed when a malicious arithmetic model file contains a zero‑length stack for NT_SERIES, NT_PARALLEL, or NT_REVERSED layers. The code reaches CacheXScaleFactor and dereferences stack_[0] on an empty vector, invoking an invalid virtual method through a malformed Network object. This deterministic crash occurs during LSTMRecognizer initialization, resulting in a denial of service when the model is loaded. The weakness is an out‑of‑bounds read and a misuse of object lifetime, reflected in CWE‑125 and CWE‑824.

Affected Systems

The vulnerability affects the tesseract‑ocr tesseract engine version 5.5.3 and all earlier releases. Any deployment relying on these versions to load traineddata models is susceptible.

Risk and Exploitability

The CVSS score of 6.9 classifies the vulnerability as moderate, though the EPSS score is unavailable, so the exploitation likelihood cannot be precisely quantified. The vulnerability is not listed in the CISA KEV catalog, indicating no known active exploitation. Attackers would need to supply a crafted .traineddata file to the model loader, either locally or through a remote-facing interface that accepts model uploads. The deterministic nature of the crash makes detection straightforward, but the impact can be significant if mission‑critical systems rely on continuous OCR processing.

Generated by OpenCVE AI on September 10, 2026 at 18:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to any Tesseract release newer than 5.5.3 once a patch is available, as future versions will eliminate the empty‑stack dereference.
  • Validate that all .traineddata files originate from trusted sources before loading them; reject or quarantine any model from unverified origins.
  • Apply a custom code patch that checks for an empty stack in Plumbing::DeSerialize or Series::CacheXScaleFactor before dereferencing, or disable the LSTM recognizer for processes that must remain stable until the official fix is released.

Generated by OpenCVE AI on September 10, 2026 at 18:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 10 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 10 Sep 2026 17:45:00 +0000

Type Values Removed Values Added
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.
Title Tesseract: Denial of service via empty-stack dereference in Plumbing/Series at model load
Weaknesses CWE-125
CWE-824
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-10T18:07:14.601Z

Reserved: 2026-09-09T21:22:45.434Z

Link: CVE-2026-88054

cve-icon Vulnrichment

Updated: 2026-09-10T18:07:10.569Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-10T18:18:14.600

Modified: 2026-09-10T19:54:25.810

Link: CVE-2026-88054

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-10T19:00:11Z

Weaknesses