{"schemaVersion":3,"id":"CVE-2026-44637","aliases":["UBUNTU-CVE-2026-44637","DEBIAN-CVE-2026-44637"],"status":"published","duplicateOf":null,"title":null,"description":"libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. From  to 1.8.7-r1, a signed integer overflow in the SIXEL parser's image-buffer doubling loop can lead to an out-of-bounds heap write in sixel_decode_raw_impl. context->pos_x grows by repeat_count on every sixel character with no upper bound check. Once pos_x approaches INT_MAX, the expression \"pos_x + repeat_count\" used to size the image buffer overflows signed int. Depending on how the overflow wraps, the resize check that should reject oversized buffers can be bypassed, after which a subsequent write computes a large attacker-influenced offset into image->data and writes past the allocation. Reachable from any caller that decodes attacker-supplied SIXEL data, including img2sixel. This vulnerability is fixed in 1.8.7-r2.","dates":{"published":"2026-05-14T20:02:32.034Z","modified":"2026-05-15T13:35:45.953Z","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:N/I:H/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:N/I:H/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:N/I:H/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:N/I:H/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:N/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00166,"percentile":0.05586,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0.005999999999999994,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.0016},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00166,"percentile":0.05586}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0016,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00166,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00166,"percentile":0.05586}]},"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-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"},{"id":"CWE-787","name":"Out-of-bounds Write","description":"The product writes data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/787.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":"≥ 0.11.0, < 1.8.7-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 0.11.0, < 1.8.7-r2","eol":null,"hubHref":"/vendor/saitoha/libsixel"}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/saitoha/libsixel/security/advisories/GHSA-9jm7-77gr-qghv","label":"github.com/saitoha/libsixel/security/advisories/GHSA-9jm7-77gr-qghv","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Exploit","Vendor Advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-44637","label":"ubuntu.com/security/CVE-2026-44637","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-44637","label":"www.cve.org/CVERecord?id=CVE-2026-44637","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-44637","label":"security-tracker.debian.org/tracker/CVE-2026-44637","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-05-14T20:02:32.034Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-05-15T13:35:45.953Z","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-22T02:04:19.387Z","stale":false,"partial":false}}