<Vulnerability name="CVE-2026-100231">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Moderate</ThreatSeverity>
    <PublicDate>2026-10-14T08:10:31</PublicDate>
    <Bugzilla id="2541468" url="https://bugzilla.redhat.com/show_bug.cgi?id=2541468" xml:lang="en:us">
gstreamer1-plugins-bad-free: gstreamer1-plugins-bad-free: heap out-of-bounds write in asfmux due to incorrect UTF-16 size calculation for non-BMP characters
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>6.1</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-787</CWE>
    <Details xml:lang="en:us" source="Mitre">
A flaw was found in the GStreamer multimedia framework's ASF muxer plugin (asfmux). When writing string metadata tags containing Unicode characters outside the Basic Multilingual Plane (such as emoji) to an ASF container, the plugin incorrectly calculates the buffer size needed for the UTF-16LE representation. The size calculation assumes each Unicode code point requires 2 bytes, but non-BMP characters require 4 bytes (surrogate pairs). This leads to a heap out-of-bounds write when the actual UTF-16LE conversion is written into the undersized buffer. An attacker could exploit this by providing media with crafted metadata tags to an application that transcodes or remuxes to ASF format while preserving metadata, potentially causing a denial of service or limited memory corruption.
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A flaw was found in the GStreamer multimedia framework's ASF muxer plugin (asfmux). When writing string metadata tags containing Unicode characters outside the Basic Multilingual Plane (such as emoji) to an ASF container, the plugin incorrectly calculates the buffer size needed for the UTF-16LE representation. The size calculation assumes each Unicode code point requires 2 bytes, but non-BMP characters require 4 bytes (surrogate pairs). This leads to a heap out-of-bounds write when the actual UTF-16LE conversion is written into the undersized buffer. An attacker could exploit this by providing media with crafted metadata tags to an application that transcodes or remuxes to ASF format while preserving metadata, potentially causing a denial of service or limited memory corruption.
    </Details>
    <Statement xml:lang="en:us">
This vulnerability is rated as Moderate severity because exploitation requires a user or application to process untrusted media through a GStreamer pipeline that muxes output to ASF, WMA, or WMV while preserving string metadata (for example title or artist). That transcoding or remuxing scenario is uncommon compared with playback or demuxing. The reporter and Red Hat static analysis confirmed a deterministic heap out-of-bounds write that can crash the process; code execution was not demonstrated.

The flaw is in the asfmux element shipped in the gstreamer1-plugins-bad-free package. Standard ASLR and heap protections on Red Hat platforms increase the difficulty of turning the overflow into code execution beyond denial of service.

Red Hat Enterprise Linux and Red Hat In-Vehicle OS ship this package and are affected on supported update streams. Fedora community packages gstreamer1-plugins-bad-free and mingw-gstreamer1-plugins-bad-free are affected; resolution is delegated to Fedora maintainers.

Red Hat will provide fixes after upstream releases a correction and coordinated disclosure completes. Until then, if ASF muxing is not required, disable or remove the asfmux GStreamer plugin, or avoid propagating untrusted metadata into an asfmux pipeline. See the flaw mitigation field for build-time and runtime options.
    </Statement>
    <Acknowledgement xml:lang="en:us">
Red Hat would like to thank Bruno Fournier (Independent researcher) for reporting this issue.
    </Acknowledgement>
    <Mitigation xml:lang="en:us">
The asfmux plugin can be disabled at build time by passing `-Dgst-plugins-bad:asfmux=disabled` to meson when building GStreamer, or by removing/unloading the `libgstasfmux.so` shared library from the GStreamer plugin directory at runtime. Applications that do not require ASF muxing functionality are not affected. If ASF muxing is required, applications should sanitize metadata tags to remove non-BMP Unicode characters before passing them to the asfmux element.
    </Mitigation>
    <PackageState cpe="cpe:/o:redhat:enterprise_linux:10">
        <ProductName>Red Hat Enterprise Linux 10</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>gstreamer1-plugins-bad-free</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/o:redhat:enterprise_linux:7">
        <ProductName>Red Hat Enterprise Linux 7</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>gstreamer1-plugins-bad-free</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/o:redhat:enterprise_linux:8">
        <ProductName>Red Hat Enterprise Linux 8</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>gstreamer1-plugins-bad-free</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/o:redhat:enterprise_linux:9">
        <ProductName>Red Hat Enterprise Linux 9</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>gstreamer1-plugins-bad-free</PackageName>
    </PackageState>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-100231
https://nvd.nist.gov/vuln/detail/CVE-2026-100231
    </References>
</Vulnerability>