CVE-2026-88051

Source
https://cve.org/CVERecord?id=CVE-2026-88051
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88051.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-88051
Aliases
  • GHSA-88qp-4g94-3rf3
Downstream
Published
2026-09-10T17:37:01Z
Modified
2026-09-12T08:07:29Z
Severity
  • 8.6 (High) CVSS_V4 - CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N CVSS Calculator
Summary
Tesseract: Heap out-of-bounds write in GenericVector<T>::read due to independent reserved/size_used_ fields
Details

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.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-787"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88051.json"
}
References

Affected packages

Git / github.com/tesseract-ocr/tesseract

Affected ranges

Type
GIT
Repo
https://github.com/tesseract-ocr/tesseract
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "last_affected": "5.5.3"
        }
    ],
    "source": [
        "AFFECTED_FIELD",
        "REFERENCES"
    ]
}

Affected versions

1.*
1.03
1.04
1.04b
2.*
2.00
2.01
2.02
2.03
2.04
3.*
3.00
3.01
3.02.02
3.03-rc1
3.04.00
3.05.00dev
4.*
4.0.0
4.0.0-alpha
4.0.0-beta.1
4.0.0-beta.3
4.0.0-beta.4
4.0.0-rc3
4.0.0-rc4
4.00.00alpha
4.00.00dev
4.1.0-rc1
5.*
5.0.0
5.0.0-alpha
5.0.0-alpha-20201224
5.0.0-alpha-20201231
5.0.0-alpha-20210401
5.0.0-beta-20210916
5.0.0-rc1
5.0.0-rc2
5.0.0-rc3
5.0.1
5.1.0
5.2.0
5.3.0
5.3.0-rc1
5.3.1
5.3.2
5.3.3
5.3.4
5.4.0
5.4.0-rc1
5.4.0-rc2
5.4.1
5.5.0
5.5.1
5.5.2
5.5.3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88051.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "60618354507678520350037285513960703769",
                "22456390736468781280535818028046159046",
                "340072701970520231820711204278051561238",
                "18575873664919533275263387374714066691",
                "140546165601892382411757615330880945538",
                "274597050277162556306332158509926195647",
                "235060764450814165617405305660590882748",
                "253406260783495455390154100586957375099"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-88051-4a48bbf5",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/tesseract-ocr/tesseract/commit/56e09ca12e751623fe796ce1554ce704bffd2ef0",
        "target": {
            "file": "src/ccutil/genericvector.h"
        }
    }
]
vanir_signatures_modified
"2026-09-12T08:07:29Z"