觀點 · 資訊分享

Axios 的 NO_PROXY 防線會被「localhost.」繞過:GitHub 評 4.8、NVD 評 9.9,到底該不該緊張?

Axios 在 1.15.0 與 0.31.0 之前,檢查 NO_PROXY 時沒有先正規化主機名稱,導致 localhost. 或 [::1] 這類寫法仍會走代理,可能讓攻擊者碰到本機或內部服務。同一個漏洞,GitHub 與 NVD 的評分差了一倍多。

發布
2026-04-10
篇幅
約 3 分鐘 · 1,490 字
結構
8 節 + 3 題常見問題
標籤
#Axios#CVE-2025-62718#SSRF#NO_PROXY#npm
Axios 的 NO_PROXY 防線會被「localhost.」繞過:GitHub 評 4.8、NVD 評 9.9,到底該不該緊張?

一句話看懂:Axios 在 1.15.0 與 0.31.0 以前,檢查 NO_PROXY 時有漏洞,寫成 localhost. 或 [::1] 仍會走代理,可能讓攻擊者碰到內部服務,請升級。

Axios 的 NO_PROXY 繞過漏洞資訊圖卡:寫成 localhost. 或 [::1] 就繞過 NO_PROXY,升級到 1.15.0 以上

先用白話講:NO_PROXY 是什麼?

想像公司規定:對外寄信一律要經過總機(代理伺服器)檢查,但寄給「同一棟樓內的同事」可以直接送,不用經過總機。NO_PROXY 就是那份「不用經過總機」的名單,通常會放 localhost 這種本機位址。

這次的漏洞是:Axios 比對名單時用「逐字比較」。如果你把地址寫成 localhost.(結尾多一個點,在 DNS 裡其實和 localhost 是同一個地方),或是 IPv6 寫法的 [::1],Axios 認不出它們是本機,就照樣送去總機。

發生什麼事

  • 2026 年 4 月 9 日,Axios 公開安全公告 GHSA-3p68-rc4w-qgx5,對應 CVE-2025-62718
  • 受影響版本:1.0.0 以上、1.15.0 之前,以及 0.31.0 之前
  • 修補版本:1.15.0 與 0.31.0
  • 官方說明:這可能造成代理繞過與 SSRF,攻擊者即使在 NO_PROXY 設定了保護,仍可能讓請求經過代理,進而接觸本機或內部服務

兩種評分差這麼多

來源 評分
GitHub 公告 4.8(中等)
NVD 資料列出的一個評分 9.9(嚴重)

這是我查詢時看到的數字,之後可能調整。評分差異來自各機構對攻擊條件與影響的判斷不同,這種情況下,建議回到漏洞本身的描述,評估自己的情境。

該怎麼判斷自己有沒有風險?

根據公告描述,我推斷這三個條件同時成立才需要特別緊張(這是我的判讀,不是官方結論):

  1. 專案用 Axios,且透過環境變數設了代理
  2. 用 NO_PROXY 保護本機或內部服務
  3. 請求的網址可能被外部輸入影響

給開發者的技術細節

  • 檢查版本:用 npm ls axios(或你用的套件管理器的對應指令),注意間接依賴也會帶進 Axios
  • 升級:1.x 升到 1.15.0 以上;仍在 0.x 的專案升到 0.31.0 以上
  • 根本原因:主機名稱沒有先正規化(例如去掉結尾的點、處理 IPv6 寫法),就直接做字串比對
  • 根本的防護做法:處理外部傳入的網址時,自己也要限制可連線的目標,不要只靠代理設定一道防線(這是一般性建議,不是公告內容)

我的看法

做 Nuxt、Node 專案時,Axios 常常是「裝了就忘」的套件,而且很多時候是別的套件間接帶進來的。這則公告提醒我兩件事:一是升級前先用鎖定檔找出所有版本;二是遇到兩個機構評分差很多的漏洞,不要只看最高的那個分數嚇自己,也不要只看最低的那個安心,回到自己的使用情境判斷。

如果你的服務會根據使用者輸入去請求網址(例如抓網頁預覽、Webhook 測試),這類功能本來就是 SSRF 的高風險區,更值得順便檢查。

名詞小辭典

  • 代理伺服器(Proxy):幫你轉送網路請求的中間站。
  • SSRF(伺服器端請求偽造):攻擊者誘使伺服器代替他去請求內部或本機的網址。
  • NO_PROXY:列出不要經過代理的主機名單的環境變數。
  • 正規化(Normalization):把不同寫法整理成統一格式再比對。

資料來源

常見問題

NO_PROXY 是做什麼的?
一個環境變數,列出「不要經過代理伺服器」的主機,例如 localhost 或內部服務。這個漏洞讓某些寫法的位址被誤判成不在清單內,還是走了代理。
我一定會中嗎?
不一定。依官方描述,風險發生在你有設定代理與 NO_PROXY,而且攻擊者能影響程式要請求的網址時。沒有用代理或請求的網址都是自己寫死的,風險相對低。
為什麼兩邊評分差這麼多?
GitHub 與 NVD 各自評估,對攻擊條件與影響的判斷不同,所以分數不同。實務上可以把它當成提醒:先看漏洞說明與自己的使用情境,再決定處理的急迫性。
LINE