Symfony 安全更新:核對後台權限,升級後重建路由快取

如果你的 Symfony 網站用 access_control 守住後台,先看規則是否只寫了 GET。Symfony 在 11 月 4 日公開一批安全修補,其中一項就是補上 HEAD 與 GET 在路由和權限規則之間的落差。另一項涉及編譯後的路由,升級後還要清除並重建正式環境的路由快取。

先核對正式環境的套件版本

以下挑出這批更新中,與後台權限、上傳及憑證登入有關的四項公告。表中是這四項的最低修補版本。從正式環境部署的 composer.lock 或已安裝套件查起;專案宣告允許安裝的版本範圍,不能證明正式站已用上修補。

目前分支 最低修補版本
5.4 5.4.56
6.x 6.4.50
7.x 7.4.23
8.x 8.1.11

哪些設定需要優先檢查?

  • 只限制 GET 的存取規則(CVE-2026-118514,symfony/http-foundation):路由可用同一個處理程式回應 HEAD,舊版比對器卻不會套用只列 GET 的權限規則或防火牆。HEAD 不會回傳正文,但仍可能露出回應標頭,處理程式也可能執行寫入等操作。若同一路徑要為 HEAD 保留不同規則,升級後要把它排在 GET 規則之前。
  • 用網址路徑保護跨子網域的路由(CVE-2026-118516,symfony/routing):如果路由的主機名稱含變數,又靠網址路徑決定權限,舊版編譯路由可能把部分路徑誤當成主機名稱的一部分,導致規則漏攔。修補在產生路由快取的程式,舊快取留在正式站就仍有風險。
  • 將外部請求轉成含上傳檔案欄位的物件(CVE-2026-118515,symfony/serializer):若程式把不可信的資料轉成含 UploadedFile 欄位的物件,伺服器本機檔案可能被當作上傳檔處理。後果取決於程式怎麼讀取、搬移或提供這些檔案。自行組裝 Serializer 的專案,還要確認 DataUriNormalizer 排在物件正規化器之前。
  • 用用戶端憑證登入(CVE-2026-118513,symfony/security-http):若登入流程會從憑證主體名稱擷取帳號,持有受信任憑證且能影響憑證通用名稱(CN)的人,可能冒用其他帳號。直接傳入獨立憑證欄位作為帳號,或由憑證機構產生或驗證主體值的部署,不符合這個利用條件。

這四份公告說明了觸發條件,沒有通報已觀察到的在野利用。若你只負責營運網站,可以把套件清單、後台的權限規則和部署方式交給維護者確認。

更新後,確認後台的門還是鎖著

先在測試環境升級相關套件,再部署更新後的鎖定檔與依賴,並依既有部署流程清除、重建正式路由快取。用自家測試站的訪客與已授權帳號核對後台:匿名 GET 和 HEAD 都應按預期被拒絕或導向登入,授權使用者仍能照常操作。若站上也有上傳或憑證登入,再用正常的檔案和測試帳號各走一次流程。

封面為 AI 生成的概念插圖。

參考資料

原文鏈接:https://wntheme.com/symfony-november-2026-access-control-security-update/,轉載請註明出處。
0
顯示驗證碼
沒有帳號?註冊  忘記密碼?