CVE-2026-61626
HighCVSS 7.3Exploitation Probability (EPSS)
Low risk2th percentile - higher than 2% of all known CVEs
Summary
In libass from 0.17.4 until 0.17.5, event pruning does not guard against negative Matroska ReadOrder values, allowing an attacker to clear bits at attacker-controlled positions near the NULL pointer. Exploitation requires a malicious Matroska stream, enabled read-order checking, and later pruning of malicious events. The issue is fixed in version 0.17.5.
Risk Assessment
On common systems, the expected consequence is denial of service. More extensive exploitation is theoretical and strongly constrained by target addresses, bit-clearing-only mutation, and ASLR.
Recommendation
Update libass to version 0.17.5 or later. Do not process untrusted Matroska streams with vulnerable versions.
Other vulnerabilities in libass
See all- CVE-2016-7972High
The check_allocations function in libass/ass_shaper.c in libass before version 0.13.4 allows remote attackers to cause a denial of service (memory allocation failure) via unspecified vectors.
- CVE-2016-7970High
Buffer overflow in the calc_coeff function in ass_blur.c in libass before version 0.13.4 allows remote attackers to cause a denial of service via unspecified vectors.
- CVE-2016-7969High
The wrap_lines_smart function in ass_render.c in libass before version 0.13.4 allows remote attackers to cause a denial of service (out-of-bounds read) via unspecified vectors, related to '0/3 line wrapping equalization.'
- CVE-2026-61627High
In libass prior to 0.17.5, wrap_lines_measure can overread and overwrite the glyph array while rendering malicious ASS content. In certain wrap modes, a line ending with a literal backslash-n sequence can cause the measurement loops to overshoot by one glyph, leading to an uninitialized read and an out-of-bounds write. The issue is fixed in version 0.17.5.
- CVE-2026-95127High
An issue in libass v.0.17.5 allows a remote attacker to cause a denial of service via the ass_outline_construct() in libass/ass_render.c
Original NVD description (English source)
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 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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

