CVE-2026-19082: 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
Imager versions from 0.4502 before 1.034 for Perl may expose adjacent heap bytes via strlen() over-read from zero-count ASCII EXIF entries in copystringtags.
copystringtags() 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 itagsadd() 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 imdecodeexif(), 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Imagerto a version that resolves this vulnerability.Fixed in 1.034
Event History
Frequently Asked Questions
What is the severity of CVE-2026-19082?
CVE-2026-19082 has a risk rating of 26, indicating a significant vulnerability.
How do I fix CVE-2026-19082?
To fix CVE-2026-19082, upgrade to Imager version 1.034 or later.
What software is affected by CVE-2026-19082?
CVE-2026-19082 affects Imager versions from 0.45_02 up to but not including 1.034 for Perl.
What is the impact of CVE-2026-19082?
CVE-2026-19082 may lead to exposure of adjacent heap bytes due to an over-read in the copy_string_tags function.
How does CVE-2026-19082 exploit occur?
CVE-2026-19082 exploits occur via an over-read in the strlen() function caused by zero-count ASCII EXIF entries.