---
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'
---

## Overview

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.

## Affected

- `libass >= 0.17.4, < 0.17.5`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
