Kritik FFmpeg Boşluğu: Mediya Faylları Silaha Çevrilə Bilər
FFmpeg-in MagicYUV dekoderində kritik bir boşluq aşkarlanıb. CVE-2026-8461 olaraq izlənilən və “PixelSmash” adlandırılan bu zəiflik, hücumçulara zərərsiz görünən media fayllarını silaha çevirməyə və müəyyən ssenarilərdə uzaqdan kod icrasına (RCE) nail olmağa imkan verir.
8.8 (Yüksək) CVSS reytinqinə malik olan bu problem, FFmpeg-in libavcodec komponentindəki heap out-of-bounds yazma səhvidir. JFrog Təhlükəsizlik Araşdırmasının məlumatına görə, tək bir xüsusi hazırlanmış AVI, MKV və ya MOV faylı tətbiqlərin çökməsinə səbəb ola bilər, hətta daha təkmilləşdirilmiş bir Exploit zənciri ilə əsas sistemdə ixtiyari əmrlərin icrasına gətirib çıxara bilər.
FFmpeg-in Geniş Təsiri
FFmpeg, masaüstü video pleyerlərindən Linux eskiz generatorlarına, fərdi host edilmiş media serverlərindən bulud transkodlaşdırma boru kəmərlərinə və hətta AI/ML məlumat emalı yığınlarına qədər saysız-hesabsız tətbiqlərə inteqrasiya olunmuş ən geniş yayılmış media emalı çərçivələrindən biridir. MagicYUV dekoderi FFmpeg-in əsas qurğularında və əksər böyük Linux distribusiyalarında standart olaraq aktiv olduğundan, bu boşluq libavcodec-i əlaqələndirən hər hansı bir layihəyə səssizcə yayılır.
Zərər Çəkmiş Tətbiqlər və RCE Nümayişi
JFrog, Kodi, mpv, ffmpegthumbnailer, Jellyfin, Emby, Nextcloud, Immich, PhotoPrism və OBS Studio kimi tətbiqlərdə çökmələri təsdiqləyib. Tədqiqatçılar, zərərli 50 KB-lıq AVI faylından istifadə edərək bir Jellyfin media serverində və bir Nextcloud nümunəsində tam RCE nümayiş etdiriblər.
Texniki Detallar: Boşluğun Kök Səbəbi
Problemin kök səbəbi MagicYUV dekoderinin video hissələrini və xroma təyyarə hündürlüklərini necə idarə etməsindədir. MagicYUV, çərçivə başına üfüqi bölünmüş hissələrdən istifadə edir və YUV420P kimi sub-nümunələnmiş formatlar üçün dekoder, luma hissə hündürlüklərini xroma hissə hündürlüklərinə çevirməlidir. Çərçivə ayırıcısı ilə dekoder arasındakı yuvarlaqlaşdırma uyğunsuzluğu səbəbindən, hücumçu tərəfindən idarə olunan slice_height dəyəri FFmpeg-in heap-da ayrılmış buferin sonundan kənara bir tam xroma məlumat sətrini yazmasına səbəb ola bilər.
Proof-of-concept-də, xüsusi hazırlanmış media axını slice_height dəyərini tək bir qiymətə təyin edir, bu da bir sıra səhvlərin yığılmasına və yazmaların birbaşa qonşu heap strukturlarına yönəldilməsinə səbəb olur. Ən kritik cəhət odur ki, bu daşan yazmalar, FFmpeg-in istinad-sayılan çərçivə buferləri üçün istifadə etdiyi bir AVBuffer strukturuna düşür. Zərərli bir payload hazırlayaraq, hücumçu FFmpeg yaddaş strukturlarını yenidən yaza bilər, bu da hücumçu tərəfindən idarə olunan bir əmrlə system() çağırılmasına və uzaqdan kod icrasına imkan verir. JFrog-un Jellyfin Exploit-ində bu, media kitabxanasının skan edilməsi zərərli faylda ffprobe-ni işə saldıqda Jellyfin xidmət hesabı kimi işə düşən bir əks shell-ə çevrilib.
Geniş Hücum Səthi və “Demək Olar ki, Sıfır Klik” Riski
Hücum səthi genişdir və tez-tez “demək olar ki, sıfır klik” xarakterlidir. Masaüstü kompüterlərdə, sadəcə bir qovluğa göz gəzdirmək, ffmpegthumbnailer vasitəsilə eskiz yaradılmasını tətikləyə və boşluğu aktivləşdirə bilər. Serverlərdə, Jellyfin, Emby və Nextcloud kimi media platformaları yeni fayllar peyda olduqda və ya baxıldıqda avtomatik olaraq ilkin baxışlar və metadata yaratmaq üçün ffmpeg və ya ffprobe-ni işə salır.
JFrog həmçinin xəbərdarlıq edir ki, oxşar vektorlar bulud media boru kəmərlərində və istifadəçi tərəfindən təqdim olunan videoları dekodasiya etmək üçün FFmpeg-dən (birbaşa və ya PyAV/OpenCV vasitəsilə) istifadə edən AI/ML mühitlərində mövcuddur. Bu, PixelSmash-ı paylaşılan nəticə və ya məlumat emalı işçiləri daxilində potensial bir xidmətdən imtina (Denial-of-Service) və ya Exploitation primitivinə çevirir.
PixelSmash-ı Exploit etmək üçün hücumçu sadəcə olaraq xüsusi hazırlanmış media faylını MagicYUV aktivləşdirilmiş FFmpeg-dən istifadə edərək video dekodasiya edən hər hansı bir tətbiqə çatdırmalıdır. Faylı yükləmək, paylaşmaq və ya avtomatik emal üçün yerləşdirmək imkanından başqa heç bir autentifikasiya və ya yüksək imtiyaz tələb olunmur. Bu, torrent müştərilərinin birbaşa media kitabxanası qovluqlarına yazması kimi ümumi qurğuları xüsusilə təhlükəli edir, çünki Jellyfin tipli avtomatik skanlar zərərli məzmunu yükləndikdən dərhal sonra, heç bir istifadəçi qarşılıqlı əlaqəsi olmadan emal edə bilər.
Təchizat Zənciri Təsiri və Yumşaltma Tədbirləri
Boşluq, FFmpeg-in yamanmış buraxılışında (məsələn, MagicYUV sərhəd yoxlamaları tətbiq edilmiş 8.1.2 və ya daha yeni versiyalar) aradan qaldırılıb və istifadəçilərə FFmpeg qurğularını mümkün qədər tez yeniləmələri şiddətlə tövsiyə olunur. Müvəqqəti yumşaltma tədbiri olaraq, administratorlar FFmpeg-i MagicYUV dekoderi deaktiv edilmiş şəkildə yenidən quraşdıra və ya dekodasiyadan əvvəl qeyri-qanuni slice_height dəyərlərini rədd edən minimal yamanı tətbiq edə bilərlər.
Bu, əsas bir kitabxanada təchizat zənciri problemi olduğu üçün, FFmpeg-i öz layihələrinə daxil edən proyektlərə öz qurğularını yoxlamaq, mümkün olduqca aktivləşdirilmiş kodeklərin sayını azaltmaq və gələcəkdə zərər radiusunu məhdudlaşdırmaq üçün Plex-in minimal dekoder konfiqurasiyasına bənzər allow-listing strategiyaları qəbul etmələri tövsiyə edilir.