Hi,
The following vulnerabilities were published for tesseract.
CVE-2026-119338[0]:
| Tesseract is an open source OCR engine. From 5.4.0 until 5.5.4,
| AppendLinePolygon in src/api/pagerenderer.cpp destroys the caller-
| owned right-to-left Pta accumulator while receiving it by value,
| leaving line_top_rtl_pts and line_bottom_rtl_pts dangling. On an
| upright Hebrew or Arabic page at the default PAGE XML level,
| POLYGONFLAG with a false skewed_flag enters the vulnerable calls,
| while LEVELFLAG greater than zero provides an alternative gate. The
| calls repeatedly read and free the stale object, causing a double
| free and use after free and allowing corrupted coordinates to reach
| RecalcPolygonline. This issue is fixed in version 5.5.4.
CVE-2026-119339[1]:
| Tesseract is an open source OCR engine. Prior to 5.5.4,
| WeightMatrix::DeSerialize trusts a mode byte from a traineddata LSTM
| network and calls WeightMatrix::DeSerializeOld when kDoubleFlag is
| clear. In default FAST_FLOAT builds, DeSerializeOld invokes
| ASSERT_HOST instead of returning an error, so loading a crafted
| model through TessBaseAPI::Init terminates the process and causes
| denial of service. This issue is fixed in version 5.5.4.
CVE-2026-119340[2]:
| 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.
CVE-2026-119341[3]:
| Tesseract is an open source OCR engine. Prior to 5.5.4,
| ReadAdaptedClass in src/classify/adaptive.cpp raw-reads an
| ADAPT_CLASS_STRUCT from a pre-adapted-template .a file without
| neutralizing TempProtos and Config pointer fields before any
| destructor path. When the legacy engine is selected,
| classify_use_pre_adapted_templates is enabled, and an attacker can
| write the output-basename .a file, the success or rejection path can
| pass file-controlled pointers to ~ADAPT_CLASS_STRUCT and operator
| delete, causing memory corruption and denial of service. This issue
| is fixed in version 5.5.4.
If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.
For further information see:
[0] https://security-tracker.debian.org/tracker/CVE-2026-119338
https://www.cve.org/CVERecord?id=CVE-2026-119338
[1] https://security-tracker.debian.org/tracker/CVE-2026-119339
https://www.cve.org/CVERecord?id=CVE-2026-119339
[2] https://security-tracker.debian.org/tracker/CVE-2026-119340
https://www.cve.org/CVERecord?id=CVE-2026-119340
[3] https://security-tracker.debian.org/tracker/CVE-2026-119341
https://www.cve.org/CVERecord?id=CVE-2026-119341
Regards,
Salvatore