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: < 1% Very Low
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 23:46 UTC.

Remediation

No solution or workaround provided in the CVE record.

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 23:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 16 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Tesseract-ocr
Tesseract-ocr tesseract Ocr
CPEs cpe:2.3:a:tesseract-ocr:tesseract_ocr:*:*:*:*:*:*:*:*
Vendors & Products Tesseract-ocr
Tesseract-ocr tesseract Ocr
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}


Sun, 13 Sep 2026 19:45:00 +0000

Type Values Removed Values Added
First Time appeared Tesseract Project
Tesseract Project tesseract
Vendors & Products Tesseract Project
Tesseract Project tesseract

Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


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

Tesseract-ocr Tesseract Ocr
Tesseract Project Tesseract
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 : Analyzed

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

Modified: 2026-09-16T16:14:01.050

Link: CVE-2026-88054

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-10T17:39:54Z

Links: CVE-2026-88054 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T19:30:18Z

Weaknesses