Tesseract is an open source OCR engine. In version 5.5.3 and earlier, the callback form of GenericVector::read in src/ccutil/genericvector.h reads the independent int32 fields reserved and size_used_ from a .traineddata model without a cap or an invariant check. reserve(reserved) allocates the backing array, but the callback loop writes size_used_ elements. A crafted TESSDATA_INTTEMP component with version_id 4 or later can therefore set reserved to a small value and size_used_ to a large value when fontinfo_table_.read(fp, read_info) is called from src/classify/intproto.cpp, causing a heap out-of-bounds write of FontInfo structures, heap corruption, a crash, or potentially controlled corruption. No fixed release is available as of this review.
{
"availability": "Available with Ubuntu Pro with Legacy support add-on: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "libtesseract3",
"binary_version": "3.04.01-4ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr",
"binary_version": "3.04.01-4ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr-all",
"binary_version": "3.04.01-4ubuntu0.1~esm1"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"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"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "libtesseract4",
"binary_version": "4.1.1-2ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr",
"binary_version": "4.1.1-2ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr-all",
"binary_version": "4.1.1-2ubuntu0.1~esm1"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "libtesseract4",
"binary_version": "4.1.1-2.1ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr",
"binary_version": "4.1.1-2.1ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr-all",
"binary_version": "4.1.1-2.1ubuntu0.1~esm1"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "libtesseract5",
"binary_version": "5.3.4-1ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr",
"binary_version": "5.3.4-1ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr-all",
"binary_version": "5.3.4-1ubuntu0.1~esm1"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "libtesseract5",
"binary_version": "5.5.0-1ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr",
"binary_version": "5.5.0-1ubuntu0.1~esm1"
},
{
"binary_name": "tesseract-ocr-all",
"binary_version": "5.5.0-1ubuntu0.1~esm1"
}
]
}