Description
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.
Published: 2026-10-30
Score: 7.3 High
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The flaw arises when libass performs event pruning without guarding against negative Matroska ReadOrder values. An attacker can inject a malicious Matroska stream that, after being processed by ass_process_chunk with read‑order checking enabled, causes an out‑of‑bounds bit clear operation near a null pointer. The resulting memory corruption can terminate the process, causing a denial of service. The vulnerability is a classic example of an input validation failure leading to memory corruption (CWE‑787). The description does not indicate remote code execution or data disclosure; it is primarily a crash condition.

Affected Systems

libass, the subtitle rendering component, is the affected product. Versions up to 0.17.4 contain the vulnerable pruning logic. The issue is resolved in release 0.17.5 and later. If your deployment uses libass 0.17.4 (or any earlier release that does not include the fix), it is susceptible to this flaw.

Risk and Exploitability

The CVSS score of 7.3 points to a high severity vulnerability. Exploitation requires the library to process a crafted Matroska stream, read‑order checking must remain enabled, and pruning must take place. The attack is most effective on systems that use a 32‑bit signed integer representation, support arithmetic right shifts, and have a kernel‑reserved upper address space. The resultant denial of service is the most likely consequence; further exploitation would be limited by address space layout and ASLR. Due to these conditions, the EPSS score is not available, and the flaw is not listed in CISA’s KEV catalog, indicating that widespread exploitation has not yet been observed.

Generated by OpenCVE AI on October 30, 2026 at 16:43 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade libass to version 0.17.5 or newer, which contains the fixed pruning logic.
  • If an immediately available upgrade cannot be deployed, disable read‑order checking before processing media by calling ass_set_check_readorder with a zero value or by configuring the library to skip pruning entirely; this removes the code path that can be abused.
  • Review and restrict which processes have the ability to load Matroska streams into the library, running such functionality under the least privileged context possible.

Generated by OpenCVE AI on October 30, 2026 at 16:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Description 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.
Title libass: Out-of-bounds bit clears for negative Matroska ReadOrder values
Weaknesses CWE-787
References
Metrics cvssV4_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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T14:52:21.006Z

Reserved: 2026-07-10T17:38:57.110Z

Link: CVE-2026-61626

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-30T15:16:52.500

Modified: 2026-10-30T19:39:14.897

Link: CVE-2026-61626

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T16:45:15Z

Weaknesses