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

知名的 [7-Zip](https://7-zip.org/) 壓縮工具最近被發現兩個 CVSS SCORE 高達 7 分的 [CVE-2025-11001](https://ubuntu.com/security/CVE-2025-11001) 與 [CVE-2025-11002](https://ubuntu.com/security/CVE-2025-11002) 漏洞，建議大家要盡速更新！而我在更新 Ubuntu 的時候，發現更新有點小麻煩，所以寫了點筆記分享在這篇文章中。

![Image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/974bb9ae40b1ce700bad-a0b68d0a-f486-474b-90cc-ffef4f3e2089.webp)

> 這兩個漏洞才剛被發現，連 CVE 資料庫都還沒有更新，只有先預留編號而已: [CVE-2025-11001](https://www.cve.org/CVERecord?id=CVE-2025-11001) 與 [CVE-2025-11002](https://www.cve.org/CVERecord?id=CVE-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 移植版本, 提供 `7z`、`7za`、`7zr` 等指令。然而這個專案已於 2016 年停止更新, 版本停留在 16.02。
    
    安裝方式:
    
    ```bash
    sudo apt install p7zip-full
    ```
    
2.  `7zip` (官方套件)
    
    自 7-Zip 21.0 版本起, 官方開始提供原生 Linux 支援,Ubuntu 將其打包為 `7zip` 套件, 提供 `7zz` 指令。
    
    安裝方式:
    
    ```bash
    sudo apt install 7zip
    ```
    
    > Q: 為什麼可執行檔叫 `7zz` 而不是 `7z` 呢？
    > 
    > 這是許多使用者的疑問。官方 Linux 版本使用 `7zz` 作為指令名稱, 主要原因是避免命名衝突，由於 `p7zip-full` 已經佔用了 `7z` 這個指令名稱, 為了讓兩個套件可以同時安裝而不產生衝突, 官方版本選擇使用 `7zz`。另一個理由是不同的程式碼基礎，`p7zip` 是當年 7-Zip 僅支援 Windows 時的第三方移植版本, 而 `7zz` 則是官方維護的原生 Linux 版本, 兩者的程式碼基礎完全不同。
    

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

-   `7zz` - 動態連結版本
    
    動態連結系統函式庫, 檔案較小, 需要系統提供相容的函式庫。適合在固定環境中長期使用。
    
-   `7zzs` - 靜態連結版本
    
    所有函式庫都編譯進可執行檔, 檔案較大但便攜性更佳。適合需要在不同系統間移植的情境。
    
    兩者在功能和效能上完全相同, 差異僅在部署方式。
    

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

以下命令我在 **Ubuntu 22.04.5 LTS** 與 **Ubuntu 24.04.3 LTS** 都測試過沒問題：

1.  先用 `lsb_release -a` 檢查你現在的 OS 版本：
    
    ```bash
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 22.04.5 LTS
    Release:        22.04
    Codename:       jammy
    ```
    
2.  更新你的系統套件清單
    
    ```bash
    sudo apt update
    ```
    
3.  移除 `p7zip-full` 與 `7zip` 套件
    
    ```bash
    sudo apt remove -y p7zip-full 7zip
    ```
    
4.  到 7-Zip 官網的 [Download](https://7-zip.org/download.html) 下載 `64-bit Linux x86-64` 的壓縮檔
    
    以下命令請記得將 `7z2501-linux-x64.tar.xz` 檔名更換為目前最新版的下載連結：
    
    ```bash
    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
    ```
    

### 相關連結

-   [7-Zip](https://7-zip.org/) 官網
-   [7-Zip Download](https://7-zip.org/download.html)
-   [ip7z/7zip](https://github.com/ip7z/7zip): 7-Zip GitHub Repo
-   [7-Zip Vulnerabilities Let Attackers Execute Arbitrary Code Remotely](https://cybersecuritynews.com/7-zip-vulnerabilities/)
