
VideoLAN 團隊剛剛在 LinkedIn 上宣布 ) 了 VLC 3.0.24 的釋出。 雖然官方說這只是個「維護與安全性」更新,但我個人覺得是個還挺可觀的進展。
這次的更新修復了超過 130 個安全性漏洞,是 VLC 有史以來在單一版本中修補最多洞的一次。 官方提到其中有許多 bug 是借助大型語言模型找出來的。 (這年頭 AI 不只會幫我們自動生成 bug 寫進 code 裡,也會幫忙抓 bug 修 bug 而且還通過人類工程師的審核了,真是可喜可賀!)
儘管這些漏洞大多沒那麼容易被惡意利用,一般使用也不見得能感受到_(畢竟,能被輕易察覺的漏洞,都老早就修掉了)_,但同時間配合大量的第三方函式庫更新,實際修復的資安問題數量肯定遠超 130 個。
根據查到的資訊 ,這次很大一部分是藉由 Google 的 OSS-Fuzz 來揪出漏洞。 從修補清單來看,很大一部分應是 Demuxer 相關漏洞。 用白話文說的話,駭客最喜歡把惡意程式碼藏在「看起來像正常影片」的特製 MP4 或 MKV 檔案裡。 當你用播放器一打開,系統在解析這個檔案的瞬間就有可能觸發記憶體溢位,理論上可被利用來執行惡意程式碼。 這次的百大修補,基本上就是把這種「播個來路不明的影片就中鏢」的無形破口給大規模堵上了。
他們一口氣更新了 49 個第三方函式庫。 其中最核心的 FFmpeg 引擎是直接從 4.4 升到了 8.1.2 版。 FFmpeg 4.4 可是 2021 年的產物,這次等於一口氣跨越了五年與四個大版號。
單純從 VLC 使用者來看,這次底層 FFmpeg 的升級,可能帶來幾個有感的改變:
- 擁抱 AV1 硬體解碼與 Vulkan 加速:這幾年串流開始轉向 AV1 格式,升級了 FFmpeg 後在看高畫質影片時,系統資源消耗有機會大幅下降,舊筆電看片有機會不用再聽風扇起飛的聲音了。
- 支援下一世代 VVC (H.266) 格式:FFmpeg 8.x 已內建 VVC 解碼器,現在 VLC 有機會能原生支援解碼。
- 專業影視格式直接看:增加了 APV 甚至是 Apple ProRes RAW 的解碼支援。(這對影音從業人員較有感,以前需要進高階剪輯軟體才能處理的相機 RAW 檔,現在把它當一般影片丟進 VLC 就能直接看毛片了!)
除了修 bug,還有一些很讚或有趣的新玩意:
- SRT Listener 模式:支援 SRT (Secure Reliable Transport) 協議的傾聽模式,這對低延遲的即時串流測試很實用。
- CEA-708 in MP4:支援 MP4 容器內的 CEA-708 隱藏式字幕(北美數位電視廣播標準)。
- 支援 ATRAC3/ATRAC9 音訊格式:居然復活了 90 年代 Sony MD 隨身聽的專屬格式!
另外,VLC 把升級更新用的金鑰,從古老的 DSA-1024 遷移到更安全的 RSA-4096。所以如果你在更新時看到它彈出正在下載新金鑰的提示,別緊張,這是預期中的正常行為。
還有就是老樣子,VLC 3.0.24 依然維持它那「管你什麼系統我都能播」的承諾:從二十多年前的 Windows XP 到最新的 Windows 11;從 macOS 10.7 到最新版蘋果系統;當然也包含各種 Linux、BSD 甚至 OS/2。 (連 OS/2 都能跑!)
VideoLAN 特別提到,這項工作有很大一部分是由德國主權科技基金(Sovereign Tech Agency / Sovereign Tech Fund)提供資金支持。這正是基礎開源軟體維護最需要公共資金挹注的最佳範例。如果你剛好是德國人,官方說:趕快去感謝你們的國會議員吧!