CVE-2024-56431
NoneCVSS
—
EPSS
1.8%
Published
Dec 25, 2024
CISA due date
—
Cloudanix analysis
An old video library used by some systems could crash when given certain bad video files, so organizations should update their software to the fixed versions.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Invalid negative left shift in oc_huff_tree_unpack during Huffman tree unpacking in libtheora, resulting in undefined behavior that may cause crashes or memory corruption when processing malformed Theora bitstreams.
Why it matters to the business
Potential service disruption or application crashes when handling untrusted Theora media on legacy Ubuntu systems; low prevalence and exploit maturity reduce immediate operational risk but require patching to avoid future exposure in media pipelines.
How an attack unfolds
An attacker supplies a crafted Theora-encoded file or stream containing invalid Huffman tree data that reaches oc_huff_tree_unpack and triggers the negative shift, leading to undefined behavior exploitable for denial of service or potentially arbitrary code execution.
How to fix it
Upgrade affected packages to the listed fixed versions: linux-aws (14.04) to 4.4.0-1002.2, linux-lts-xenial (14.04) to 4.4.0-24.43~14.04.1, linux (16.04) to 4.4.0-24.43, linux-aws (16.04) to 4.4.0-1001.10, linux-gke (16.04) to 4.4.0-1003.3, linux-hwe (16.04) to 4.8.0-36.36~16.04.1, linux-raspi2 (16.04) to 4.4.0-1012.16, linux-snapdragon (16.04) to 4.4.0-1015.18.
How to confirm the fix worked
Confirm package versions match or exceed the fixed releases above; test media decoding paths with known-good and boundary-case Theora streams to verify absence of shift errors.
Typical attack path
- Identify target applications or services that use libtheora for decoding Theora content
- Craft a malicious Theora bitstream with invalid Huffman tree parameters
- Deliver the payload via file upload, media streaming, or network input
- Trigger processing to induce the negative left shift and resulting undefined behavior
How to detect it
Review application logs for segmentation faults or undefined behavior during Theora decoding; inspect media processing pipelines for unexpected crashes on untrusted input.
What your security team should do
- Prioritize upgrades on any remaining Ubuntu 14.04/16.04 systems still using the affected kernels
- Remove or isolate legacy Theora decoding dependencies where possible
- Monitor EPSS and KEV updates for any rise in exploit activity
The record
oc_huff_tree_unpack in huffdec.c in libtheora in Theora through 1.0 7180717 has an invalid negative left shift.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libtheora | 0 | No fix |
| Debian:12 | libtheora | 0 | No fix |
| Debian:13 | libtheora | 0 | No fix |
| Debian:14 | libtheora | 0 | 1.2.0~alpha1+dfsg-6 |
| SUSE:Linux Enterprise Micro 5.1 | mozjs60 | 0 | 60.9.0-150200.6.3.1 |
| SUSE:Linux Enterprise Micro 5.2 | mozjs60 | 0 | 60.9.0-150200.6.3.1 |
| SUSE:Linux Enterprise Micro 5.3 | mozjs60 | 0 | 60.9.0-150200.6.3.1 |
| SUSE:Linux Enterprise Micro 5.4 | mozjs60 | 0 | 60.9.0-150200.6.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | mozjs60 | 0 | 60.9.0-150200.6.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | mozjs115 | 0 | 115.4.0-150600.3.9.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | mozjs60 | 0 | 60.9.0-150200.6.3.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | mozjs52 | 0 | 52.6.0-150000.3.6.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | mozjs78 | 0 | 78.15.0-150400.3.14.1 |
| SUSE:Package Hub 15 SP6 | mozjs102 | 0 | 102.15.1-bp156.3.3.1 |
| Ubuntu:20.04:LTS | libtheora | 0 | No fix |
| Ubuntu:22.04:LTS | libtheora | 0 | No fix |
| Ubuntu:24.04:LTS | libtheora | 0 | No fix |
| Ubuntu:24.10 | libtheora | 0 | No fix |
| Ubuntu:25.04 | libtheora | 0 | 1.2.0~alpha1+dfsg-6 |
| Ubuntu:Pro:16.04:LTS | libtheora | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libtheora | 0 | No fix |
| openSUSE:Leap 15.6 | mozjs102 | 0 | 102.15.1-bp156.3.3.1 |
| openSUSE:Leap 15.6 | mozjs115 | 0 | 115.4.0-150600.3.9.1 |
| openSUSE:Leap 15.6 | mozjs52 | 0 | 52.6.0-150000.3.6.1 |
| openSUSE:Leap 15.6 | mozjs60 | 0 | 60.9.0-150200.6.3.1 |
| openSUSE:Leap 15.6 | mozjs78 | 0 | 78.15.0-150400.3.14.1 |
| openSUSE:Tumbleweed | libtheora | 0 | 1.2.0-1.1 |
| openSUSE:Tumbleweed | mozjs115 | 0 | 115.15.0-5.1 |
| openSUSE:Tumbleweed | mozjs128 | 0 | 128.9.0-2.1 |
Related vulnerabilities
- CVE-2024-50602 An issue was discovered in libexpat before 2.6.4. Also affects mozjs60
- CVE-2024-45491 An issue was discovered in libexpat before 2.6.3. Also affects mozjs60
- CVE-2024-45492 An issue was discovered in libexpat before 2.6.3. Also affects mozjs60
- CVE-2024-45490 An issue was discovered in libexpat before 2.6.3. Also affects mozjs60
- CVE-2024-11498 There exists a stack buffer overflow in libjxl. A specifically-crafted file can cause the… Also affects mozjs115
- CVE-2024-11403 There exists an out of bounds read/write in LibJXL versions prior to commit… Also affects mozjs115
- CVE-2025-70103 Heap buffer overflow vulnerability in libjxl 0.12.0 via crafted PBM images to the… Also affects mozjs115
- CVE-2026-32776 libexpat before 2.7.5 allows a NULL pointer dereference with empty external parameter… Also affects mozjs115