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.
https://github.com/tesseract-ocr/tesseract/security/advisories/GHSA-6xhq-wvww-6xfg
https://github.com/tesseract-ocr/tesseract/releases/tag/5.5.4
https://github.com/tesseract-ocr/tesseract/pull/4649
https://github.com/tesseract-ocr/tesseract/commit/048e92378f1a34dcdaf94bc515c7552ac01f08ef