CVE-2026-88048
Analyzed Analyzed - Analysis Complete

Tesseract OCR Heap Out-of-Bounds Write in LSTM Layer

Vulnerability report for CVE-2026-88048, 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-14

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-10
Last Modified
2026-09-14
Generated
2026-10-01
AI Q&A
2026-09-10
EPSS Evaluated
2026-09-29
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
tesseract-ocr tesseract_ocr to 5.5.3 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.
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-88048 is a heap out-of-bounds write and read vulnerability in the Tesseract OCR engine affecting versions 5.5.3 and earlier. It occurs in the FullyConnected::Forward function due to unvalidated layer scalars ni_ and no_ against weight matrix dimensions during deserialization. A crafted .traineddata file with mismatched dimensions can trigger heap corruption, crashes, or information disclosure.

Detection Guidance

This vulnerability is specific to the Tesseract OCR engine and requires examining the .traineddata files used by the system. Check for files with mismatched dimensions in the FullyConnected layer by inspecting the weight matrix and layer scalars (ni_ and no_). No direct network or system commands detect this without code analysis.

Impact Analysis

This vulnerability can lead to heap corruption, application crashes, information disclosure, or controlled memory corruption. Attackers could exploit it by providing a specially crafted .traineddata file, potentially compromising confidentiality, integrity, and availability of affected systems.

Compliance Impact

This vulnerability could lead to information disclosure or controlled corruption, which may violate data protection requirements under GDPR (e.g., unauthorized access to personal data) and HIPAA (e.g., exposure of protected health information). The potential for heap corruption and crashes may also disrupt systems handling sensitive data, impacting compliance with integrity and availability requirements.

Mitigation Strategies

Immediately stop using any .traineddata files from untrusted sources. Only use traineddata files from official Tesseract repositories or trusted providers. Monitor for crashes or memory corruption during OCR processing as potential indicators of exploitation.

Chat Assistant

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

EPSS Chart