CVE-2026-88052

Source
https://cve.org/CVERecord?id=CVE-2026-88052
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88052.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-88052
Aliases
  • GHSA-2hm8-q5c7-c373
Downstream
Published
2026-09-10T17:38:04Z
Modified
2026-09-12T14:00:55Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H CVSS Calculator
Summary
Tesseract: Heap out-of-bounds write in UNICHARSET::load_via_fgets via count/insert desynchronization
Details

Tesseract is an open source OCR engine. In version 5.5.3 and earlier, UNICHARSET::load_via_fgets in src/ccutil/unicharset.cpp trusts the declared unichar count as a loop bound and uses id as an unchecked index into the unichars vector. unichar_insert_backwards_compatible can leave the vector unchanged for an empty, duplicate, or already-encodable representation, causing id to become larger than unichars.size(). Subsequent set_* calls and the write to unichars[id].properties.enabled then write UNICHAR_PROPERTIES beyond the vector during initialization in both the default LSTM and legacy engines, causing 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-129",
        "CWE-787"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88052.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-88052.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "31055153575333314414940733318351469608",
                "272429766146708562171917816086847781888",
                "41806524922558671123811076321327284508",
                "210836732590326438798720308707441350409",
                "171513719246586553662575648139539348595",
                "269858090195508815025669956463281200282",
                "261028042558446446969838536381910990138",
                "4139671400558638640355186814220627327"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-88052-e5acc54f",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/tesseract-ocr/tesseract/commit/2d04d640db2e8c7e3bab2369d599343b5a8b8443",
        "target": {
            "file": "src/ccutil/unicharset.cpp"
        }
    }
]
vanir_signatures_modified
"2026-09-12T14:00:55Z"