{"id":"CVE-2026-119340","aliases":["DEBIAN-CVE-2026-119340","EUVD-2026-114451","GHSA-6xhq-wvww-6xfg","UBUNTU-CVE-2026-119340","openSUSE-SU-2026:12411-1"],"status":"published","title":"Tesseract: GENERIC_2D_ARRAY DeSerializeSize signed integer comparison bypass allows negative dimensions","description":"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.","severity":{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00121,"percentile":0.01959,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-190","CWE-681"],"published":"2026-10-30T20:22:46Z","modified":"2026-11-06T01:07:28Z","affected":[{"source":"osv","ecosystem":"Debian:12","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.3.0-2","5.3.3-1","5.3.4-1","5.3.4-1.1","5.3.4-1.2","5.3.4-1.3","5.3.4-1.4","5.5.0-1","5.5.0-1.1"]},{"source":"osv","ecosystem":"Debian:13","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.5.0-1","5.5.0-1.1"]},{"source":"osv","ecosystem":"Debian:14","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.5.0-1","5.5.0-1.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.02.02-1","3.03.02-3","3.03.02-3ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.04.00-5ubuntu1","3.04.01-2","3.04.01-4","3.04.01-4ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.04.01-6","3.04.01-6build1","3.04.01-6build2","4.00~git2188-cdc35338-4build1","4.00~git2188-cdc35338-5","4.00~git2207-766b7bd6-3.1","4.00~git2219-40f43111-1.2","4.00~git2288-10f4998a-2","4.00~git2288-10f4998a-2ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.1.0-1","4.1.0-2","4.1.1-1","4.1.1-2","4.1.1-2build1","4.1.1-2build2","4.1.1-2ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.1.1-2.1","4.1.1-2.1build1","4.1.1-2.1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.3.0-2build1","5.3.3-1","5.3.3-1build1","5.3.4-1","5.3.4-1build3","5.3.4-1build4","5.3.4-1build5","5.3.4-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.5.0-1build1","5.5.0-1.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"tesseract","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.5.0-1","5.5.0-1build1","5.5.0-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"tesseract-ocr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.5.4-2.1"}]}],"bundled":4}],"products":[{"vendor":"tesseract-ocr","product":"tesseract"}],"references":[{"url":"https://github.com/tesseract-ocr/tesseract/security/advisories/GHSA-6xhq-wvww-6xfg","tags":["x_refsource_CONFIRM","advisory","report"]},{"url":"https://github.com/tesseract-ocr/tesseract/pull/4649","tags":["x_refsource_MISC","fix","report"]},{"url":"https://github.com/tesseract-ocr/tesseract/commit/048e92378f1a34dcdaf94bc515c7552ac01f08ef","tags":["x_refsource_MISC","fix","report"]},{"url":"https://github.com/tesseract-ocr/tesseract/releases/tag/5.5.4","tags":["x_refsource_MISC","web","report"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/119xxx/CVE-2026-119340.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119340","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-119340","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-119340","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-119340","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-119338","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-119339","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-119340","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-119341","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-119340","title":"Tesseract: GENERIC_2D_ARRAY DeSerializeSize signed integer comparison bypass allows negative dimensions","description":"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.","status":"published","published":"2026-10-30T20:22:46.387Z","modified":"2026-11-05T02:43:22.872Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-190","CWE-681"],"updated_at":"2026-11-05T06:56:15.67765Z"}],"euvd":[{"id":"EUVD-2026-114451","description":"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.","status":"published","published":"2026-10-30T20:22:46Z","modified":"2026-11-05T02:43:22Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-05T06:54:34.509968Z"}],"nvd":[{"id":"CVE-2026-119340","description":"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.","status":"published","published":"2026-10-30T21:16:52.08Z","modified":"2026-11-05T03:17:20.013Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"secondary"}],"cwes":["CWE-190","CWE-681"],"updated_at":"2026-11-05T06:56:50.540739Z"}],"osv":[{"id":"CVE-2026-119340","title":"Tesseract: GENERIC_2D_ARRAY DeSerializeSize signed integer comparison bypass allows negative dimensions","description":"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.","status":"published","published":"2026-10-30T20:22:46.387Z","modified":"2026-11-06T01:07:28.142945762Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-190","CWE-681"],"updated_at":"2026-11-06T01:32:47.895286Z"},{"id":"DEBIAN-CVE-2026-119340","description":"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.","status":"published","published":"2026-10-30T21:16:52.08Z","modified":"2026-11-05T09:47:32.216290583Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-05T13:31:24.64316Z"},{"id":"UBUNTU-CVE-2026-119340","description":"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.","status":"published","published":"2026-10-30T21:16:00Z","modified":"2026-11-05T04:42:51Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-05T13:33:25.727744Z"},{"id":"openSUSE-SU-2026:12411-1","title":"libtesseract5-5.5.4-2.1 on GA media","description":"These are all security issues fixed in the libtesseract5-5.5.4-2.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-11-03T00:00:00Z","modified":"2026-11-04T17:23:22.336521718Z","updated_at":"2026-11-04T17:43:22.558805Z"}]}}
