Skip to main content
Vulnerability Database/CVE-2026-91089

CVE-2026-91089: GPAC Use-After-Free Vulnerability

CVE-2026-91089 is a use-after-free vulnerability in GPAC that affects the gf_node_get_name_and_id function. This security flaw can be exploited remotely to compromise system integrity. This article covers technical details, affected versions, impact assessment, and mitigation steps.

Published:

CVE-2026-91089 Overview

CVE-2026-91089 is a use-after-free vulnerability in GPAC, an open-source multimedia framework used for MP4/MPEG-4 processing, streaming, and packaging. The flaw resides in the gf_node_get_name_and_id function inside scenegraph/base_scenegraph.c and affects GPAC builds up to commit f1219cde. Manipulation of scene graph data triggers access to memory that has already been freed, classified under [CWE-119]. The issue is remotely reachable when a user opens a crafted scene file, and a public proof-of-concept has been released. The GPAC project has resolved the defect in release abi-16.23 via patch commit 49dee5cad329cfed310c1682703df7daa47df31a.

Critical Impact

Remote attackers can trigger a use-after-free condition in GPAC by delivering a crafted scene file, potentially leading to process crash or limited memory corruption in the parsing context.

Affected Products

  • GPAC multimedia framework builds up to commit f1219cde
  • GPAC BIFS scene graph parser (scenegraph/base_scenegraph.c)
  • Fixed in GPAC release abi-16.23

Discovery Timeline

  • 2026-09-15 - CVE-2026-91089 published to NVD
  • 2026-09-15 - Last updated in NVD database

Technical Details for CVE-2026-91089

Vulnerability Analysis

The vulnerability lives in gf_node_get_name_and_id, a helper that resolves the human-readable name and numeric identifier of a scene graph node. When GPAC parses a BIFS (Binary Format for Scenes) stream, node registration and command handling can retain a pointer to a node that has already been released elsewhere in the pipeline. Subsequent access through gf_node_get_name_and_id dereferences that stale pointer.

An attacker delivers the payload as a crafted .bt (BIFS textual) or equivalent scene file. Because parsing runs in the same process as the GPAC application, MP4Box tool, or embedded player, exploitation influences the host process state. The exposed impact remains limited in scope, but reliable crashes and controlled memory reuse have been demonstrated in the public PoC.

Root Cause

The root cause is missing lifetime management for scene graph nodes attached to commands. Command structures held a raw pointer to a node without going through the reference-counted setter, so freeing the node elsewhere left the command referencing invalid memory. Similar filter code paths, such as reframe_av1.c, retained packet references without unreferencing them on cleanup.

Attack Vector

Exploitation requires user interaction: a victim must open or process a malicious scene file with a vulnerable GPAC build. Network delivery is possible through email, web download, or streaming pipelines that hand media to GPAC-based tools.

c
// Patch: src/bifs/memory_decoder.c - route node assignment through the reference-counted setter
static void BM_SetCommandNode(GF_Command *com, GF_Node *node)
{
-	com->node = node;
+	gf_sg_command_set_node(com, node);
	gf_node_register(node, NULL);
}

// Patch: src/filters/reframe_av1.c - release retained source packet on filter teardown
GF_AV1DmxCtx *ctx = gf_filter_get_udta(filter);
if (ctx->bs) gf_bs_del(ctx->bs);
if (ctx->indexes) gf_free(ctx->indexes);
+if (ctx->src_pck) gf_filter_pck_unref(ctx->src_pck);

gf_av1_reset_state(&ctx->state, GF_TRUE);
if (ctx->state.config) gf_odf_av1_cfg_del(ctx->state.config);

Source: GitHub Commit 49dee5c

Detection Methods for CVE-2026-91089

Indicators of Compromise

  • Unexpected crashes of MP4Box, MP4Client, or GPAC-linked services when processing scene or media files.
  • Presence of scene files matching the public PoC archive poc_16_bt.zip referenced in GitHub Issue #3809 Discussion.
  • GPAC binaries or libraries whose version predates release abi-16.23.

Detection Strategies

  • Inventory endpoints and build systems for GPAC installations and compare against the abi-16.23 fixed release.
  • Run AddressSanitizer or Valgrind against automated GPAC parsing pipelines to surface use-after-free access in gf_node_get_name_and_id.
  • Flag inbound media workflows that hand untrusted .bt, .bifs, or scene-bearing MP4 files to GPAC-based converters.

Monitoring Recommendations

  • Alert on repeated segfaults or abnormal termination of GPAC processes in transcoding and streaming farms.
  • Monitor filesystem writes of scene files originating from untrusted sources into media processing directories.
  • Track outbound traffic from GPAC hosts after media parsing events to identify follow-on activity.

How to Mitigate CVE-2026-91089

Immediate Actions Required

  • Upgrade GPAC to release abi-16.23 or later on all systems that ingest untrusted media.
  • Rebuild any downstream projects that statically link GPAC libraries against the patched sources.
  • Restrict user-driven opening of untrusted scene files until the upgrade is confirmed.

Patch Information

The fix is delivered in GPAC release abi-16.23, identified by commit 49dee5cad329cfed310c1682703df7daa47df31a. The patch routes node assignments through gf_sg_command_set_node and adds missing packet unreference calls in AV1 reframing. See the GitHub Release abi-16.23 and the GitHub Commit 49dee5c for the full change set.

Workarounds

  • Disable BIFS scene parsing in server-side media pipelines that do not require it.
  • Sandbox GPAC processing with seccomp, AppArmor, or containerized execution to contain memory corruption effects.
  • Reject inbound scene files from untrusted senders at the mail or web gateway until the patch is deployed.
bash
# Build and install the patched GPAC release
git clone https://github.com/gpac/gpac.git
cd gpac
git checkout abi-16.23
./configure
make -j$(nproc)
sudo make install
MP4Box -version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.