Cloudanix VulnDB

CVE-2022-1922

High · 7.8

CVSS

7.8

EPSS

0.5%

Published

Jul 19, 2022

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how certain media software reads special video files could let an attacker crash the program or take control of the computer when the file is opened.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Full Compromise
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow in gst_matroska_decompress_data during zlib decompression of MKV data allows a segfault or heap overwrite depending on libc and OS memory allocation behavior.

Why it matters to the business

Media playback or processing applications may crash or be compromised when handling specially crafted MKV files, potentially disrupting content workflows or enabling local code execution.

How an attack unfolds

An attacker crafts an MKV file containing zlib-compressed data designed to trigger an integer overflow in the matroska demuxer; when a user opens the file with a vulnerable GStreamer-based application the overflow may corrupt heap memory or cause a crash, with success depending on the underlying allocator.

How to fix it

Upgrade gstreamer to the commit ccf22e315cedf81e0075ab179ffb1b733da5206e or later; rebuild and redeploy any dependent applications or containers.

How to confirm the fix worked

Confirm the installed GStreamer package or source tree contains commit ccf22e315cedf81e0075ab179ffb1b733da5206e; test playback of known trigger MKV files to verify absence of crash or corruption.

Typical attack path

  1. Attacker creates malicious MKV file with oversized zlib block
  2. Victim opens file using vulnerable GStreamer application
  3. matroskademux processes the stream and calls decompress_data
  4. Integer overflow occurs during realloc, leading to segfault or heap write
  5. Attacker gains code execution or causes denial of service if overwrite succeeds

How to detect it

Review application and system logs for GStreamer crashes or segmentation faults while processing MKV containers; inspect for unusual heap behavior or memory corruption indicators in media-processing processes.

What your security team should do

  • Immediately update all GStreamer installations to the fixed commit
  • Scan internal media pipelines and third-party tools for GStreamer usage
  • Add MKV file handling to security testing and fuzzing routines
  • Monitor for new exploit code given public exploit availability

The record

DOS / potential heap overwrite in mkv demuxing using zlib decompression. Integer overflow in matroskademux element in gst_matroska_decompress_data function which causes a segfault, or could cause a heap overwrite, depending on libc and OS. Depending on the libc used, and the underlying OS capabilities, it could be just a segfault or a heap overwrite. If the libc uses mmap for large chunks, and the OS supports mmap, then it is just a segfault (because the realloc before the integer overflow will use mremap to reduce the size of the chunk, and it will start to write to unmapped memory). However, if using a libc implementation that does not use mmap, or if the OS does not support mmap while using libc, then this could result in a heap overwrite.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 gstreamer1-plugins-good 0 1.18.4-6.el9
AlmaLinux:9 gstreamer1-plugins-good-gtk 0 1.18.4-6.el9
Debian:10 gst-plugins-good1.0 0 1.14.4-1+deb10u2
Debian:11 gst-plugins-good1.0 0 1.18.4-2+deb11u1
Debian:12 gst-plugins-good1.0 0 1.20.3-1
Debian:13 gst-plugins-good1.0 0 1.20.3-1
Mageia:8 gstreamer1.0-plugins-good 0 1.18.5-1.1.mga8
Mageia:9 gstreamer1.0 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-devtools 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-editing-services 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-libav 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-moodbar 0 1.2.1-5.mga9
Mageia:9 gstreamer1.0-omx 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-bad 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-bad 0 1.22.8-1.mga9.tainted
Mageia:9 gstreamer1.0-plugins-base 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-good 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-ugly 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-ugly 0 1.22.8-1.mga9.tainted
Mageia:9 gstreamer1.0-python 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-rtsp-server 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-vaapi 0 1.22.8-1.mga9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good 0 0:1.18.4-6.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-debuginfo 0 0:1.18.4-6.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-debugsource 0 0:1.18.4-6.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-gtk 0 0:1.18.4-6.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.18.4-6.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-qt-debuginfo 0 0:1.18.4-6.el9
SUSE:Enterprise Storage 7 gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 gstreamer-plugins-good 0 1.20.1-150400.3.3.1
SUSE:Linux Enterprise Server 12 SP2-BCL gstreamer-plugins-good 0 1.8.3-16.6.2
SUSE:Linux Enterprise Server 12 SP3-BCL gstreamer-plugins-good 0 1.8.3-16.6.2
SUSE:Linux Enterprise Server 12 SP4-LTSS gstreamer-plugins-good 0 1.8.3-16.6.2
SUSE:Linux Enterprise Server 12 SP5 gstreamer-plugins-good 0 1.8.3-16.6.2
SUSE:Linux Enterprise Server 15 SP1-LTSS gstreamer-plugins-good 0 1.12.5-150000.3.7.2
SUSE:Linux Enterprise Server 15 SP2-BCL gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Linux Enterprise Server 15 SP2-LTSS gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 gstreamer-plugins-good 0 1.8.3-16.6.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 gstreamer-plugins-good 0 1.8.3-16.6.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 gstreamer-plugins-good 0 1.12.5-150000.3.7.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Linux Enterprise Workstation Extension 12 SP5 gstreamer-0_10-plugins-good 0 0.10.31-17.7.1
SUSE:Manager Proxy 4.1 gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Manager Retail Branch Server 4.1 gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:Manager Server 4.1 gstreamer-plugins-good 0 1.16.3-150200.3.9.1
SUSE:OpenStack Cloud 9 gstreamer-plugins-good 0 1.8.3-16.6.2
SUSE:OpenStack Cloud Crowbar 9 gstreamer-plugins-good 0 1.8.3-16.6.2
Ubuntu:18.04:LTS gst-plugins-good1.0 0 1.14.5-0ubuntu1~18.04.3
Ubuntu:20.04:LTS gst-plugins-good1.0 0 1.16.3-0ubuntu1.1
Ubuntu:22.04:LTS gst-plugins-good1.0 0 1.20.3-0ubuntu1
Ubuntu:Pro:16.04:LTS gst-plugins-good1.0 0 1.8.3-1ubuntu0.5+esm1
openSUSE:Leap 15.3 gstreamer-plugins-good 0 1.16.3-150200.3.9.1
openSUSE:Leap 15.4 gstreamer-plugins-good 0 1.16.3-150200.3.9.1
openSUSE:Leap 15.4 gstreamer-plugins-good 0 1.20.1-150400.3.3.1

Related vulnerabilities