The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何在 Ubuntu 22.04.5 LTS 更新 7-Zip 程式到最新版

知名的 7-Zip 壓縮工具最近被發現兩個 CVSS SCORE 高達 7 分的 CVE-2025-11001CVE-2025-11002 漏洞,建議大家要盡速更新!而我在更新 Ubuntu 的時候,發現更新有點小麻煩,所以寫了點筆記分享在這篇文章中。

Image

這兩個漏洞才剛被發現,連 CVE 資料庫都還沒有更新,只有先預留編號而已: CVE-2025-11001CVE-2025-11002

CVE-2025-11001

  • CVE ID: CVE-2025-11001

  • CVSS 分數: 7.0, AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

  • 受影響的廠商: 7-Zip

  • 受影響的產品: 7-Zip

  • 漏洞細節

    此漏洞允許遠端攻擊者在受影響的 7-Zip 安裝上執行任意程式碼。需要與此產品互動才能利用此漏洞,但攻擊途徑可能會依實作而異。

    此特定缺陷存在於 ZIP 檔案中符號連結的處理。經過設計的 ZIP 檔案資料可能導致程序跳轉到非預期的目錄。攻擊者可以利用此漏洞在服務帳戶的上下文中執行程式碼。

  • 修復版本

    已於 7-Zip 25.00 修復

CVE-2025-11002

  • CVE ID: CVE-2025-11002

  • CVSS 分數: 7.0, AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

  • 受影響的廠商: 7-Zip

  • 受影響的產品: 7-Zip

  • 漏洞細節

    此漏洞允許遠端攻擊者在受影響的 7-Zip 安裝上執行任意程式碼。需要與此產品互動才能利用此漏洞,但攻擊向量可能會依據實作方式而有所不同。

    此特定缺陷存在於 ZIP 檔案中符號連結的處理。經過設計的 ZIP 檔案資料可能導致程序穿越到非預期的目錄。攻擊者可以利用此漏洞在服務帳戶的環境下執行程式碼。

  • 修復版本

    已於 7-Zip 25.00 修復

Ubuntu 上的兩種 7-Zip 套件

在 Ubuntu 生態系統中, 目前存在兩個不同的 7-Zip 實作:

  1. p7zip-full (傳統套件)

    這是早期由社群維護的 POSIX 移植版本, 提供 7z7za7zr 等指令。然而這個專案已於 2016 年停止更新, 版本停留在 16.02。

    安裝方式:

    sudo apt install p7zip-full
    
  2. 7zip (官方套件)

    自 7-Zip 21.0 版本起, 官方開始提供原生 Linux 支援,Ubuntu 將其打包為 7zip 套件, 提供 7zz 指令。

    安裝方式:

    sudo apt install 7zip
    

    Q: 為什麼可執行檔叫 7zz 而不是 7z 呢?

    這是許多使用者的疑問。官方 Linux 版本使用 7zz 作為指令名稱, 主要原因是避免命名衝突,由於 p7zip-full 已經佔用了 7z 這個指令名稱, 為了讓兩個套件可以同時安裝而不產生衝突, 官方版本選擇使用 7zz。另一個理由是不同的程式碼基礎,p7zip 是當年 7-Zip 僅支援 Windows 時的第三方移植版本, 而 7zz 則是官方維護的原生 Linux 版本, 兩者的程式碼基礎完全不同。

當你從官方網站下載 7-Zip 時, 會發現壓縮包內包含兩個可執行檔: 7zz7zzs

  • 7zz - 動態連結版本

    動態連結系統函式庫, 檔案較小, 需要系統提供相容的函式庫。適合在固定環境中長期使用。

  • 7zzs - 靜態連結版本

    所有函式庫都編譯進可執行檔, 檔案較大但便攜性更佳。適合需要在不同系統間移植的情境。

    兩者在功能和效能上完全相同, 差異僅在部署方式。

在 Ubuntu 升級 7-Zip 到最新版本的方法

以下命令我在 Ubuntu 22.04.5 LTSUbuntu 24.04.3 LTS 都測試過沒問題:

  1. 先用 lsb_release -a 檢查你現在的 OS 版本:

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 22.04.5 LTS
    Release:        22.04
    Codename:       jammy
    
  2. 更新你的系統套件清單

    sudo apt update
    
  3. 移除 p7zip-full7zip 套件

    sudo apt remove -y p7zip-full 7zip
    
  4. 到 7-Zip 官網的 Download 下載 64-bit Linux x86-64 的壓縮檔

    以下命令請記得將 7z2501-linux-x64.tar.xz 檔名更換為目前最新版的下載連結:

    curl -sL https://7-zip.org/a/7z2501-linux-x64.tar.xz | tar -xOJf - 7zzs | sudo tee /usr/local/bin/7z > /dev/null && sudo chmod +x /usr/local/bin/7z
    

相關連結

留言評論