{"schemaVersion":3,"id":"CVE-2026-77219","aliases":["UBUNTU-CVE-2026-77219","DEBIAN-CVE-2026-77219"],"status":"published","duplicateOf":null,"title":null,"description":"GNU Emacs before 31.0.91 contains an integer overflow in the PBM/PPM/PGM image loader that allows an attacker to leak heap memory contents by supplying a crafted image with large dimensions and an elevated max color index. The image loader multiplies image dimensions and channel count using signed integer arithmetic; for sufficiently large values, the result wraps to a negative number, bypassing the bounds check and causing the pixel reader to access heap memory past the end of the allocated buffer. The over-read contents are interpreted as pixel color values and rendered on screen.","dates":{"published":"2026-08-21T20:20:45.314Z","modified":"2026-10-01T15:21:13.774Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.1,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":6.9,"severity":"medium","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"OSV · Ubuntu","score":6.9,"severity":"medium","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H","exploitability":4.6,"impact":8.7,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"OSV · Debian","score":6.9,"severity":"medium","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":6.9,"severity":"medium","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00128,"percentile":0.02214,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00128},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00128,"percentile":0.02214}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00185,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00128,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00128,"percentile":0.02214}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-125","name":"Out-of-bounds Read","description":"The product reads data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/125.html"},{"id":"CWE-190","name":"Integer Overflow or Wraparound","description":"The product performs a calculation that can\n         produce an integer overflow or wraparound when the logic\n         assumes that the resulting value will always be larger than\n         the original value. This occurs when an integer value is\n         incremented to a value that is too large to store in the\n         associated representation. When this occurs, the value may\n         become a very small or negative number.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/190.html"}],"affected":[{"vendor":"debian","product":"emacs","name":"emacs","label":"emacs","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/emacs","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"emacs","name":"emacs","label":"emacs","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/emacs","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"emacs24","name":"emacs24","label":"emacs24","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/emacs24","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"emacs25","name":"emacs25","label":"emacs25","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/emacs25","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"xemacs21","name":"xemacs21","label":"xemacs21","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/xemacs21","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"xemacs21-packages","name":"xemacs21-packages","label":"xemacs21-packages","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/xemacs21-packages","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"gnu","product":"emacs","name":"Emacs","label":"emacs","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 31.0.91","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 31.0.91","eol":null,"hubHref":"/vendor/gnu/emacs"}],"affectedCount":7,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://debbugs.gnu.org/cgi/bugreport.cgi?bug=81344","label":"debbugs.gnu.org/cgi/bugreport.cgi?bug=81344","hostname":"debbugs.gnu.org","tags":["Issue Tracking","REPORT"]},{"url":"https://github.com/emacs-mirror/emacs/releases/tag/emacs-31.0.91","label":"github.com/emacs-mirror/emacs/releases/tag/emacs-31.0.91","hostname":"github.com","tags":["Release Notes"]},{"url":"https://github.com/emacs-mirror/emacs/commit/b07e634e4cf45162ae0178e32092b040587f2c6c","label":"github.com/emacs-mirror/emacs/commit/b07e634e4cf45162ae0178e32092b040587f2c6c","hostname":"github.com","tags":["Patch"]},{"url":"https://www.vulncheck.com/advisories/gnu-emacs-heap-over-read-via-pbm-ppm-pgm-image-loader","label":"www.vulncheck.com/advisories/gnu-emacs-heap-over-read-via-pbm-ppm-pgm-image-loader","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-77219","label":"ubuntu.com/security/CVE-2026-77219","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-77219","label":"www.cve.org/CVERecord?id=CVE-2026-77219","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-77219","label":"security-tracker.debian.org/tracker/CVE-2026-77219","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-77219","label":"nvd.nist.gov/vuln/detail/CVE-2026-77219","hostname":"nvd.nist.gov","tags":["Oval","Advisory"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:21711-1","RHSA-2026:80506","RHSA-2026:80507","RHSA-2026:84591","SUSE-SU-2026:23589-1","SUSE-SU-2026:3993-1","SUSE-SU-2026:4083-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:21711-1","SUSE-SU-2026:23589-1","SUSE-SU-2026:3993-1","SUSE-SU-2026:4083-1"]},"timeline":[{"kind":"published","date":"2026-08-21T20:20:45.314Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-01T15:21:13.774Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":28,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T12:47:17.549Z","stale":false,"partial":false}}