AI-powered security researchers discover how a specially crafted video can give attackers access to your PC

AI Video & Visuals


JFrog Security Research recently disclosed a critical vulnerability ‘PixelSmash’ affecting the FFmpeg media framework. This flaw has been present in the codebase for 16 years and allows remote code execution (RCE) and denial of service (DoS) attacks. By delivering a specially crafted media file to a vulnerable system, an attacker could execute arbitrary code or cause the application to crash. Despite FFmpeg’s extensive history of automated testing, the discovery of the bug, which has been latent for more than a decade, is part of the latest wave of security flaw discovery since the introduction of the cybersecurity-focused Frontier model.

Identified by CISA as CVE-2026-8461 (CVSS 8.8 High), which allows heap out-of-bounds writes in the MagicYUV decoder. An out-of-bounds write is enough to crash an application using FFmpeg. The ubiquitous nature of the video codec family expands the scope of the incident, affecting a wide range of applications, from desktop video players like Kodi and mpv, to thumbnail generators in Linux file managers, to cloud transcoding pipelines and self-hosted media servers. Security researchers demonstrated a complete exploit by achieving remote code execution on two independent targets: a Jellyfin media server (via an automated library scan) and a Nextcloud instance (via a video preview provider). In both cases, all they had to do was upload a specially crafted 50KB AVI file.

To exploit PixelSmash, an attacker would need to deliver a crafted media file (AVI, MKV, or MOV container) to an application that uses FFmpeg’s libavcodec to decode the video. This includes:

  • desktop: A user simply opens a malicious file in a video player or browses to the folder containing the file (the file manager’s thumbnail generator triggers the vulnerability).
  • server side: When a user uploads a file to a media server (Jellyfin, Emby, Nextcloud, Immich), chat platform (Slack, Discord, Telegram), or cloud transcoding service (AWS MediaConvert, Cloudflare Stream), the server automatically processes the file.
  • Embedded/IoT: Any NAS appliance (Synology, QNAP), smart TV, or media appliance that generates video thumbnails or previews.

Other than the ability to deliver media files (the default attack surface for media processing applications), no authentication, special privileges, or prior access to the target system is required.

MagicYUV decoder is enabled on vulnerable systems. This is enabled by default in the FFmpg framework, and security researchers found it enabled in all distribution packages tested prior to version 9.0 (Ubuntu, Debian, Fedora, Arch, Alpine). To detect if you are affected by this vulnerability, you must check if the MagicYUV decoder is present on your system.


ffmpeg -decoders 2>/dev/null | grep magicyuv

If the output contains VFS..D MagicyuFFmpeg build is vulnerable. If you are unable to upgrade to a version that incorporates the fix, you can rebuild FFmpeg without the vulnerable codec.


./configure --disable-decoder=magicyuv [your other flags] < make && make install

Another easy fix is ​​to apply a minimal patch. A minimal patch of 7 lines is added to libavcodec/magicyuv.c.


if (s->slice_height <= 0 || s->slice_height > INT_MAX - avctx->coded_height) {
av_log(avctx, AV_LOG_ERROR, "invalid slice height: %d\n", s->slice_height);
return AVERROR_INVALIDDATA;
}

+ if ((s->slice_height >> s->vshift[1]) <= s->interlaced) {
+ av_log(avctx, AV_LOG_ERROR, "impossible slice height\n");
+ return AVERROR_INVALIDDATA;
+ }
+ if ((avctx->coded_height % s->slice_height) && ((avctx->coded_height % + s->slice_height) >> s->vshift[1]) <= s->interlaced) {
+ av_log(avctx, AV_LOG_ERROR, "impossible height\n");
+ return AVERROR_INVALIDDATA;

According to researchers, this fix rejects malformed slice height values ​​that trigger OOB writes. The reference MagicYUV encoder always outputs an adjusted slice height, so only malicious input is rejected.

PixelSmash is a reminder that modern software supply chains can be quite fragile. A single bug in a base library like FFmpeg libav codec It’s not just a local issue.

Reflecting broader industry discussions, users on online forums are increasingly concerned about the continued reliance of these high-stakes, performance-critical components on traditional C-based codebases. There is a clear frustration that modern security practices are frequently compromised by memory safety limitations inherent in legacy architectures, and many developers are calling for memory-safe alternatives, or at least a preferential transition to more robust automated security auditing of underlying libraries.





Source link