觀點 · 資訊分享
Nginx UI 的備份還原 API 剛啟動 10 分鐘內免登入:CVE-2026-42238 可遠端執行指令,請升到 2.3.8
管理 Nginx 的網頁介面 nginx-ui 被揭露 CVE-2026-42238:在全新安裝、程序啟動後前 10 分鐘內,備份還原 API 不需要登入,攻擊者可蓋掉設定檔並進一步執行指令。官方在 2.3.8 修補。
- 發布
- 2026-05-05
- 篇幅
- 約 3 分鐘 · 1,364 字
- 結構
- 8 節 + 3 題常見問題
- 標籤

一句話看懂:自架的 nginx-ui 如果版本早於 2.3.8,在剛安裝、剛啟動的前 10 分鐘內,備份還原功能不用登入,可能被拿來蓋掉設定並執行指令,請盡快升級。

先用白話講:nginx-ui 是什麼?
Nginx 是很多網站前面的「大門管理員」。nginx-ui 則是替這位管理員做的「遙控面板」,用瀏覽器就能改設定。
問題是:面板剛安裝完、還沒設好管理員帳號的那段時間,有一個功能忘了鎖門。
發生什麼事
CVE-2026-42238 在 5 月 4 日(UTC)公開。依公告的描述:
- nginx-ui 的備份還原端點
POST /api/restore,在全新安裝、程序啟動後的前 10 分鐘內完全不需要登入 - 攻擊者可以上傳特製的備份檔,蓋掉應用程式的設定檔與資料庫
- 設定檔裡有可以填入指令的欄位,重啟後被載入,就可能以 nginx-ui 的執行身分執行指令;公告說在 Docker 部署中通常是 root
- 這個 10 分鐘的時間窗,在每次程序重啟時都會重新開始
- 影響 2.3.8 之前的版本,官方說 2.3.8 已修補;GitHub 公告列的 CVSS 為 9.8(嚴重)
誰會受影響?
| 情況 | 風險 |
|---|---|
| 剛部署、還沒完成初始設定,且連接埠對外開放 | 高 |
| 容器常被重啟或重新排程,且設定尚未完成 | 每次重啟都重新開啟時間窗 |
| 已完成初始設定的實例 | 公告說還原端點會要求登入,風險較低,但仍建議升級 |
該怎麼做
- 把 nginx-ui 升到 2.3.8 以上
- 部署後第一件事就是完成初始設定,不要讓它停在「剛安裝」的狀態
- 管理介面不要直接放到公網,用內網、VPN 或有存取限制的反向代理保護
- 如果你的實例曾在公網上跑過「未完成初始設定」的狀態,檢查設定檔與資料庫有沒有被改過(以下是通用的建議,不是官方步驟)
給開發者的技術細節
- 公告指出,該端點用「是否已安裝或超過啟動後 10 分鐘」來決定要不要驗證,這個以時間判斷的設計,在容器常重啟的環境下形同沒有保護
- 這類問題的共通教訓:「初始設定期間開放」的功能,應該靠一次性的設定憑證,而不是時間窗;這是我的整理,不是公告原文
- CVE.org 的記錄把弱點類型歸為 CWE-94(程式碼注入)
我的看法
自架服務的人最常犯的錯,是「先跑起來再說,設定晚點補」。這次的漏洞正好打在這個習慣上:晚點補的那段空窗,就是對外敞開的門。
我自己的做法是:任何管理介面一上線就先把帳號設好,並且預設只開在內網。對幫中小企業架站的接案者來說,也建議把「完成初始設定」寫進部署檢查清單,不要交給客戶後才發現還沒設。
名詞小辭典
- nginx-ui:用網頁管理 Nginx 設定的開源工具。
- CVE:公開漏洞的編號,方便大家用同一個名字討論同一個問題。
- CVSS:嚴重度評分,滿分 10,9 以上屬於嚴重。
- 遠端程式碼執行(RCE):攻擊者不用在場,就能讓伺服器執行他指定的指令。
資料來源
常見問題
nginx-ui 是什麼?
一套開源的網頁介面,讓你用瀏覽器就能管理 Nginx 的設定、憑證與狀態,很多人用 Docker 自架。
我已經設好管理員帳號,還會中招嗎?
依 GitHub 公告的描述,問題出在「全新安裝、尚未完成初始設定」且程序剛啟動的前 10 分鐘,這段時間還原 API 不用登入。已完成初始設定的實例,還原端點會要求登入,但仍建議升級。
該怎麼因應?
把 nginx-ui 升到 2.3.8 以上;不要把管理介面的連接埠(預設 9000)直接開到公網,改放在內網、VPN 或有存取控制的反向代理後面。
接著讀
全部觀點 →Budibase 自架版免登入遠端執行漏洞 CVE-2026-35216:請升級到 3.33.4低程式碼平台 Budibase 的自架版有一個重大漏洞:只要管理員建立過「Webhook 觸發 + Bash 步驟」的自動化,任何人不用登入就可能透過公開網址遠端執行指令。專案 4/2 已發布公告,修補版是 3.33.4。閱讀 →自架 Postiz 連修 2 個高危漏洞:註冊帳號就能偽造登入權杖、讀走伺服器檔案,請升到 v2.25.3開源社群貼文排程工具 Postiz 在 10 月 24 日發布 v2.25.3,修正兩個 CVSS 9.6 以上的漏洞:一般註冊用戶可以偽造登入權杖接管別人的組織,也可能讀走伺服器上的檔案。開放註冊預設是開啟的。閱讀 →Ruby 修正正規表示式漏洞:GitLab 4 個遠端執行 CVE 的根源,有編譯使用者輸入的程式要升級Ruby 在 10 月 23 日釋出 4.0.9、3.4.12、3.3.13,修正 GitLab 發現的正規表示式引擎記憶體錯誤。這些錯誤能讓人在 GitLab 伺服器上遠端執行程式,GitLab 已公布 4 個 CVE,最高 CVSS 10.0。閱讀 →