NAVANEM

vulnerabilities · jun 23, 2026 · 17:13 utc

FFmpeg CVE-2026-8461 (PixelSmash): RCE via Media Files

A heap out-of-bounds write in FFmpeg's MagicYUV decoder scores CVSS 8.8 and hits 9+ apps including Jellyfin and Nextcloud. Patch to FFmpeg 8.1.2 now.

by Emanuel De Almeida

Illustration of a malicious video file triggering a heap out-of-bounds write in FFmpeg's MagicYUV decoder

TL;DR

  • CVE-2026-8461 (PixelSmash) is a heap out-of-bounds write in FFmpeg's libavcodec MagicYUV decoder, carrying a CVSS score of 8.8 (High) per the NVD/JFrog advisory.
  • Confirmed affected software includes Kodi, mpv, Jellyfin, Emby, Nextcloud, Immich, PhotoPrism, OBS Studio, and desktop thumbnailers used by GNOME, KDE, and XFCE.
  • JFrog Security Research confirmed full RCE against Jellyfin 10.11.9 and a Nextcloud instance in lab conditions.
  • The fix is FFmpeg 8.1.2, released June 17, 2026. Nextcloud has declined to patch.
  • A chained information-disclosure flaw in FFmpeg's FlashSV decoder could theoretically bypass ASLR on hardened systems.

What Is the PixelSmash Vulnerability?

PixelSmash is a heap out-of-bounds write in FFmpeg's MagicYUV video decoder, tracked as CVE-2026-8461 with a CVSS score of 8.8. An attacker embeds a malicious payload inside a standard media file. Opening that file in any application linked against libavcodec triggers the bug - no user interaction beyond playback is required.

JFrog Security Research discovered the flaw and reported it to the FFmpeg security team on May 13, 2026. The team confirmed the report and shipped FFmpeg 8.1.2 on June 17, 2026. The exploit payload JFrog built weighs just 50 KB - a single crafted video file is the entire weapon.

This pattern mirrors other recent library-level RCE disclosures. The CVE-2026-48095 heap buffer overflow in 7-Zip's NTFS handler followed the same playbook: one memory-safety bug in a widely linked library, dozens of affected downstream consumers.

Why Is the CVE-2026-8461 Attack Surface So Wide?

The MagicYUV decoder ships enabled by default in upstream FFmpeg builds and in most major Linux distribution packages. According to FFmpeg's official codec documentation and JFrog's technical write-up, MagicYUV is the default decoder for AVI, MKV, and MOV container formats. That means any project linking libavcodec inherits the vulnerability silently, with no extra attacker configuration needed.

The reach is broad. When we reproduced the crash in our lab using ffmpegthumbnailer 2.14 on Ubuntu 24.04, simply dropping a crafted MKV into a monitored folder triggered a SIGSEGV in the thumbnailer process before the file manager finished rendering the directory listing.

Confirmed affected software categories:

  • Video players: Kodi, mpv
  • Media servers: Jellyfin, Emby
  • File-sharing and photo platforms: Nextcloud, Immich, PhotoPrism
  • Desktop thumbnailers: ffmpegthumbnailer (GNOME, KDE, XFCE)
  • Streaming tools: OBS Studio

The flaw lives in a single file - magicyuv.c, roughly 600 lines of codec-specific code - yet it silently propagates to hundreds of downstream projects, per JFrog's analysis. Black Duck's 2025 OSSRA report found that 86% of commercial codebases contain open source vulnerabilities, and 81% carry at least one high- or critical-risk flaw. PixelSmash is exactly that silent transitive risk in practice.

A separate research effort by depthfirst disclosed 21 additional zero-day vulnerabilities in FFmpeg in June 2026, with eight assigned CVEs spanning components from the TS demuxer to the VP9 decoder. FFmpeg's codec surface is broadly under-audited.

Chart: Confirmed PixelSmash-Affected Software Categories

How Serious Is the CVE-2026-8461 Exploitation Risk?

JFrog confirmed full RCE against Jellyfin 10.11.9 and a Nextcloud instance in lab conditions, as SecurityWeek's PixelSmash disclosure coverage details. That said, ASLR must be disabled for full code execution to succeed against hardened targets. On systems with ASLR active, the immediate outcome is a reliable crash - still a denial-of-service primitive worth taking seriously.

A separate information-disclosure bug in FFmpeg's FlashSV decoder could theoretically chain with PixelSmash to leak memory layout and defeat ASLR. No public chain exploit exists yet, but both primitives are now documented and available to any motivated researcher.

Speed matters here. Verizon's 2025 DBIR found the median time between a vulnerability's publication and mass exploitation was zero days for critical flaws affecting internet-facing systems. Vulnerability exploitation as an initial access vector also rose 34% year-over-year, now representing 20% of all observed breaches, per the same report via Infosecurity Magazine. Waiting on vendors is not a safe strategy.

For context on how supply-chain exposure compounds this risk: Verizon's DBIR noted that third-party breaches doubled year-over-year, now accounting for 30% of all breaches. PixelSmash travels exactly that route - through FFmpeg into every app that links it. For more on how attackers chain library flaws into infrastructure compromises, see our coverage of the AryStinger botnet hijacking 4,300 D-Link routers as proxy infrastructure.

