{"schemaVersion":3,"id":"CVE-2026-33019","aliases":["UBUNTU-CVE-2026-33019","DEBIAN-CVE-2026-33019"],"status":"published","duplicateOf":null,"title":null,"description":"libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. Versions 1.8.7 and prior contain an integer overflow leading to an out-of-bounds heap read in the --crop option handling of img2sixel, where positive coordinates up to INT_MAX are accepted without overflow-safe bounds checking. In sixel_encoder_do_clip(), the expression clip_w + clip_x overflows to a large negative value when clip_x is INT_MAX, causing the bounds guard to be skipped entirely, and the unclamped coordinate is passed through sixel_frame_clip() to clip(), which computes a source pointer far beyond the image buffer and passes it to memmove(). An attacker supplying a specially crafted crop argument with any valid image can trigger an out-of-bounds read in the heap, resulting in a reliable crash and potential information disclosure. This issue has been fixed in version 1.8.7-r1.","dates":{"published":"2026-04-14T21:49:25.204Z","modified":"2026-04-15T20:02:46.628Z","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":"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":"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":"3.1","versionLabel":"v3.1","source":"OSV · Debian","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":"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.00206,"percentile":0.09966,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":-0.05,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00256},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00206,"percentile":0.09966}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00256,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00206,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00206,"percentile":0.09966}]},"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":[{"id":"GITHUB_SAITOHA_LIBSIXEL","name":"Libsixel","source":"github","url":"https://github.com/saitoha/libsixel/issues/85","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"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":"libsixel","name":"libsixel","label":"libsixel","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/libsixel","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 1:1.8.7-r2-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 1:1.8.7-r2-1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"libsixel","name":"libsixel","label":"libsixel","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/libsixel","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"saitoha","product":"libsixel","name":"libsixel","label":"libsixel","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.8.7-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.8.7-r1","eol":null,"hubHref":"/vendor/saitoha/libsixel"}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/saitoha/libsixel/security/advisories/GHSA-c854-ffg9-g72c","label":"github.com/saitoha/libsixel/security/advisories/GHSA-c854-ffg9-g72c","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Exploit","Vendor Advisory"]},{"url":"https://github.com/saitoha/libsixel/releases/tag/v1.8.7-r1","label":"github.com/saitoha/libsixel/releases/tag/v1.8.7-r1","hostname":"github.com","tags":["X Refsource MISC","REPORT","Release Notes"]},{"url":"https://ubuntu.com/security/CVE-2026-33019","label":"ubuntu.com/security/CVE-2026-33019","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-33019","label":"www.cve.org/CVERecord?id=CVE-2026-33019","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-33019","label":"security-tracker.debian.org/tracker/CVE-2026-33019","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-04-14T21:49:25.204Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-04-15T20:02:46.628Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":38,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T13:12:04.514Z","stale":false,"partial":false}}