Tesseract is an open source OCR engine. In version 5.5.3 and earlier, FullyConnected::DeSerialize in src/lstm/fullyconnected.cpp does not validate the deserialized layer scalars ni_ and no_ against the weight-matrix dimensions. During FullyConnected::Forward, MatrixDotVector in src/lstm/weightmatrix.cpp writes w.dim1() results into temp_line, which is sized from no_, and reads w.dim2() minus one inputs from curr_input, which is sized from ni_. A crafted .traineddata NT_SOFTMAX layer can therefore use inconsistent dimensions to cause a heap out-of-bounds write and read on the default LSTM engine, resulting in heap corruption, a crash, information disclosure, or potentially controlled corruption. No fixed release is available as of this review.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-125",
"CWE-787"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88048.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-88048.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "121867718534192794991253747416092187089",
"length": 114
},
"id": "CVE-2026-88048-1ab0427b",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/tesseract-ocr/tesseract/commit/103dc134eb36411ddc6833ec20aa2c76795bd0ff",
"target": {
"file": "src/lstm/fullyconnected.cpp",
"function": "FullyConnected::DeSerialize"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"308103061069042255828952625135119956451",
"55181820734067072958413781647639066461",
"21784346899421237441590794156475035550",
"195062036959900219803676928144812694855"
],
"threshold": 0.9
},
"id": "CVE-2026-88048-4baaa5eb",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/tesseract-ocr/tesseract/commit/103dc134eb36411ddc6833ec20aa2c76795bd0ff",
"target": {
"file": "src/lstm/fullyconnected.cpp"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"195773676613449933875312455903217281472",
"59191421120748133592482790999656392744",
"45785591038545850744934510751389619021",
"276340416971371890317167257891303964098"
],
"threshold": 0.9
},
"id": "CVE-2026-88048-df40359a",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/tesseract-ocr/tesseract/commit/103dc134eb36411ddc6833ec20aa2c76795bd0ff",
"target": {
"file": "src/lstm/weightmatrix.h"
}
}
]
"2026-09-12T08:07:33Z"