嚴重資訊安全警告:PHP2Shell (CVE-2026-109618 / CVE-2026-109619)

假設目前的環境已經過時 (Ubuntu 22.04 + Apache mod_php + PHP 8.1),存在極高的遠端程式碼執行 (RCE) 風險。由於 mod_php 與網頁伺服器共用記憶體,攻擊者可輕易觸發記憶體耗盡 (OOM) 錯誤,在無需身分驗證的情況下完全接管伺服器。您必須立即升級至支援的 PHP 8.3 或 8.4 版本。

嚴重性評分 (CVSS v4.0): 9.2 Critical Ubuntu / Apache PHP 8.3 安全升級 最後更新:2026年10月22日

本指南將帶領您一步步在 Ubuntu 伺服器(搭配 Apache)上升級至安全的 8.3.36 版本,以徹底防範近期爆發的 PHP2Shell 遠端程式碼執行漏洞。

1 關於 PHP2Shell 漏洞 (CVE-2026-109618 / 109619)

PHP2Shell 是存在於 PHP 核心記憶體管理中的嚴重漏洞。當使用 Apache 的 mod_php 模組時,攻擊者可以透過構造特定的惡意請求(例如觸發記憶體耗盡),利用釋放後使用 (Use-After-Free) 的缺陷,在未經身分驗證的情況下於伺服器上執行任意程式碼 (RCE)。

強烈警告:PHP 8.1 已終止支援 (EOL) PHP 8.1 及更舊版本 (8.0, 7.x) 已經達到生命週期終點 (End-of-Life),官方不會針對這些版本釋出 PHP2Shell 的安全修補程式。繼續使用 PHP 8.1 將使您的伺服器處於極高風險之中。唯有升級至 PHP 8.2.35、8.3.36 或 8.4.27 以上版本才能確保安全。

2 新增 Ondřej Surý PPA 軟體庫

Ubuntu 預設的軟體庫通常不包含最新版本的 PHP。我們需要加入由 Debian PHP 維護者 Ondřej Surý 所提供的官方信任 PPA。

bash
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

3 安裝 PHP 8.3 與相關擴充套件

接下來,安裝 PHP 8.3 核心、Apache 模組以及您網站可能需要的常見擴充套件(如 MySQL、cURL、GD 等)。

bash
sudo apt install -y php8.3 libapache2-mod-php8.3 php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring php8.3-zip php8.3-gd php8.3-bz2 php-memcached

4 切換 Apache 模組 (停用舊版)

安裝完成後,您必須告訴 Apache 停止使用舊版且易受攻擊的 PHP 模組(假設您原本使用的是 PHP 8.1),並啟用全新的 PHP 8.3 模組。

bash
sudo a2dismod php8.1
sudo a2enmod php8.3
💡 提示:如果您原本使用的是其他版本(例如 7.4 或 8.0),請將上述指令中的 php8.1 替換為您對應的舊版本號。

5 重啟服務與驗證

重新啟動 Apache 伺服器以套用新的模組設定,並在命令列檢查當前的 PHP 版本。

bash
sudo systemctl restart apache2
php -v

執行 php -v 後,您應該會看到類似以下的終端輸出,確認版本已成功升級至安全版本:

output
PHP 8.3.12 (cli) (built: Sep 26 2026 14:02:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.12, Copyright (c) Zend Technologies