☰
FFmpeg漏洞
2026/10/25 1:52:55 网站建设 项目流程

FFmpeg是最广泛部署的媒体处理框架之一,被集成到无数应用程序中,包括桌面视频播放器、Linux缩略图生成器、自托管媒体服务器、云端转码管道,甚至AI/ML数据处理栈。

FFmpeg的MagicYUV解码器曝出高危漏洞(CVE-2026-8461),攻击者可利用该漏洞将看似无害的媒体文件武器化,在某些场景下甚至能实现远程代码执行(RCE)。该漏洞被命名为"PixelSmash",属于FFmpeg的libavcodec组件中的堆越界写入漏洞,CVSS评分为8.8(高危级)

漏洞影响范围

根据JFrog安全研究团队的报告,单个精心构造的AVI、MKV或MOV文件就足以导致应用程序崩溃,若配合完整的漏洞利用链,还能在底层系统上执行任意命令。

漏洞会导致Kodi、mpv、ffmpegthumbnailer、Jellyfin、Emby、Nextcloud、Immich、PhotoPrism和OBS Studio等应用程序崩溃,并成功演示了通过50KB的恶意AVI文件在Jellyfin媒体服务器和Nextcloud实例上实现完整RCE。

漏洞根源在于MagicYUV解码器处理视频切片和色度平面高度的方式。MagicYUV对每帧使用水平分割的切片,对于YUV420P等子采样格式,解码器必须将亮度切片高度转换为色度切片高度。由于帧分配器与解码器之间的舍入不匹配,攻击者控制的slice_height值会导致FFmpeg在堆分配缓冲区末尾写入一整行色度数据。

在PoC中,精心构造的媒体流将slice_height设置为奇数值,导致逐行偏移的累积,最终将写入操作直接推送到相邻的堆结构中。关键的是,溢出写入会落在FFmpeg用于引用计数帧缓冲区的AVBuffer结构上。通过构造恶意负载,攻击者可覆盖FFmpeg内存结构,导致调用带有攻击者控制命令的system()函数,从而实现远程代码执行。

解决:升级到8.1.2或更高版本

该漏洞已在修补的FFmpeg版本(如8.1.2或更高版本,应用了MagicYUV边界检查)中得到修复,强烈建议用户尽快升级其FFmpeg构建。作为临时缓解措施,管理员可以禁用MagicYUV解码器重新构建FFmpeg,或在解码前应用拒绝无效slice_height值的最小补丁。由于这是一个基础库中的供应链问题,建议嵌入FFmpeg的项目审核其构建,尽可能减少启用的编解码器,并采用类似Plex最小解码器配置的允许列表策略,以限制未来的爆炸半径。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询