{"id":"CVE-2026-61627","aliases":["DEBIAN-CVE-2026-61627","EUVD-2026-114007","GHSA-pjjp-65r7-ppgm","OESA-2026-3199","OESA-2026-3200","OESA-2026-3201","UBUNTU-CVE-2026-61627","USN-8815-1"],"status":"published","title":"libass: Out-of-bounds read and write in wrap_lines_measure","description":"libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. Prior to 0.17.5, libass can overread and overwrite the glyph array in `wrap_lines_measure` while rendering malicious `ASS` content. In `wrap modes other than two`, a final line ending with a literal backslash-n sequence and otherwise consisting only of such sequences or spaces can remain after early trimming and make the line-measurement loops overshoot by one glyph. When the total text size exactly matches the allocated glyph-array capacity, the first loop reads an uninitialized 32-bit fixed-point `pos.x` value, although that value is not subsequently used. The second loop writes `pos.x` and `pos.y` beyond the array, zeroing the first and adding an attacker-controllable offset to the second. No actual exploitation beyond possible denial of service is known; broader exploitation is theoretical and constrained by the addresses, limited writes, and ASLR. This issue is fixed in version 0.17.5.","severity":{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00155,"percentile":0.0468,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125","CWE-787"],"published":"2026-07-14T00:00:00Z","modified":"2026-11-05T11:46:34Z","fixes":[{"ecosystem":"Debian:12","package":"libass","fixed_in":["1:0.17.1-1+deb12u1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"libass","fixed_in":["1:0.17.3-1+deb13u1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libass","fixed_in":["1:0.17.5-1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP4","package":"libass","fixed_in":["0.17.1-2.oe2403sp4"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP1","package":"libass","fixed_in":["0.17.1-2.oe2403sp1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP3","package":"libass","fixed_in":["0.17.1-2.oe2403sp3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:24.04:LTS","package":"libass","fixed_in":["1:0.17.1-2ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:26.04:LTS","package":"libass","fixed_in":["1:0.17.4-2ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.17.1-1+deb12u1"}]}],"versions":["1:0.17.1-1"]},{"source":"osv","ecosystem":"Debian:13","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.17.3-1+deb13u1"}]}],"versions":["1:0.17.3-1"]},{"source":"osv","ecosystem":"Debian:14","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.17.5-1"}]}],"versions":["1:0.17.3-1","1:0.17.4-1","1:0.17.4-2"]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP4","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.17.1-2.oe2403sp4"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.17.1-2.oe2403sp1"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.17.1-2.oe2403sp3"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.17.1-2ubuntu0.1~esm1"}]}],"versions":["1:0.17.1-1","1:0.17.1-2","1:0.17.1-2build1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.17.4-2ubuntu0.1~esm1"}]}],"versions":["1:0.17.3-1","1:0.17.4-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.1-3ubuntu1+esm2"}]}],"versions":["0.10.1-1ubuntu1","0.10.1-3","0.10.1-3ubuntu1","0.10.1-3ubuntu1+esm1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.14.0-1ubuntu0.1~esm1"}]}],"versions":["1:0.13.7-2","1:0.14.0-1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.14.0-2ubuntu0.1~esm1"}]}],"versions":["1:0.14.0-2"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.17.1-2ubuntu0.1~esm1"}]}],"versions":["1:0.17.1-1","1:0.17.1-2","1:0.17.1-2build1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"libass","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:0.17.4-2ubuntu0.1~esm1"}]}],"versions":["1:0.17.3-1","1:0.17.4-2"],"bundled":4}],"products":[{"vendor":"libass","product":"libass"}],"references":[{"url":"https://github.com/libass/libass/security/advisories/GHSA-pjjp-65r7-ppgm","tags":["x_refsource_CONFIRM","advisory","report"]},{"url":"https://github.com/libass/libass/commit/f2ef59755292bc4bb950ef22710e18a5487c399d","tags":["x_refsource_MISC","fix","report"]},{"url":"https://github.com/libass/libass/releases/tag/0.17.5","tags":["x_refsource_MISC","web"]},{"url":"https://lists.debian.org/debian-lts-announce/2026/09/msg00004.html","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61627.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61627","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-61627","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3199","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3200","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3201","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-61627","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-61627","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8815-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2020-24994","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-26682","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-61626","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-61627","title":"libass: Out-of-bounds read and write in wrap_lines_measure","description":"libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. Prior to 0.17.5, libass can overread and overwrite the glyph array in `wrap_lines_measure` while rendering malicious `ASS` content. In `wrap modes other than two`, a final line ending with a literal backslash-n sequence and otherwise consisting only of such sequences or spaces can remain after early trimming and make the line-measurement loops overshoot by one glyph. When the total text size exactly matches the allocated glyph-array capacity, the first loop reads an uninitialized 32-bit fixed-point `pos.x` value, although that value is not subsequently used. The second loop writes `pos.x` and `pos.y` beyond the array, zeroing the first and adding an attacker-controllable offset to the second. No actual exploitation beyond possible denial of service is known; broader exploitation is theoretical and constrained by the addresses, limited writes, and ASLR. This issue is fixed in version 0.17.5.","status":"published","published":"2026-10-30T14:55:45.5Z","modified":"2026-10-30T15:51:10.521Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-125","CWE-787"],"updated_at":"2026-11-02T14:19:53.115938Z"}],"euvd":[{"id":"EUVD-2026-114007","description":"libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. Prior to 0.17.5, libass can overread and overwrite the glyph array in `wrap_lines_measure` while rendering malicious `ASS` content. In `wrap modes other than two`, a final line ending with a literal backslash-n sequence and otherwise consisting only of such sequences or spaces can remain after early trimming and make the line-measurement loops overshoot by one glyph. When the total text size exactly matches the allocated glyph-array capacity, the first loop reads an uninitialized 32-bit fixed-point `pos.x` value, although that value is not subsequently used. The second loop writes `pos.x` and `pos.y` beyond the array, zeroing the first and adding an attacker-controllable offset to the second. No actual exploitation beyond possible denial of service is known; broader exploitation is theoretical and constrained by the addresses, limited writes, and ASLR. This issue is fixed in version 0.17.5.","status":"published","published":"2026-10-30T14:55:45Z","modified":"2026-10-30T15:51:10Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T16:59:06.268136Z"}],"nvd":[{"id":"CVE-2026-61627","description":"libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. Prior to 0.17.5, libass can overread and overwrite the glyph array in `wrap_lines_measure` while rendering malicious `ASS` content. In `wrap modes other than two`, a final line ending with a literal backslash-n sequence and otherwise consisting only of such sequences or spaces can remain after early trimming and make the line-measurement loops overshoot by one glyph. When the total text size exactly matches the allocated glyph-array capacity, the first loop reads an uninitialized 32-bit fixed-point `pos.x` value, although that value is not subsequently used. The second loop writes `pos.x` and `pos.y` beyond the array, zeroing the first and adding an attacker-controllable offset to the second. No actual exploitation beyond possible denial of service is known; broader exploitation is theoretical and constrained by the addresses, limited writes, and ASLR. This issue is fixed in version 0.17.5.","status":"published","published":"2026-10-30T15:16:52.65Z","modified":"2026-10-30T19:39:14.897Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/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","level":"high","assessor":"secondary"}],"cwes":["CWE-125","CWE-787"],"updated_at":"2026-11-02T14:13:05.268617Z"}],"osv":[{"id":"CVE-2026-61627","title":"libass: Out-of-bounds read and write in wrap_lines_measure","description":"libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. Prior to 0.17.5, libass can overread and overwrite the glyph array in `wrap_lines_measure` while rendering malicious `ASS` content. In `wrap modes other than two`, a final line ending with a literal backslash-n sequence and otherwise consisting only of such sequences or spaces can remain after early trimming and make the line-measurement loops overshoot by one glyph. When the total text size exactly matches the allocated glyph-array capacity, the first loop reads an uninitialized 32-bit fixed-point `pos.x` value, although that value is not subsequently used. The second loop writes `pos.x` and `pos.y` beyond the array, zeroing the first and adding an attacker-controllable offset to the second. No actual exploitation beyond possible denial of service is known; broader exploitation is theoretical and constrained by the addresses, limited writes, and ASLR. This issue is fixed in version 0.17.5.","status":"published","published":"2026-10-30T14:55:45.5Z","modified":"2026-11-01T07:03:41.426843727Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-125","CWE-787"],"updated_at":"2026-11-02T15:45:12.933503Z"},{"id":"DEBIAN-CVE-2026-61627","description":"libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. Prior to 0.17.5, libass can overread and overwrite the glyph array in `wrap_lines_measure` while rendering malicious `ASS` content. In `wrap modes other than two`, a final line ending with a literal backslash-n sequence and otherwise consisting only of such sequences or spaces can remain after early trimming and make the line-measurement loops overshoot by one glyph. When the total text size exactly matches the allocated glyph-array capacity, the first loop reads an uninitialized 32-bit fixed-point `pos.x` value, although that value is not subsequently used. The second loop writes `pos.x` and `pos.y` beyond the array, zeroing the first and adding an attacker-controllable offset to the second. No actual exploitation beyond possible denial of service is known; broader exploitation is theoretical and constrained by the addresses, limited writes, and ASLR. This issue is fixed in version 0.17.5.","status":"published","published":"2026-10-30T15:16:52.65Z","modified":"2026-10-31T06:00:09.740330051Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/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","level":"high"}],"updated_at":"2026-11-02T15:45:57.932517Z"},{"id":"OESA-2026-3199","title":"libass security update","description":"libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha)  subtitle format. It is mostly compatible with VSFilter.\r\n\r\nSecurity Fix(es):\n\nThe vulnerability details have not been publicly disclosed yet.(CVE-2026-61627)","status":"published","published":"2026-08-01T11:12:04Z","modified":"2026-08-18T01:21:25.400396312Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T15:52:46.823443Z"},{"id":"OESA-2026-3200","title":"libass security update","description":"libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha)  subtitle format. It is mostly compatible with VSFilter.\r\n\r\nSecurity Fix(es):\n\nThe vulnerability details have not been publicly disclosed yet.(CVE-2026-61627)","status":"published","published":"2026-08-01T11:12:04Z","modified":"2026-08-18T01:21:25.8184129Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T15:52:46.823443Z"},{"id":"OESA-2026-3201","title":"libass security update","description":"libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha)  subtitle format. It is mostly compatible with VSFilter.\r\n\r\nSecurity Fix(es):\n\nThe vulnerability details have not been publicly disclosed yet.(CVE-2026-61627)","status":"published","published":"2026-08-01T11:12:04Z","modified":"2026-08-18T01:21:25.3802974Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T15:52:46.823443Z"},{"id":"UBUNTU-CVE-2026-61627","description":"libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. Prior to 0.17.5, libass can overread and overwrite the glyph array in `wrap_lines_measure` while rendering malicious `ASS` content. In `wrap modes other than two`, a final line ending with a literal backslash-n sequence and otherwise consisting only of such sequences or spaces can remain after early trimming and make the line-measurement loops overshoot by one glyph. When the total text size exactly matches the allocated glyph-array capacity, the first loop reads an uninitialized 32-bit fixed-point `pos.x` value, although that value is not subsequently used. The second loop writes `pos.x` and `pos.y` beyond the array, zeroing the first and adding an attacker-controllable offset to the second. No actual exploitation beyond possible denial of service is known; broader exploitation is theoretical and constrained by the addresses, limited writes, and ASLR. This issue is fixed in version 0.17.5.","status":"published","published":"2026-07-14T00:00:00Z","modified":"2026-11-05T11:46:34.863475687Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-05T13:30:15.321876Z"},{"id":"USN-8815-1","title":"libass vulnerabilities","description":"It was discovered that libass incorrectly handled parsing operations for\nspecific nested character strings. An attacker could use this issue to\ncause libass to crash, resulting in a denial of service, or possibly\nexecute arbitrary code. This issue only affected Ubuntu 14.04 LTS,\nUbuntu 16.04 LTS, Ubuntu 18.04 LTS and Ubuntu 20.04 LTS.\n(CVE-2020-24994)\n\nIt was discovered that libass incorrectly handled certain outline\nprocessing operations. An attacker could use this issue to cause libass\nto crash, resulting in a denial of service. This issue only affected\nUbuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2020-26682)\n\nIt was discovered that libass incorrectly handled certain ASS subtitle\nfiles when measuring wrapped lines. An attacker could use this issue to\ncause libass to crash, resulting in a denial of service, or possibly\nexecute arbitrary code. This issue only affected Ubuntu 24.04 LTS and\nUbuntu 26.04 LTS. (CVE-2026-61627)\n\nIt was discovered that libass incorrectly handled certain Matroska\nsubtitle chunks with negative ReadOrder values. An attacker could use\nthis issue to cause libass to crash, resulting in a denial of service,\nor possibly execute arbitrary code. This issue only affected Ubuntu\n26.04 LTS. (CVE-2026-61626)","status":"published","published":"2026-09-24T14:57:46Z","modified":"2026-11-03T21:18:32.82470971Z","updated_at":"2026-11-03T21:43:43.010304Z"}]}}
