Tesseract: Heap out-of-bounds write in GenericVector<T>::read due to independent reserved/size_used_ fields
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, the callback form of GenericVector::read in src/ccutil/genericvector.h reads the independent int32 fields reserved and size_used_ from a .traineddata model without a cap or an invariant check. reserve(reserved) allocates the backing array, but the callback loop writes size_used_ elements. A crafted TESSDATA_INTTEMP component with version_id 4 or later can therefore set reserved to a small value and size_used_ to a large value when fontinfo_table_.read(fp, read_info) is called from src/classify/intproto.cpp, causing a heap out-of-bounds write of FontInfo structures, 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-88051
- 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-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-88051 · CVE Program
- CVE-2026-88051 · NVD
- FIRST EPSS
- CVE-2026-88051 · 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