☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2024-47615

CVE-2024-47615 Heap Buffer Overflow in Gstreamer
📅 PUBLISHED: 2024-12-11 19:13 UTC 🔄 UPDATED: 2026-10-02 19:26 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: CONFIRMED — 3+ independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 1.13%
👁️
1.13% probability
28.3× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-47615 is a critical out-of-bounds (OOB) write vulnerability in GStreamer, a widely used multimedia framework. The flaw resides in the gst_parse_vorbis_setup_packet function within vorbis_parse.c. An attacker can craft a malicious Vorbis audio file that, when parsed by a vulnerable GStreamer version, causes an integer read from the file to exceed the fixed size of the pad->vorbis_mode_sizes array (256 elements). This leads to a heap-based buffer overflow, overwriting up to 380 bytes of adjacent memory with attacker-controlled data (0s and 1s). Successful exploitation could allow arbitrary code execution, denial of service, or information disclosure. The vulnerability is fixed in GStreamer 1.24.10.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

GStreamer is a core dependency in many Linux distributions, media players, and streaming applications. This vulnerability can be introduced into downstream software via package managers (e.g., apt, yum, pip for gst-python). Organizations should audit their software bill of materials (SBOM) for GStreamer versions below 1.24.10 and prioritize patching.

CVSS Breakdown & Threat Level

CVSS Score: 0.0 (NVD) – However, based on the vulnerability characteristics, a more realistic score is CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H (7.8 High).

  • Attack Vector (AV): Local (L) – Requires user to open a malicious file.
  • Attack Complexity (AC): Low (L) – No special conditions.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): Required (R) – Victim must open the file.
  • Scope (S): Unchanged (U) – Vulnerability does not cross trust boundaries.
  • Confidentiality (C): High (H) – Potential memory leak.
  • Integrity (I): High (H) – Memory corruption can lead to code execution.
  • Availability (A): High (H) – Crash or denial of service.

Threat Level: High. The vulnerability is easily exploitable via a crafted media file and can lead to full system compromise.

Deep Dive & Mechanics

The vulnerability is in the gst_parse_vorbis_setup_packet function in gst-libs/gst/audio/vorbis_parse.c. The function parses a Vorbis setup header packet. It reads an integer size from the input buffer without proper validation. This size is then used as an index into the pad->vorbis_mode_sizes array, which has a fixed size of 256. If size is greater than 255, the subsequent for loop writes beyond the array bounds, corrupting the pad structure and adjacent heap memory.

Root Cause: Missing bounds check on the size value before using it as an array index.

Impact: An attacker can control the size value to overwrite up to 380 bytes of memory. This can corrupt function pointers, leading to arbitrary code execution.

Vulnerable vs. Patched Code

Vulnerable Code (simplified):

// In gst_parse_vorbis_setup_packet
int size = GST_READ_U32_LE(data); // No validation
for (int i = 0; i < size; i++) {
    pad->vorbis_mode_sizes[i] = ...; // OOB write if size > 256
}

Patched Code:

// In gst_parse_vorbis_setup_packet
int size = GST_READ_U32_LE(data);
if (size > 256) {
    // Error handling, reject packet
    return GST_FLOW_ERROR;
}
for (int i = 0; i < size; i++) {
    pad->vorbis_mode_sizes[i] = ...;
}

The patch adds a bounds check to ensure size does not exceed the array capacity.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • GStreamer version < 1.24.10
  • Ability to deliver a malicious .ogg or .oga file to the victim.

Exploitation Steps:

  1. Craft a malicious Vorbis setup header with a large size value (e.g., 300).
  2. Embed this header in an Ogg container.
  3. Deliver the file via email, web download, or media stream.
  4. When the victim opens the file with a GStreamer-based application (e.g., Totem, Rhythmbox), the OOB write occurs.
  5. Overwrite a function pointer in the pad structure to redirect execution to shellcode.

Proof-of-Concept (PoC) Code:

# PoC: Generate a malicious Ogg file
import struct

def create_malicious_ogg():
    # Craft a Vorbis setup header with oversized mode count
    # This is a simplified example; real exploit requires careful heap layout
    header = b'\x01'  # Packet type: Setup
    header += struct.pack('<I', 300)  # Malicious size (OOB)
    header += b'A' * (300 * 4)  # Padding to trigger overflow
    # Wrap in Ogg page
    ogg_page = b'OggS' + header
    with open('malicious.ogg', 'wb') as f:
        f.write(ogg_page)

create_malicious_ogg()

Blue Team (Defense)

Detection:

  • Monitor for crashes in GStreamer processes (e.g., gst-launch-1.0, totem).
  • Use memory corruption detection tools (e.g., AddressSanitizer) during testing.
  • Deploy endpoint detection and response (EDR) rules for heap overflow patterns.

Mitigation:

  • Immediately update GStreamer to version 1.24.10 or later.
  • Use application whitelisting to prevent untrusted media players.
  • Sandbox media processing in isolated containers.

Indicators of Compromise (IOCs)

  • File Hashes: (Example) malicious.ogg – SHA256: a1b2c3d4e5f6...
  • Network Traffic: Unusual Ogg/Vorbis streams from untrusted sources.
  • Process Behavior: GStreamer process crash with heap corruption error.
  • Memory Artifacts: Overwritten vorbis_mode_sizes array with values > 256.

Detection Engineering

YARA Rule

rule CVE_2024_47615_GStreamer_OOB_Write {
    meta:
        description = "Detects malicious Ogg files exploiting CVE-2024-47615"
        author = "Valters IT"
        date = "2025-01-01"
        hash = "a1b2c3d4e5f6"
    strings:
        $ogg_magic = "OggS"
        $vorbis_setup = { 01 }  // Vorbis setup packet type
        $large_size = /[\x00-\xff]{4}/  // Placeholder for size check
    condition:
        $ogg_magic at 0 and $vorbis_setup and uint32be(0) > 256
}

Sigma Rule

title: CVE-2024-47615 GStreamer OOB Write Exploitation
id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
status: experimental
description: Detects GStreamer crashes or heap corruption events
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith: '/gst-launch-1.0'
        CommandLine|contains: '*.ogg'
    condition: selection
falsepositives:
    - Legitimate large Vorbis files (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-47615 GStreamer OOB Write Attempt"; flow:to_client; file_store; fileext:"ogg"; content:"OggS"; offset:0; depth:4; content:"|01|"; within:10; byte_test:4,>,256,0; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update GStreamer to version 1.24.10 or later.
  2. Apply vendor patches from your Linux distribution (e.g., apt upgrade gstreamer1.0).
  3. Restrict media file processing to trusted sources.

Long-term Measures:

  • Implement fuzz testing for media parsers.
  • Use memory-safe languages or bounds-checking libraries.
  • Monitor for similar CVEs in GStreamer and related libraries.

Valters IT Signature

This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-47615/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.