Description
Tesseract is an open source OCR engine. In version 5.5.3 and earlier, FullyConnected::DeSerialize in src/lstm/fullyconnected.cpp does not validate the deserialized layer scalars ni_ and no_ against the weight-matrix dimensions. During FullyConnected::Forward, MatrixDotVector in src/lstm/weightmatrix.cpp writes w.dim1() results into temp_line, which is sized from no_, and reads w.dim2() minus one inputs from curr_input, which is sized from ni_. A crafted .traineddata NT_SOFTMAX layer can therefore use inconsistent dimensions to cause a heap out-of-bounds write and read on the default LSTM engine, resulting in heap corruption, a crash, information disclosure, or potentially controlled corruption. No fixed release is available as of this review.
Published: 2026-09-10
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: Heap out‑of‑bounds write/read with potential for heap corruption, crash, or information disclosure
Action: Patch Immediately
AI Analysis

Impact

In Tesseract OCR versions 5.5.3 and earlier, the FullyConnected::DeSerialize function does not validate the layer scalar dimensions ni_ and no_ against the weight‑matrix dimensions. During a forward pass, MatrixDotVector writes data into a temporary buffer sized from no_ and reads inputs sized from ni_, allowing an attacker to supply a crafted .traineddata file with mismatched dimensions. This can cause a heap out‑of‑bounds write and read, leading to heap corruption, application crashes, information disclosure, or in the worst case controlled memory corruption. The vulnerability exists in the default LSTM engine and persists in all affected releases.

Affected Systems

The vulnerability affects the open‑source Tesseract OCR engine, specifically versions 5.5.3 and all earlier releases; the product is known as tesseract‑ocr tesseract. No fixed release is available as of this review.

Risk and Exploitability

The CVSS score of 8.6 indicates high severity, yet the EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, suggesting limited or unknown exploitation. The likely attack vector requires an attacker to supply a malicious .traineddata file that includes an NT_SOFTMAX layer with inconsistent dimensions, which requires that the attacker’s data be processed by tesseract, either locally or on a system where the engine runs with elevated privileges. The lack of a published exploit does not reduce the potential impact, as the affected code paths are readily usable by an attacker with access to the input pipeline.

Generated by OpenCVE AI on September 11, 2026 at 00:29 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply any vendor patch for this vulnerability as soon as a fixed release becomes available.
  • Restrict placement of .traineddata files to trusted administrators and disable the loading of NT_SOFTMAX layers from untrusted sources.
  • Run tesseract OCR under least privilege and employ memory protection mechanisms (ASLR, stack canaries) to mitigate the impact of a potential heap corruption.

Generated by OpenCVE AI on September 11, 2026 at 00:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 11 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Important


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

Type Values Removed Values Added
Description Tesseract is an open source OCR engine. In version 5.5.3 and earlier, FullyConnected::DeSerialize in src/lstm/fullyconnected.cpp does not validate the deserialized layer scalars ni_ and no_ against the weight-matrix dimensions. During FullyConnected::Forward, MatrixDotVector in src/lstm/weightmatrix.cpp writes w.dim1() results into temp_line, which is sized from no_, and reads w.dim2() minus one inputs from curr_input, which is sized from ni_. A crafted .traineddata NT_SOFTMAX layer can therefore use inconsistent dimensions to cause a heap out-of-bounds write and read on the default LSTM engine, resulting in heap corruption, a crash, information disclosure, or potentially controlled corruption. No fixed release is available as of this review.
Title Tesseract: Heap out-of-bounds write/read in FullyConnected::Forward via layer/weight-matrix dimension mismatch
Weaknesses CWE-125
CWE-787
References
Metrics cvssV4_0

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-11T15:59:35.591Z

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

Link: CVE-2026-88048

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-10T17:17:08.953

Modified: 2026-09-11T16:17:48.273

Link: CVE-2026-88048

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-10T16:21:57Z

Links: CVE-2026-88048 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-11T00:30:15Z

Weaknesses