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.
{
"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"
}{
"extracted_events": [
{
"introduced": "0"
},
{
"last_affected": "5.5.3"
}
],
"source": [
"AFFECTED_FIELD",
"REFERENCES"
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88051.json"
[
{
"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"
}
}
]
"2026-09-12T08:07:29Z"