Tesseract: Heap out-of-bounds write/read in FullyConnected::Forward via layer/weight-matrix dimension mismatch
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-787 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| tesseract-ocr | tesseract | up to 5.5.3 | — | No fix listed | CNA |
- tesseract Vendortesseract-ocr Affected up to 5.5.3 Fixed in — No fix listed CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:tesseract-ocr:tesseract_ocr:*:*:*:*:*:*:*:* | up to 5.5.3 | Vulnerable | tesseract-ocr |
- cpe:2.3:a:tesseract-ocr:tesseract_ocr:*:*:*:*:*:*:*:* Versions up to 5.5.3 Vulnerable ·tesseract-ocr
Remediation
Red Hat 3 advisories
- RHSA-2026:95725 Released 2026-11-05 · Red Hat rating Importanttesseract security update
- Red Hat Enterprise Linux AppStream (v. 8) tesseract-4.1.1-7.el8_10
- Red Hat Enterprise Linux CRB (v. 8) tesseract-devel-4.1.1-7.el8_10
- RHSA-2026:95086 Released 2026-11-04 · Red Hat rating Importanttesseract security update
- Red Hat Enterprise Linux AppStream (v. 9) tesseract-4.1.1-11.el9_8
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) tesseract-devel-4.1.1-11.el9_8
- RHSA-2026:95085 Released 2026-11-04 · Red Hat rating Importanttesseract security update
- Red Hat Enterprise Linux AppStream (v. 10) tesseract-5.3.4-11.el10_2
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) tesseract-devel-5.3.4-11.el10_2
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2026:95085 |
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2026:95725 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2026:95086 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2026:95725 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) | Fixed | RHSA-2026:95085 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) | Fixed | RHSA-2026:95086 |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-88048
- 2026-11-04 Fix available: RHSA-2026:95085 · Red Hat
- 2026-11-04 Fix available: Red Hat Enterprise Linux AppStream (v. 10), Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) · Red Hat
- 2026-11-05 Fix available: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) · Red Hat
- 2026-11-06 Fix available: RHSA-2026:95086 · Red Hat
- 2026-11-06 Fix available: Red Hat Enterprise Linux AppStream (v. 8), Red Hat Enterprise Linux CRB (v. 8) · Red Hat
- 2026-11-06 Fix available: RHSA-2026:95725 · Red Hat
References
More tesseract-ocr Tesseract Ocr vulnerabilities
- TI-2026-60073 Tesseract: Heap out-of-bounds write in Classify::ReadIntTemplates via unvalidated counts in crafted .traineddata CVSS 4.0HIGH 8.6
- TI-2026-60071 Tesseract: Heap out-of-bounds write in GenericVector<T>::read due to independent reserved/size_used_ fields CVSS 4.0HIGH 8.6
- TI-2026-60069 Tesseract: Heap out-of-bounds write in LSTM::Forward via na_/gate-matrix dimension mismatch CVSS 4.0HIGH 8.6
- TI-2026-60074 Tesseract: Denial of service via empty-stack dereference in Plumbing/Series at model load CVSS 4.0MEDIUM 6.9
- TI-2026-60070 Tesseract: Out-of-bounds write in UnicharCompress via unvalidated recoder code values CVSS 4.0MEDIUM 6.9
- TI-2026-60067 Tesseract: ReadNormProtos stack buffer overflow CVSS 4.0HIGH 8.6
Sources
- CVE-2026-88048 · CVE Program
- CVE-2026-88048 · NVD
- FIRST EPSS
- CVE-2026-88048 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences