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.
{
"binaries": [
{
"binary_name": "libtesseract4",
"binary_version": "4.00~git2288-10f4998a-2ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr",
"binary_version": "4.00~git2288-10f4998a-2ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr-all",
"binary_version": "4.00~git2288-10f4998a-2ubuntu0.1~esm1"
}
]
}