Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious G2M3/G2M4 stream with short palette
-
DeliveryDeliver media file to victim or decoding service
-
ExploitFFmpeg invokes Go2Meeting kempf_restore_buf()
-
ExecutionOut-of-range palette index copies uninitialized stack bytes
-
ImpactLeak stack pointers or canaries via decoded output
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Variable initialization checks
|
| Exploitation Conditions | Exploitation requires the target to decode an attacker-supplied G2M3/G2M4 (Go2Meeting) stream in which the Kempf palette is deliberately short, so that a palette index exceeding the palette count (the col >= npal case the patch now rejects) drives kempf_restore_buf() to copy uninitialized stack bytes - potentially pointers or stack guards - into the decoded frame. No special build-time or runtime configuration is named in the sources beyond that the G2M decoder path must be reached. Limiting factors: the CVSS vector is local with passive user interaction (AV:L/UI:P), meaning a victim or an automated media pipeline must actually process the crafted file; no privileges are required (PR:N); and the attacker must be able to observe or retrieve the decoded output to recover the leaked memory. Impact is confined to information disclosure - there is no integrity or availability effect. |
| Impact | The input CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, VC:H, VI:N/VA:N) yields a 6.8 (Medium) score that is internally consistent with the description: this is not a remote-over-the-wire flaw but a file/stream-processing bug requiring a victim or automated pipeline to decode an attacker-crafted G2M3/G2M4 stream (UI:P), with impact limited to confidentiality (information disclosure of stack memory). No KEV listing is present, so there is no active-exploitation signal, and no EPSS score was supplied in the input - exploitation probability cannot be quantified and that gap should be noted rather than assumed low. There is no exploit-code reference in the provided data, only the patch commit, a pull request, source blobs, and a VulnCheck advisory, so this is best treated as no public exploit identified at time of analysis. The vuln.today decision label is this_month, consistent with a real-but-not-emergency information-disclosure issue. The practical value of the leak is above-average for an info-leak because the description states it can expose pointers or stack guards (ASLR/stack-canary material), making it a useful primitive within a larger exploit chain rather than a standalone compromise; however, the attacker must also be able to retrieve the decoded output to actually learn the leaked bytes, which further limits real-world impact. |
| Exploit ScenarioDerived | An attacker crafts a G2M3/G2M4 (Go2Meeting) stream containing a short Kempf palette and delivers it to a target that decodes untrusted media with FFmpeg (e.g. a user opening the file or a server-side transcoding/thumbnailing service). When kempf_restore_buf() processes an out-of-range palette index it copies uninitialized stack bytes - potentially pointers or stack guards - into the decoded output, which the attacker then reads back to defeat ASLR/canary protections as part of a broader chain. No public exploit was identified in the provided data; given AV:L with UI:P, exploitation hinges on getting the victim/pipeline to decode the crafted stream. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 01, 2026
An information disclosure flaw in FFmpeg's Go2Meeting (G2M) decoder lets an attacker who supplies a crafted G2M3/G2M4 stream read uninitialized stack memory, because out-of-range Kempf palette indices cause kempf_restore_buf() to copy stale stack bytes - potentially pointers or stack guards - into the decoded frame. FFmpeg 2.0 through 9.0.2 are affected; exploitation requires the victim or an automated media pipeline to decode the crafted file and a way to observe the resulting decoded output, and it grants no integrity or availability impact. The upstream fix (commit edad2d0dafcf44fa315eab716fd0183ce808053b, PR 24858) adds a col >= npal bounds check; no public exploit code has been identified at time of analysis and CVE-2026-120243 is not in CISA KEV.
RemediationAI
Apply the upstream fix commit https://github.com/FFmpeg/FFmpeg/commit/edad2d0dafcf44fa315eab716fd0183ce808053b (corresponding to PR https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24858), which adds a col >= npal validation in kempf_restore_buf() and propagates its error return through kempf_decode_tile(); patch data indicates a vendor-available fix, and versions after 9.0.2 or builds carrying this commit are not affected. Because the fix is a source commit rather than a tagged release note in the provided data, confirm your distribution's or embedder's FFmpeg package includes this change before considering the issue closed, and rebuild any application statically linked against FFmpeg. Until then, the practical exposure reduction is to avoid decoding untrusted G2M3/G2M4 content with affected builds and to restrict which inputs reach the Go2Meeting decoder in media-processing pipelines, since exploitation requires the crafted stream to be decoded and the decoded output to be observed; this does not remove the underlying bug, only the untrusted-input path that reaches it. No other compensating control is specified in the available sources.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
FFmpeg's libavcodec/g2meet.c implements a decoder for Citrix GoToMeeting/Go2Meeting screen-sharing streams, which encode tiles with a JPEG-like layer plus a secondary "Kempf" run-length/palette layer. In kempf_decode_tile(), decoded indices are passed to kempf_restore_buf(), which maps each index through the supplied palette (pal, npal) and writes pixel data into the destination frame buffer; the pre-patch code at g2meet.c around lines 1040-1042 performed the palette lookup without validating the index, and sub_type 2 and the JPEG-tile path also discarded kempf_restore_buf()'s return value. When an attacker crafts a O2M3/G2M4 stream whose Kempf palette is shorter than the indices actually used, the lookup reads past the palette and kempf_restore_buf() copies uninitialized stack contents into the decoded output - a CWE-457 (Use of Uninitialized Variable) instance. The patch adds an explicit if (col >= npal) return AVERROR_INVALIDDATA; rejection and propagates the restore function's return code so malformed streams fail decode rather than emit memory. The CPE cpe:2.3:a:ffmpeg:ffmpeg:*:*:*:*:*:*:*:* confirms the affected component is FFmpeg itself rather than a downstream distribution. The assessed vector is CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N: local access with user interaction (the file must be opened/decoded), no privileges, confidentiality-only impact.
Know when Ffmpeg gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Decoder consumes an attacker-crafted file so AV:L with UI:R and no privileges (PR:N); leaking stack pointers/guards gives C:H, with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
FFmpeg 2.0 through 9.0.2 contains a use of uninitialized variable vulnerability in the Go2Meeting decoder that allows attackers to leak stack memory through out-of-range palette indices. Attackers can craft a G2M3/G2M4 stream with a short Kempf palette so kempf_restore_buf() copies uninitialized stack bytes, including pointers or stack guards, into decoded output.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Related Vulnerabilities in FFmpeg Decoder Uninitialized Memory Leaks
View all 5FFmpeg 2.x allows remote attackers to conduct cross-origin attacks and read arbitrary files by using the concat protocol
FFmpeg before 2.8.12, 3.0.x and 3.1.x before 3.1.9, 3.2.x before 3.2.6, and 3.3.x before 3.3.2 does not properly restric
FFmpeg 2.x allows remote attackers to conduct cross-origin attacks and read arbitrary files by using the subfile protoco
The av_reallocp_array function in libavutil/mem.c in FFmpeg before 2.0.1 has an unspecified impact and remote vectors re
cbs_jpeg_split_fragment in libavcodec/cbs_jpeg.c in FFmpeg 4.1 and 4.2.2 has a heap-based buffer overflow during JPEG_MA
Out-of-bounds heap write in FFmpeg's RASC video decoder (decode_dlta in libavcodec/rasc.c) allows attackers to corrupt m
Memory corruption in FFmpeg before 8.1 allows an attacker who can supply a crafted H.264/HEVC media file to corrupt heap
Integer Overflow vulnerability in function filter_sobel in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attacker
Integer Overflow vulnerability in function filter_robert in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attacke
Integer Overflow vulnerability in function filter_prewitt in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attack
Integer Overflow vulnerability in function filter16_sobel in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attack
Integer Overflow vulnerability in function filter16_roberts in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows atta
EUVD-2026-114740
GHSA-hcx6-ffr8-ff2w
NVD
CVE.org
VulDB
Exploit-DB