CVE-2023-6349
NoneCVSS
—
EPSS
0.4%
Published
May 27, 2024
CISA due date
—
Cloudanix analysis
A flaw in a widely used video encoding library can let specially crafted video frames cause crashes or security problems in programs that process video.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Data Tampering
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap overflow in libvpx VP9 encoder when processing a frame whose dimensions exceed the originally configured size, allowing out-of-bounds writes in memory.
Why it matters to the business
Applications that encode VP9 video with libvpx face risk of crashes, denial of service, or potential arbitrary code execution when handling oversized frames, which can disrupt video pipelines and require emergency patching across dependent systems.
How an attack unfolds
An attacker supplies a VP9 frame larger than the encoder context was initialized for; the encoder allocates based on the original size but writes data based on the larger frame, overflowing the heap buffer. Exploitation requires local access and specific encoding conditions, with no public exploits or threat actor campaigns observed.
How to fix it
Upgrade webmproject/libvpx to version 1.13.1 or later, specifically applying commit 10b9492dcf05b652e2e4b370e205bd605d421972. Rebuild and redeploy all dependent applications after the upgrade.
How to confirm the fix worked
Verify the installed libvpx version or commit hash matches or exceeds the fixed version; test encoding operations with oversized frames to confirm no overflow occurs.
Typical attack path
- Identify a target application that uses libvpx for VP9 encoding
- Craft or supply a video frame whose dimensions exceed the encoder's configured size
- Trigger the encoding operation on the oversized frame
- Trigger heap overflow leading to memory corruption or crash
How to detect it
Review application and system logs for crashes or segmentation faults during VP9 encoding operations with libvpx; inspect process memory dumps or core files for heap corruption patterns around video frame handling.
What your security team should do
- Immediately inventory all systems and libraries using libvpx and schedule upgrades to the fixed version
- Prioritize patching in any video encoding or streaming services
- Monitor for application crashes during VP9 encoding as a potential indicator of attempted exploitation
The record
A heap overflow vulnerability exists in libvpx - Encoding a frame that has larger dimensions than the originally configured size with VP9 may result in a heap overflow in libvpx. We recommend upgrading to version 1.13.1 or above
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | libvpx | 0 | 1.7.0-11.el8_10 |
| AlmaLinux:8 | libvpx-devel | 0 | 1.7.0-11.el8_10 |
| Debian:11 | libvpx | 0 | 1.9.0-1+deb11u2 |
| Debian:12 | libvpx | 0 | 1.12.0-1+deb12u2 |
| Debian:13 | libvpx | 0 | 1.13.1-2 |
| Red Hat:enterprise_linux:8::appstream | libvpx | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::appstream | libvpx-debuginfo | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::appstream | libvpx-debugsource | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::appstream | libvpx-devel | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::appstream | libvpx-utils-debuginfo | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::crb | libvpx | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::crb | libvpx-debuginfo | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::crb | libvpx-debugsource | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::crb | libvpx-devel | 0 | 0:1.7.0-11.el8_10 |
| Red Hat:enterprise_linux:8::crb | libvpx-utils-debuginfo | 0 | 0:1.7.0-11.el8_10 |
| Rocky Linux:8 | libvpx | 0 | 0:1.7.0-11.el8_10 |
| SUSE:Enterprise Storage 7.1 | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | libvpx | 0 | 1.6.1-150000.6.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Manager Proxy 4.3 | libvpx | 0 | 1.11.0-150400.3.7.1 |
| SUSE:Manager Server 4.3 | libvpx | 0 | 1.11.0-150400.3.7.1 |
| Ubuntu:20.04:LTS | libvpx | 0 | 1.8.2-1ubuntu0.2 |
| Ubuntu:22.04:LTS | libvpx | 0 | 1.11.0-2ubuntu2.2 |
| Ubuntu:24.04:LTS | libvpx | 0 | 1.14.0-1ubuntu2 |
| Ubuntu:Pro:14.04:LTS | libvpx | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libvpx | 0 | 1.5.0-2ubuntu1.1+esm2 |
| Ubuntu:Pro:18.04:LTS | libvpx | 0 | 1.7.0-3ubuntu0.18.04.1+esm1 |
| openSUSE:Leap 15.5 | libvpx | 0 | 1.11.0-150400.3.7.1 |
| openSUSE:Leap 15.6 | libvpx | 0 | 1.11.0-150400.3.7.1 |
Related vulnerabilities
- CVE-2024-5197 There exists interger overflows in libvpx in versions prior to 1.14.1. Calling… Also affects libvpx
- CVE-2017-13194 A vulnerability in the Android media framework (libvpx) related to odd frame width. Also affects libvpx
- CVE-2026-112403 Pillow is a Python imaging library. CWE-122
- CVE-2026-112393 Pillow is a Python imaging library. CWE-122
- CVE-2026-112395 Pillow is a Python imaging library. CWE-122
- CVE-2026-103658 GNU Aspell 0.60.8.2 (first vulnerable version is not known) contains a heap-based buffer… CWE-122
- CVE-2026-107161 A heap-based buffer overflow flaw was found in Cyrus SASL. CWE-122
- CVE-2026-106574 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-122