Tesseract: Denial of service via empty-stack dereference in Plumbing/Series at model load
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Deferred Red Hat: fix deferred
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-125 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
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
No fixed version listed by the sources yet.
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-88054
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-60068 Tesseract: Heap out-of-bounds write/read in FullyConnected::Forward via layer/weight-matrix dimension mismatch CVSS 4.0HIGH 8.6
- 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-88054 · CVE Program
- CVE-2026-88054 · NVD
- FIRST EPSS
- CVE-2026-88054 · 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