CVE-2016-7969
High · 7.5CVSS
7.5
EPSS
4.3%
Published
Mar 3, 2017
CISA due date
—
Cloudanix analysis
A bug in a subtitle-handling library can make programs that display captions crash when they receive a specially made file, potentially interrupting video or media services.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
The wrap_lines_smart function in ass_render.c performs an out-of-bounds read during line-wrapping equalization when processing specially crafted ASS subtitle data, resulting in a denial-of-service crash.
Why it matters to the business
Applications that render user-supplied or untrusted subtitle files can be forced offline or crash repeatedly, disrupting media playback, streaming, or content-processing workflows until the vulnerable library is updated.
How an attack unfolds
An attacker crafts an ASS subtitle file that triggers the vulnerable wrap_lines_smart path with specific line counts and wrapping parameters; when the target application parses and renders the file, the out-of-bounds read occurs and terminates the process.
How to fix it
Upgrade libass to version 0.13.4 or later (commit 8551555c86f50f978f9ddd55a8d20bceb80d92fc); consumers of the task package should update to 3.35.1-r1 or newer. Rebuild and redeploy any statically linked applications after the library update.
How to confirm the fix worked
Verify installed libass version is 0.13.4 or newer; run regression tests with known triggering subtitle samples; monitor application logs for absence of crashes on previously crashing inputs.
Typical attack path
- Attacker supplies a malicious ASS subtitle file to the target application
- Application invokes libass to parse and render the subtitles
- wrap_lines_smart processes the crafted line-wrapping data
- Out-of-bounds read triggers a crash or denial of service
How to detect it
Search process crash logs and core dumps for references to ass_render.c or wrap_lines_smart; correlate application restarts with receipt of external subtitle files; review any available libass debug output for abnormal line-wrapping behavior.
What your security team should do
- Immediately inventory all systems using libass < 0.13.4 and schedule upgrades
- Block untrusted subtitle files from being processed until patched
- Add version checks for libass to software bill-of-materials and CI pipelines
The record
The wrap_lines_smart function in ass_render.c in libass before 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."
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | libass | 0 | 0.13.4-r0 |
| Alpine:v3.11 | libass | 0 | 0.13.4-r0 |
| Alpine:v3.3 | libass | 0 | 0.13.4-r0 |
| Alpine:v3.4 | libass | 0 | 0.13.4-r0 |
| Alpine:v3.5 | libass | 0 | 0.13.4-r0 |
| Alpine:v3.6 | libass | 0 | 0.13.4-r0 |
| Alpine:v3.7 | libass | 0 | 0.13.4-r0 |
| Alpine:v3.8 | libass | 0 | 0.13.4-r0 |
| Alpine:v3.9 | libass | 0 | 0.13.4-r0 |
| Debian:11 | libass | 0 | 0.13.4-1 |
| Debian:12 | libass | 0 | 0.13.4-1 |
| Debian:13 | libass | 0 | 0.13.4-1 |
| Debian:14 | libass | 0 | 0.13.4-1 |
| Debian:7 | libass | 0 | 0.10.0-3+deb7u1 |
| Mageia:5 | libass | 0 | 0.13.4-1.mga5 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libass | 0 | 0.10.2-3.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libass | 0 | 0.10.2-3.1 |
| SUSE:Linux Enterprise Server 12 SP1 | libass | 0 | 0.10.2-3.1 |
| SUSE:Linux Enterprise Server 12 SP2 | libass | 0 | 0.10.2-3.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libass | 0 | 0.10.2-3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libass | 0 | 0.10.2-3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libass | 0 | 0.10.2-3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libass | 0 | 0.10.2-3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libass | 0 | 0.10.2-3.1 |
| Ubuntu:Pro:14.04:LTS | libass | 0 | 0.10.1-3ubuntu1+esm1 |
| Ubuntu:Pro:16.04:LTS | libass | 0 | 0.13.1-1ubuntu0.1~esm1 |
| Ubuntu:Pro:16.04:LTS | libass | 0 | 0.13.1-1ubuntu0.1~esm2 |
Related vulnerabilities
- CVE-2026-92824 A flaw was found in libmodulemd. CWE-125
- CVE-2026-114038 A flaw was found in device-mapper-multipath. CWE-125
- CVE-2026-112896 Pillow is a Python imaging library. CWE-125
- CVE-2026-112278 rdesktop through 1.9.0 contains a heap out-of-bounds read vulnerability in… CWE-125
- CVE-2026-112273 libtins through 4.6 contains a heap out-of-bounds read vulnerability in DNS::compose_name… CWE-125
- CVE-2026-112073 A vulnerability was identified in Tencent ncnn up to 44b02dabdcf97499281a4692ebd65bad73dc… CWE-125
- CVE-2026-112020 LodePNG through 20261006 contains a heap out-of-bounds read vulnerability in… CWE-125
- CVE-2026-88842 A flaw was found in BusyBox dpkg. CWE-125