觀點 · 資訊分享

Traefik ForwardAuth 特定架構下能被偽造標頭繞過驗證:專案 4 月 24 日已公告,4 月 30 日才拿到 CVE

CVE-2026-35051 影響 Traefik 的 ForwardAuth 中介層:在受信任上游代理之後、trustForwardHeader=false 的環境,攻擊者可偽造 X-Forwarded-Prefix 讓驗證服務誤判。專案早在 4 月 24 日已發布安全公告與修正版。

發布
2026-05-01
篇幅
約 3 分鐘 · 1,573 字
結構
7 節 + 3 題常見問題
標籤
#Traefik#CVE-2026-35051#ForwardAuth#反向代理#身分驗證繞過
Traefik ForwardAuth 特定架構下能被偽造標頭繞過驗證:專案 4 月 24 日已公告,4 月 30 日才拿到 CVE

一句話看懂:Traefik 的 ForwardAuth 在特定部署下沒有清掉攻擊者偽造的 X-Forwarded-Prefix 標頭,可能讓驗證服務誤判;專案早在 4 月 24 日就發布公告與修正版。

Traefik ForwardAuth 驗證繞過資訊圖卡:偽造 X-Forwarded-Prefix 標頭,讓驗證服務誤判路徑而放行

先用白話講:ForwardAuth 是什麼?

Traefik 是常見的反向代理,像是大樓的總機:外面的請求先到它這裡,再轉給裡面不同的服務。ForwardAuth 是它的一個功能:每個請求進來前,先打電話問另一個「驗證服務」:「這個人可以進去嗎?」

這次的問題是,總機在打電話給驗證服務時,漏掉清理其中一張「便條紙」,讓攻擊者能自己在上面寫字,騙驗證服務放行。

發生什麼事

  • 4 月 24 日:Traefik 專案發布安全公告 GHSA-6384-m2mw-rf54,並釋出修正版
  • 4 月 30 日:CVE-2026-35051 在 NVD 公開

也就是說,這不是 4 月 30 日才突然爆出的漏洞,而是專案早已公告、CVE 編號隔幾天才補上。

問題的細節:當 trustForwardHeader=false,且 Traefik 部署在受信任的上游代理後面時,Traefik 會重建 X-Forwarded-For、X-Forwarded-Host、X-Forwarded-Proto 等標頭,卻沒有清除或重建 X-Forwarded-Prefix。攻擊者帶來的值會原封不動送到驗證服務。

誰會中?

官方描述,需要同時符合:

# 條件
1 Traefik 部署在受信任的上游代理之後
2 使用 ForwardAuth,且 trustForwardHeader=false
3 驗證服務依 X-Forwarded-Prefix 做授權或路由決定

另外,原始通報提到,如果 StripPrefix 在 ForwardAuth 之前執行,驗證服務會同時收到攻擊者給的值與 Traefik 產生的值;驗證服務若取第一個值,就可能被騙。

給開發者的技術細節

  • 修正版本:2.11.43、3.6.14、3.7.0-rc.2
  • 受影響版本:v2 的 2.11.42 以前;v3 的 3.6.13 以前與 3.7.0-rc.1 以前;官方列出 v1 的 1.7.34 以前也受影響但沒有修正版
  • 評分:GitHub 公告的 CVSS 4.0 為 7.8(High);NVD 頁面上另有其他來源給出更高的評分
  • 自查:確認驗證服務有沒有讀取 X-Forwarded-Prefix;若有,升級後再檢查授權邏輯

我的看法

我自己在家裡的 NAS 上也會用反向代理串服務,這個漏洞提醒我一件事:驗證服務最好不要依賴任何「前面某一層幫你清過」的標頭,自己要有最後一道檢查。

另外,接案時常見的架構是「雲端 CDN → 反向代理 → 驗證服務」,層數一多,每一層對標頭的處理都可能不一致。升級是必要的,但更根本的做法是讓授權決定只看你自己確定可信的資訊,而不是看起來像內部產生的欄位。

名詞小辭典

  • 反向代理(Reverse Proxy):站在伺服器前面接請求、再轉給後端的中介服務,Traefik、Nginx 都屬於這類。
  • X-Forwarded-Prefix:代理在轉送時附上的標頭,記錄原本請求網址被去掉的前綴。
  • GHSA:GitHub 安全公告的編號格式,CVE 則是全球通用編號。
  • CVSS:漏洞嚴重度評分,滿分 10;不同版本的算法不同,分數不能直接比較。

資料來源

常見問題

所有 Traefik 用戶都會中嗎?
不是。官方描述的條件是:Traefik 部署在受信任的上游代理之後、使用 ForwardAuth、設定 trustForwardHeader=false,而且驗證服務依 X-Forwarded-Prefix 做授權或路由決定。不符合就不受影響。
這是 4 月 30 日才被發現的嗎?
不是。Traefik 專案早在 4 月 24 日已發布安全公告與修正版,4 月 30 日是 NVD 公開 CVE 編號的日期。
我不想馬上升級,有什麼緩解方式?
這份公告沒有列出官方的暫時緩解辦法。比較保守的做法是檢查驗證服務有沒有依 X-Forwarded-Prefix 授權,並盡快升級到修正版。
LINE