Tesseract accepts negative matrix dimensions when loading traineddata
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 3 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-190 and the CVSS impact.
Summary
Tesseract before 5.5.4 is affected. GENERIC_2D_ARRAY::DeSerializeSize compares signed matrix dimensions only with UINT16_MAX, so negative values pass the check (CWE-190). A local attacker with no privileges can cause a denial of service when a user loads a crafted traineddata file.
Written with Claude Haiku 5.5 from the sources below · 2026-10-31
Description from the CNA
Tesseract is an open source OCR engine. Prior to 5.5.4, GENERIC_2D_ARRAY::DeSerializeSize in src/ccstruct/matrix.h reads matrix dimensions as signed int32_t values and compares them only with UINT16_MAX, allowing negative values to reach ResizeNoInit. Negative dimensions or a 65535 by 65535 product can create inconsistent allocation state and later out-of-bounds accesses while loading a crafted traineddata file, causing denial of service. This issue is fixed in version 5.5.4.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- 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 | before 5.5.4 | 5.5.4 | Patch available | CNA |
- tesseract Vendortesseract-ocr Affected before 5.5.4 Fixed in 5.5.4 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:tesseract-ocr:tesseract_ocr:*:*:*:*:*:*:*:* | — | — | tesseract-ocr |
- cpe:2.3:a:tesseract-ocr:tesseract_ocr:*:*:*:*:*:*:*:* Versions — — ·tesseract-ocr
Remediation
Upgrade Tesseract to version 5.5.4, which fixes this issue. Red Hat has no fix available for Red Hat Enterprise Linux 8, 9 and 10.
Written with Claude Haiku 5.5 from the sources below · 2026-10-31
- Fix · CNA tesseract (tesseract-ocr) Fixed in 5.5.4
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-30 Threatist record created from CVE-2026-119340
- 2026-10-31 Affected versions changed · Red Hat
- 2026-10-31 CVSS score added · Red Hat
- 2026-11-01 Priority changed: MEDIUM → LOW
- 2026-11-05 CISA SSVC decision points changed
References
More 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-83384 Double free and use after free in Tesseract PAGE XML renderer CVSS 4.0MEDIUM 6.9
- TI-2026-60074 Tesseract: Denial of service via empty-stack dereference in Plumbing/Series at model load CVSS 4.0MEDIUM 6.9
Sources
- CVE-2026-119340 · CVE Program
- CVE-2026-119340 · NVD
- FIRST EPSS
- CVE-2026-119340 · 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