Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
UnratedPublic exploit

PixelSmash

IdentifiersCVE-2026-8461CWE-787

CVE-2026-8461, dubbed PixelSmash, is a heap out-of-bounds write in FFmpeg's libavcodec MagicYUV decoder, associated with libavcodec/magicyuv.C and affecting FFmpeg versions before 8.1.2. The flaw is triggered by specially crafted MagicYUV media in supported containers such as AVI, MKV, or MOV. The reported root cause is inconsistent chroma plane height calculations between FFmpeg's frame allocator and the MagicYUV decoder during sliced frame processing, particularly involving odd slice_height values in subsampled formats such as YUV420P. This mismatch can cause the decoder to write an extra chroma row past the end of the allocated heap buffer. Researchers reported that the overflow is attacker-controlled and can corrupt adjacent heap structures, including AVBuffer metadata, leading to application crashes and, under specific conditions, code execution.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation can reliably cause denial of service by crashing applications or services that process the malicious media file through FFmpeg. In some environments, the heap corruption can be developed into remote code execution with the privileges of the affected process, as demonstrated against Jellyfin and reported for Nextcloud preview workflows under specific conditions. Because FFmpeg is widely embedded in desktop thumbnailers, media players, media servers, and preview-generation pipelines, impact can extend to automated metadata extraction, thumbnail generation, and background media ingestion paths, including near-zero-click or zero-click scenarios where the victim does not explicitly open the file.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, disable or remove the MagicYUV decoder from FFmpeg builds where feasible, or rebuild FFmpeg without MagicYUV support. Reduce or disable automatic processing of untrusted video content, including thumbnail generation, preview generation, metadata extraction, and automated library scans. Review applications and services that ingest attacker-controlled media, minimize their privileges, and monitor for abnormal crashes or repeated thumbnail/preview failures as possible indicators of exploitation attempts.

Remediation

Patch, then assume compromise.

Upgrade FFmpeg to version 8.1.2 or later, which contains the fix for CVE-2026-8461. Also update bundled or statically included FFmpeg builds in downstream products and containers, as exposure may persist even if the host system package is patched. Where distribution-specific packages are used, install the vendor-provided fixed ffmpeg package versions. If maintaining a custom build, apply the upstream fix or equivalent bounds checks in the MagicYUV decoder.
PUBLIC EXPLOITS

Exploits

3 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).

VALID 3 / 4 TOTALView more in app
CVE-2026-8461MaturityPoCVerified exploit

Repository contains a single Python exploit generator and a README. The main file, CVE-2026-8461.py, is a standalone Python 3 proof-of-concept/operational exploit builder for a claimed FFmpeg MagicYUV decoder out-of-bounds write vulnerability (CVE-2026-8461, 'PixelSmash'). The script constructs a minimal MagicYUV frame inside an AVI container, deliberately using SLICE_HEIGHT=31 and crafted chroma-plane data to trigger an out-of-bounds write during decoding. Its exploitation strategy is more than a crash PoC: it embeds an attacker-supplied shell command into a heap-shaped payload, preserves optional glibc metadata, and overwrites fields resembling an AVBuffer structure so that a function pointer/free callback is replaced with system() and the opaque pointer references the command buffer. The script supports target-specific calibration through a JSON file or direct CLI parameters for system() and command heap addresses, indicating an attempt at practical RCE under controlled conditions. Repository structure is minimal: README.md documents the vulnerability, impact, affected software, and mitigation; CVE-2026-8461.py is the only code file and clear entry point. No network communication, C2, or remote endpoints are present in the code; delivery is via a malicious media file, making the primary attack vector file-based against applications or services that automatically decode MagicYUV/FFmpeg content.

0xBlackashDisclosed Jun 26, 2026pythonmarkdownfile
CVE-2026-8461-EXPMaturityPoCVerified exploit

Repository contains a working Python-based exploit PoC for CVE-2026-8461 ('PixelSmash'), a heap out-of-bounds write in FFmpeg's MagicYUV decoder. The repo structure is straightforward: two detailed analysis documents (English and Chinese), a README with usage instructions, and three Python scripts comprising the exploit workflow. `exploit_cve_2026_8461.py` is the main payload generator that crafts a malicious AVI with MagicYUV frame geometry chosen to force a 640-byte OOB write from the Cb plane on the final slice. It uses inverse left-prediction encoding so the decoded bytes in heap memory become attacker-chosen values, then overwrites AVBuffer fields to redirect `free` to `system()` and point `opaque` at an embedded shell command string. `auto_calibrate.py` supports debug-symbol FFmpeg builds by driving GDB with source breakpoints at `magicyuv.c:291`, dumping heap-adjacent memory, locating AVBuffer structures, and extracting the `system()` address. `auto_calibrate_nosym.py` performs similar calibration for stripped dynamically linked builds by breaking on exported `av_buffer_create`, identifying Cb/Cr allocations, setting a hardware watchpoint on the expected OOB start, and reconstructing heap metadata from the dump. The exploit is not framework-based and is more than a detector: it is an operational PoC with a hardcoded exploitation strategy and customizable shell-command payload. Primary attack vector is file-based delivery of a crafted AVI to any application that fully decodes MagicYUV content via vulnerable FFmpeg/libavcodec. The README explicitly notes that probe-only paths such as `ffprobe` or `ffmpeg -i file` without output do not trigger the final execution path. Practical exploitation is constrained: tested on x86_64, depends on glibc heap layout, requires ASLR disabled, and calibration is specific to binary build, libc version, and even AVI path length. Notable fingerprintable artifacts include `/tmp/exploit.avi`, `calibration.json`, `/tmp/pwned`, the vulnerable source path `libavcodec/magicyuv.c`, and an example reverse-shell callback target `10.0.0.1:4444` embedded only as sample payload text.

Y5neKODisclosed Jun 24, 2026pythonmarkdownfilelocal
CVE-2026-8461-PoCMaturityPoCVerified exploit

Repository contains a README and a single Python exploit generator, exploit_cve_2026_8461.py. The script is not a scanner or detector; it builds crafted AVI files intended to exploit CVE-2026-8461 in FFmpeg's MagicYUV decoder. The stated exploit chain is a heap out-of-bounds write leading to corruption of an adjacent AVBuffer structure, overwriting its free callback with system() and arranging a heap-resident command string so cleanup triggers arbitrary command execution. The code structure includes helper packing/unpacking routines, left-prediction encode/decode logic to shape pixel bytes into desired post-decode memory contents, a TargetCalibration dataclass for target-specific offsets and addresses, frame-building logic for malicious MagicYUV content, AVI container construction, calibration support, and a CLI main() routine. The exploit supports two modes: a baseline crash/OOB mode and a calibrated RCE mode. The baseline mode generates a file expected to crash or corrupt memory on vulnerable FFmpeg. The RCE mode requires explicit parameters such as system() address, heap command address, AVBuffer offset, and optionally calibration JSON/glibc metadata. Operationally, the exploit is file-based: the attacker delivers a malicious AVI and waits for a local ffmpeg process to decode it. The script assumes a narrow target environment: ASLR disabled, glibc malloc allocator, calibrated heap layout, and a vulnerable unpatched FFmpeg build. Because the payload is an attacker-provided shell command but relies on hardcoded addresses and manual calibration rather than a reusable framework, the maturity is best classified as OPERATIONAL rather than WEAPONIZED.

anyanythingDisclosed Jun 23, 2026pythonmarkdownfilelocal
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
FfmpegFfmpegapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

ACTIVITY FEED

Recent activity

62 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity52

Community discussion across Reddit, Mastodon, and other social sources.