Imager versions from 0.45_02 before 1.034 for Perl may expose adjacent heap bytes via strlen() over-read from zero-count ASCII EXIF entries in copy_string_tags.
copy_string_tags() computes an ASCII EXIF tag's length as entry->size - 1 to strip the trailing NUL. A zero-count ASCII entry sets entry->size to 0, and the derived length reaches i_tags_add() as -1, which is interpreted as a request to call strlen(), scanning past the entry to the next NUL and copying those bytes into the tag. JPEG reaches this path via im_decode_exif(), as does the separate Imager::File::WEBP distribution, which is fixed by upgrading Imager.
Any caller of Imager->read() on an attacker-supplied image with such an entry may receive an exif_* tag holding adjacent heap bytes instead of an empty string.
{
"cna_assigner": "CPANSec",
"cwe_ids": [
"CWE-125"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/19xxx/CVE-2026-19082.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-19082.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "231297465535854294784307961733920414899",
"length": 505
},
"id": "CVE-2026-19082-2518b429",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/tonycoz/imager/commit/24bde0427a113264d53f45a9c29ae756d84c82fe",
"target": {
"file": "imexif.c",
"function": "copy_string_tags"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"95496984272391345879915331518254570477",
"119694341546142109279469623595857194014",
"113343690363669954697588071783530676606",
"281711459284377410548569447780103755260"
],
"threshold": 0.9
},
"id": "CVE-2026-19082-35983d18",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/tonycoz/imager/commit/24bde0427a113264d53f45a9c29ae756d84c82fe",
"target": {
"file": "imexif.c"
}
}
]
"2026-08-28T14:33:03Z"