Tesseract: Heap out-of-bounds write in Classify::ReadIntTemplates via unvalidated counts in crafted .traineddata
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, Classify::ReadIntTemplates in src/classify/intproto.cpp reads NumClassPruners, NumClasses, and NumProtoSets from the TESSDATA_INTTEMP component of a crafted .traineddata file and uses those values as loop bounds without validating them against MAX_NUM_CLASS_PRUNERS, MAX_NUM_CLASSES, and MAX_NUM_PROTO_SETS. The loops store heap pointers into fixed-capacity ClassPruners and ProtoSets arrays in INT_TEMPLATES_STRUCT and INT_CLASS_STRUCT, so an oversized count causes heap out-of-bounds pointer writes during legacy-classifier initialization before OCR begins, resulting in heap corruption, a crash, 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-88053
- 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-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-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-88053 · CVE Program
- CVE-2026-88053 · NVD
- FIRST EPSS
- CVE-2026-88053 · 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