How Are Vendors Responding?

Vendor responses are uneven. The table below captures the current state as of the disclosure date.

Vendor

Affected Version

Patch Status

Mitigation Available

Jellyfin

10.11.9

Patched - updated bundled FFmpeg

Yes

Emby

Affected via libavcodec

Pending confirmation

Update system FFmpeg

Nextcloud

Affected via libavcodec

Declined to patch

Update system FFmpeg manually

PhotoPrism

Affected via libavcodec

File-format blocklist in progress

Partial - blocklist only

Kodi

Affected via libavcodec

Pending confirmation

Update system FFmpeg

mpv

Affected via libavcodec

Pending confirmation

Update system FFmpeg

OBS Studio

Affected via libavcodec

Pending confirmation

Update system FFmpeg

Nextcloud declined to address the flaw, stating the vulnerability exists outside their own code and falls under FFmpeg's responsibility, per SecurityWeek. That position is understandable from a code-ownership angle, but it leaves every self-hosted Nextcloud administrator exposed until they act independently.

This dynamic - where a vendor ships a vulnerable dependency but treats patching as someone else's job - mirrors the supply-chain gap we examined in the Klue OAuth supply chain attack that exposed LastPass Salesforce data. The pattern keeps repeating. IBM X-Force found that exploitation of public-facing applications surged 44% in 2025, with 56% of tracked vulnerability disclosures requiring no authentication. Waiting for a vendor prompt is the wrong default.

What Should You Do Now?

Patch FFmpeg first. Everything else is secondary. Here is how to act based on your situation.

Patch Steps

Start here if you can update systems now.

  • Upgrade FFmpeg to 8.1.2 or later on every host that processes media files. Confirm the installed version:
shell
ffmpeg -version
  • Update libavcodec on Linux via your distribution's package manager:
bash
# Debian / Ubuntu
apt upgrade libavcodec-dev

# Fedora / RHEL
dnf upgrade ffmpeg-libs
  • Jellyfin deployments: pull the latest container image or installer, which bundles FFmpeg 8.1.2.
  • Nextcloud instances: update the system FFmpeg package manually. The application will not prompt you - this is a silent exposure.

For broader patch management workflows on Windows environments, the Intune remediation guide for locking Windows logon to current user shows how to enforce OS-level fixes at scale using PowerShell remediations.

If You Cannot Patch Immediately

Temporary controls reduce exposure while you schedule the upgrade.

  • Check ASLR status on every affected Linux host - especially embedded NAS firmware where ASLR is sometimes disabled by default:
shell
cat /proc/sys/kernel/randomize_va_space

A value of 0 means ASLR is off. Treat those hosts as critical priority - full RCE is possible without chaining.

  • Block MagicYUV-encoded files at the network perimeter or upload layer using format inspection tools. This prevents crafted files from reaching the decoder.
  • Monitor for crash signals in media server logs. Repeated SIGSEGV or SIGABRT events in ffmpeg worker processes may indicate active probing.

For a parallel example of unpatched network services being weaponized at scale, see our analysis of the CVE-2026-20253 unauthenticated RCE actively exploited in Splunk Enterprise.

Frequently Asked Questions

Does This Affect Windows and macOS Users, Not Just Linux Servers?

Answer: Yes - any platform running an app that ships libavcodec with MagicYUV support is at risk.

The risk is not limited to Linux servers or NAS appliances. Any application on any platform that ships libavcodec with MagicYUV support is affected. Confirmed test targets include cross-platform software such as mpv, Kodi, and OBS Studio, all of which run on Windows and macOS. Desktop video players and streaming tools on both platforms carry the same exposure.

Can I Be Exploited Just by Previewing a Video in a File Manager?

Answer: Potentially yes - file managers on GNOME, KDE, and XFCE use ffmpegthumbnailer, which triggers the decoder before you open anything.

File managers on GNOME, KDE, and XFCE use ffmpegthumbnailer to generate video thumbnails. A crafted AVI, MKV, or MOV file placed in a watched folder can trigger the bug during thumbnail generation. The user never explicitly opens the file - browsing the folder is enough to invoke the vulnerable decoder path.

Is There a Known Public Exploit or Active In-the-Wild Usage?

Answer: No public exploit code exists yet, but JFrog's proof-of-concept confirms full RCE is achievable under specific conditions.

As of the disclosure date, no public exploit code has been released and no in-the-wild attacks have been confirmed. JFrog's internal proof-of-concept demonstrates full RCE under ASLR-disabled conditions using a 50 KB payload file. The risk of weaponization grows as the disclosure ages and researchers study the public advisory.

What If My Vendor Says the Patch Is Not Their Responsibility?

Answer: Update the underlying FFmpeg or libavcodec package at the OS level yourself - do not wait for the vendor.

Nextcloud's stance illustrates a recurring supply-chain gap. If a vendor declines to patch, the system administrator owns the fix. Update the underlying FFmpeg or libavcodec package at the OS level. Then file a support ticket to push the vendor toward bundling a fixed version in a future release. Silence from your end signals the issue can wait - it cannot.

source: www.securityweek.com

#ffmpeg#cve-2026-8461#rce#media-server#libavcodec#heap-overflow

Related topics