以 AI 为辅助的安全研究人员发现,攻击者可以利用经过特殊构造的视频获取用户电脑的访问权限

点击查看原文>

JFrog 安全研究团队最近披露了 PixelSmash,这是一个影响 FFmpeg 多媒体框架的严重漏洞。该漏洞在代码库中存在了已达十六年之久,可以导致远程代码执行(RCE)和拒绝服务(DoS)攻击。攻击者只需要向存在漏洞的系统发送一个经过特殊构造的多媒体文件,就有可能执行任意代码或导致应用程序崩溃。尽管 FFmpeg 拥有悠久的自动化测试历史,但仍然有潜伏十多年的漏洞被发现,这反映了自聚焦网络安全的前沿模型推出以来,安全漏洞发现浪潮的最新动态。

该漏洞被 CISA 编号为 CVE-2026-8461(CVSS 8.8,高危)。它会导致 MagicYUV 解码器发生堆栈越界写入,而这足以导致任何使用 FFmpeg 的应用程序崩溃。由于该视频编解码器家族的应用广泛,所以此次事件的影响范围被进一步放大,波及范围极广——从 Kodi 和 mpv 等桌面视频播放器,到 Linux 文件管理器的缩略图生成器,再到云转码管道和自建媒体服务器。安全研究人员通过在两个独立的目标上实现远程代码执行,演示了完整的漏洞利用过程:一个是 Jellyfin 媒体服务器(通过自动库扫描),另一个是 Nextcloud 实例(通过视频预览提供程序)——在这两种情况下,仅需上传一个经过特殊构造的大小 50 KB 的 AVI 文件即可。

要利用 PixelSmash 漏洞,攻击者需要将一个经过特殊构造的媒体文件(AVI、MKV 或 MOV container)发送给任何使用 FFmpeg libavcodec 进行视频解码的应用程序。这包括:

  • 桌面端:用户在视频播放器中打开恶意文件,或者仅仅浏览包含该文件的文件夹(文件管理器的缩略图生成器会触发该漏洞)。

  • 服务器端:用户将该文件上传至媒体服务器(Jellyfin、Emby、Nextcloud、Immich)、聊天平台(Slack、Discord、Telegram)或云转码服务(AWS MediaConvert、Cloudflare Stream)——服务器会自动处理该文件。

  • 嵌入式/物联网:任何会生成视频缩略图或预览的 NAS 设备(Synology、QNAP)、智能电视或媒体设备。

除了能够传输媒体文件这一能力之外,不需要任何身份验证、特殊权限或对目标系统的预先访问权限——这正是任何媒体处理应用程序的默认攻击面。

受影响的系统启用了 MagicYUV 解码器。该功能在 FFmpg 框架中默认处于启用状态。据安全研究人员称,他们在测试过的所有发行版软件包(Ubuntu、Debian、Fedora、Arch、Alpine)中发现, 9.0 版本之前的版本均已启用该功能。若要检测你的系统是否受该漏洞影响,则需检查系统中是否存在 MagicYUV 解码器:

ffmpeg -decoders 2>/dev/null | grep magicyuv
复制代码

如果输出中包含 VFS..D magicyuv,则说明你的 FFmpeg 构建版本存在安全漏洞。如果无法升级到已修复该漏洞的版本,则可以重新构建 FFmpeg ,去除该存在该漏洞的编解码器:

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

另一个快速修复方法是应用一个简短的补丁——在 libavcodec/magicyuv.c 中添加 7 行简短的补丁代码:

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;
复制代码

据研究人员称,该修复方案会拒绝那些会触发越界写入的格式错误的 slice_height 值。官方提供的 MagicYUV 编码器参考实现会始终生成经过对齐处理的切片高度。因此,该修复仅会拒绝恶意输入,不影响正常播放。

PixelSmash 事件提醒我们,现代软件供应链可能相当脆弱。像 FFmpeg 的 libavcodec 这样的基础库中存在的单个漏洞,其影响绝不会是一个局部问题。

我们来回顾下更广泛的行业讨论。在在线论坛中,对于在如此高风险的性能关键组件上继续依赖基于 C 语言的旧代码库,用户表示越来越担忧。显然,让人们感到沮丧的是,现代安全实践经常因旧架构固有的内存安全限制而受到削弱。许多开发者呼吁,优先迁移到内存安全的替代方案,或者至少对基础库进行更强有力的自动化安全审计。

原文链接:https://www.infoq.com/news/2026/07/pixelsmash-vulnerability/


本文来源:InfoQ