CVE-2026-73067 in Tesseractinfo

Summary

by MITRE • 08/11/2026

Tesseract is an open source OCR engine. Prior to 5.5.3, a crafted .traineddata model loaded through TessBaseAPI::Init can cause SquishedDawg::read_squished_dawg in src/dict/dawg.cpp to accept an unterminated forward-edge run, after which SquishedDawg::Load calls num_forward_edges(0) and last_edge in src/dict/dawg.h reads beyond edges_, causing a heap out-of-bounds read and process crash before image processing. This issue is fixed in version 5.5.3.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 08/11/2026

The vulnerability resides within Tesseract OCR engine's handling of trained data models, specifically affecting versions prior to 5.5.3. When a maliciously crafted .traineddata file is loaded through the TessBaseAPI::Init function, it triggers a critical flaw in the dictionary processing mechanism. The issue manifests in the SquishedDawg::read_squished_dawg function located in src/dict/dawg.cpp where the system fails to properly validate forward-edge runs within the data structure. This validation failure allows an unterminated forward-edge run to be accepted, creating a dangerous condition that propagates through the subsequent processing pipeline.

The technical flaw represents a classic heap out-of-bounds read vulnerability that originates from improper input validation and memory management. When SquishedDawg::Load calls num_forward_edges(0), it establishes a context where the system expects specific data structures to be properly terminated. However, the unterminated forward-edge run causes the last_edge function in src/dict/dawg.h to attempt reading beyond the legitimate edges_ array boundaries. This memory access violation occurs before any actual image processing begins, effectively crashing the process and rendering the OCR engine unusable. The vulnerability operates at the intersection of data parsing and memory management, where malformed input directly translates to memory corruption.

The operational impact of this vulnerability is significant for systems relying on Tesseract OCR, particularly those that accept untrusted trained data models from external sources. Attackers could exploit this weakness by crafting malicious .traineddata files that would cause legitimate applications using Tesseract to crash during initialization, resulting in denial of service conditions. The vulnerability is particularly concerning because it occurs at the initialization phase, meaning any application that loads trained data models could be affected regardless of whether image processing actually takes place. This makes the attack surface broad and potentially disruptive for automated systems or services that depend on OCR functionality.

Mitigation strategies should focus on immediate version upgrades to 5.5.3 or later, which contains the necessary patches to properly validate forward-edge runs in the dictionary loading process. Organizations should also implement strict input validation for any external trained data models, verifying their integrity and origin before loading them into Tesseract engines. Additionally, monitoring systems should be configured to detect unusual process crashes during initialization phases that might indicate exploitation attempts. This vulnerability aligns with CWE-125 Out-of-bounds Read and follows patterns commonly seen in software libraries where input validation failures lead to memory corruption issues. From an ATT&CK perspective, this represents a denial of service vector through code execution manipulation, potentially enabling more sophisticated attacks if combined with other vulnerabilities in the system architecture.

Responsible

GitHub M

Reservation

08/10/2026

Disclosure

08/11/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!