{"id":"CVE-2026-61626","title":"libass: Out-of-bounds bit clears for negative Matroska ReadOrder values","summary":"libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. From 0.17.4 until 0.17.5, libass event pruning does not guard negative Matroska `ReadOrder` values, allowing an attacker…","severity":"high","cvss":7.3,"cvssVector":"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","cvssSource":"cna","cwe":["CWE-787"],"vendor":"libass","product":"libass","affected":["libass >= 0.17.4, < 0.17.5"],"ssvc":{"exploitation":"none","automatable":"yes","technicalImpact":"total","timestamp":"2026-11-04T22:44:29.050965Z"},"published":"2026-10-30","updated":"2026-11-04","sourceUpdated":"2026-11-04T22:45:05.471Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-61626","references":[{"url":"https://github.com/libass/libass/security/advisories/GHSA-5gf7-wjfm-vmvm","label":"https://github.com/libass/libass/security/advisories/GHSA-5gf7-wjfm-vmvm"},{"url":"https://github.com/libass/libass/commit/23da65a130bb8c5b2cf0c7df0dd7d424607f98f1","label":"https://github.com/libass/libass/commit/23da65a130bb8c5b2cf0c7df0dd7d424607f98f1"},{"url":"https://github.com/libass/libass/releases/tag/0.17.5","label":"https://github.com/libass/libass/releases/tag/0.17.5"}],"tags":["cve.org"],"epss":0.00118,"epssPercentile":0.0174,"ingestedAt":"2026-11-05T21:36:00.658Z","slug":"CVE-2026-61626","body":"## Overview\n\nlibass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. From 0.17.4 until 0.17.5, libass event pruning does not guard negative Matroska `ReadOrder` values, allowing an attacker to clear arbitrarily many bits to zero at attacker-controlled positions near the NULL pointer. Exploitation requires a malicious Matroska stream loaded through `ass_process_chunk`, enabled read-order checking, and later pruning of the malicious events. Read-order checking is enabled by default unless `ass_set_check_readorder` is called with zero; pruning must occur explicitly through `ass_prune_events` or through automatic pruning previously enabled with `ass_configure_prune`. On common systems with arithmetic right shift, 32-bit int values, the upper address region reserved to the kernel, and matching binary/kernel architecture, the expected consequence is denial of service. More extensive exploitation on uncommon systems is theoretical and strongly constrained by the target addresses, bit-clearing-only mutation, and ASLR. This issue is fixed in version 0.17.5.\n\n## Affected\n\n- `libass >= 0.17.4, < 0.17.5`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":40,"depthScoreParts":{"impact":40.2,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}