{"id":"CVE-2026-102505","aliases":["DEBIAN-CVE-2026-102505","EUVD-2026-90812","GHSA-4rx6-cgv3-fmxp","MGASA-2026-0500","UBUNTU-CVE-2026-102505"],"status":"published","title":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp","description":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp.\n\nFor a paletted image, getsamples() with type \"float\" allocates a buffer of one sample per pixel and fetches every requested channel of each pixel into it. Requesting more than one channel writes past its end.\n\nAn attacker-supplied image controls the overflowing bytes through its palette.","severity":{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","level":"medium","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-12","score":0.00247,"percentile":0.16125,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-131"],"published":"2026-10-01T13:11:51Z","modified":"2026-10-28T10:46:12Z","fixes":[{"ecosystem":"Debian:14","package":"libimager-perl","fixed_in":["1.037+dfsg-2"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.019+dfsg-1","1.019+dfsg-2","1.020+dfsg-1","1.022+dfsg-1","1.023+dfsg-1","1.024+dfsg-1","1.024+dfsg-2","1.025+dfsg-1","1.027+dfsg-1","1.028+dfsg-1","1.029+dfsg-1","1.030+dfsg-1","1.031+dfsg-1","1.032+dfsg-1","1.033+dfsg-1","1.034+dfsg-1","1.034+dfsg-2","1.035+dfsg-1","1.036+dfsg-1","1.037+dfsg-1","1.037+dfsg-2"]},{"source":"osv","ecosystem":"Debian:13","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.027+dfsg-1","1.028+dfsg-1","1.029+dfsg-1","1.030+dfsg-1","1.031+dfsg-1","1.032+dfsg-1","1.033+dfsg-1","1.034+dfsg-1","1.034+dfsg-2","1.035+dfsg-1","1.036+dfsg-1","1.037+dfsg-1","1.037+dfsg-2"]},{"source":"osv","ecosystem":"Debian:14","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.037+dfsg-2"}]}],"versions":["1.027+dfsg-1","1.028+dfsg-1","1.029+dfsg-1","1.030+dfsg-1","1.031+dfsg-1","1.032+dfsg-1","1.033+dfsg-1","1.034+dfsg-1","1.034+dfsg-2","1.035+dfsg-1","1.036+dfsg-1","1.037+dfsg-1"]},{"source":"osv","ecosystem":"Mageia:10","package":"perl-Imager","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.37.0-1.mga10"}]}],"bundled":5},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.003+dfsg-1","1.004+dfsg-1","1.004+dfsg-1build1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.005+dfsg-2build1","1.006+dfsg-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.011+dfsg-1","1.011+dfsg-1build1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.012+dfsg-1build1","1.012+dfsg-2","1.012+dfsg-2build1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.019+dfsg-2","1.020+dfsg-1","1.022+dfsg-1","1.023+dfsg-1","1.023+dfsg-1build1","1.023+dfsg-1build2"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.029+dfsg-1","1.031+dfsg-1","1.033+dfsg-1","1.035+dfsg-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libimager-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.027+dfsg-1","1.029+dfsg-1"]}],"products":[{"vendor":"tonycoz","product":"imager"}],"references":[{"url":"https://github.com/tonycoz/imager/security/advisories/GHSA-4rx6-cgv3-fmxp","tags":["vendor-advisory","Mitigation","Vendor Advisory","advisory","report"]},{"url":"https://github.com/tonycoz/imager/commit/aae49c6be065aa467e834105c816359394a634db.patch","tags":["patch","Patch","fix","report"]},{"url":"https://metacpan.org/release/TONYC/Imager-1.037/changes","tags":["release-notes","Release Notes","advisory","web","report"]},{"url":"http://www.openwall.com/lists/oss-security/2026/10/01/10","tags":["Mailing List","Third Party Advisory","web","report"]},{"url":"https://cpan.org/modules","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102505.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102505","tags":["advisory"]},{"url":"https://github.com/tonycoz/imager","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-102505","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0500.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=36330","tags":["report"]},{"url":"https://www.openwall.com/lists/oss-security/2026/09/17/5","tags":["web"]},{"url":"https://github.com/tonycoz/imager/security/advisories/GHSA-j47j-8w8p-3mmc","tags":["advisory"]},{"url":"https://github.com/tonycoz/imager/issues/568","tags":["report"]},{"url":"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1144226","tags":["report"]},{"url":"https://metacpan.org/release/TONYC/Imager-1.035/changes","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/M2IGAORFTDV6NM2L2NZCBWRWLAWHXUHK/","tags":["web"]},{"url":"https://lists.security.metacpan.org/cve-announce/msg/43654795/","tags":["web"]},{"url":"https://github.com/tonycoz/imager/security/advisories/GHSA-j7v7-cm4g-vrgf","tags":["advisory"]},{"url":"https://lists.security.metacpan.org/cve-announce/msg/43654761/","tags":["web"]},{"url":"https://github.com/tonycoz/imager/security/advisories/GHSA-p4vw-rc54-p2c2","tags":["advisory"]},{"url":"https://www.openwall.com/lists/oss-security/2026/10/01/9","tags":["web"]},{"url":"https://github.com/tonycoz/imager/security/advisories/GHSA-g549-r73g-x7x6","tags":["advisory"]},{"url":"https://www.openwall.com/lists/oss-security/2026/10/01/10","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2026-102505","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-102505","tags":["report"]},{"url":"https://lists.security.metacpan.org/cve-announce/msg/43998313/","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-102505","title":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp","description":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp.\n\nFor a paletted image, getsamples() with type \"float\" allocates a buffer of one sample per pixel and fetches every requested channel of each pixel into it. Requesting more than one channel writes past its end.\n\nAn attacker-supplied image controls the overflowing bytes through its palette.","status":"published","published":"2026-10-01T13:11:51.967Z","modified":"2026-10-01T19:32:38.071Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","level":"medium","assessor":"adp"}],"cwes":["CWE-131"],"updated_at":"2026-11-02T13:38:54.394896Z"}],"euvd":[{"id":"EUVD-2026-90812","description":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp.\n\nFor a paletted image, getsamples() with type \"float\" allocates a buffer of one sample per pixel and fetches every requested channel of each pixel into it. Requesting more than one channel writes past its end.\n\nAn attacker-supplied image controls the overflowing bytes through its palette.","status":"published","published":"2026-10-01T13:11:51Z","modified":"2026-10-01T19:32:38Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-02T17:27:43.593551Z"}],"nvd":[{"id":"CVE-2026-102505","description":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp.\n\nFor a paletted image, getsamples() with type \"float\" allocates a buffer of one sample per pixel and fetches every requested channel of each pixel into it. Requesting more than one channel writes past its end.\n\nAn attacker-supplied image controls the overflowing bytes through its palette.","status":"published","published":"2026-10-01T14:17:20.237Z","modified":"2026-10-08T13:17:32.753Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","level":"medium","assessor":"secondary"}],"cwes":["CWE-131"],"updated_at":"2026-11-02T14:12:53.41762Z"}],"osv":[{"id":"CVE-2026-102505","title":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp","description":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp.\n\nFor a paletted image, getsamples() with type \"float\" allocates a buffer of one sample per pixel and fetches every requested channel of each pixel into it. Requesting more than one channel writes past its end.\n\nAn attacker-supplied image controls the overflowing bytes through its palette.","status":"published","published":"2026-10-01T13:11:51.967Z","modified":"2026-10-28T10:46:12.355560533Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","level":"medium"}],"cwes":["CWE-131"],"updated_at":"2026-11-02T15:44:53.83521Z"},{"id":"DEBIAN-CVE-2026-102505","description":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp.  For a paletted image, getsamples() with type \"float\" allocates a buffer of one sample per pixel and fetches every requested channel of each pixel into it. Requesting more than one channel writes past its end.  An attacker-supplied image controls the overflowing bytes through its palette.","status":"published","published":"2026-10-01T14:17:20.237Z","modified":"2026-10-10T11:00:07.864125667Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-02T15:45:48.903138Z"},{"id":"UBUNTU-CVE-2026-102505","description":"Imager versions before 1.037 for Perl overflow a heap buffer fetching float samples from a paletted image in i_gsampf_fp. For a paletted image, getsamples() with type \"float\" allocates a buffer of one sample per pixel and fetches every requested channel of each pixel into it. Requesting more than one channel writes past its end. An attacker-supplied image controls the overflowing bytes through its palette.","status":"published","published":"2026-10-01T14:17:00Z","modified":"2026-10-17T12:59:46.090627433Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-02T16:55:58.519486Z"},{"id":"MGASA-2026-0500","title":"Updated perl-Imager package fixes security vulnerabilities","description":"Buffer read underflows on 32-bit size_t systems decoding EXIF data.\n(CVE-2026-73638)\nPalette off-by-one discloses uninitialized heap memory. (CVE-2026-93018)\nTGA reader: signed colourmaplength causes process-killing allocator\nabort. (CVE-2026-93019)\nUnvalidated raw_datachannels can cause incorrect memory allocations.\n(CVE-2026-102504)\ngetsamples(... type =\u003e \"float\") called on a paletted image allocated\nbuffer overflow. (CVE-2026-102505)\n","status":"published","published":"2026-10-13T01:20:53Z","modified":"2026-10-13T01:42:51.938639787Z","updated_at":"2026-11-02T15:49:43.795591Z"}]}}
