觀點 · 資訊分享

Google 的資料庫 MCP Toolbox 補上來源檢查,但預設值還是「全部放行」

MCP Toolbox for Databases 在 v0.25.0 之前無法檢查連線來源的主機名稱,容易受到 DNS 重新綁定攻擊(CVE-2026-11624)。新版加了設定旗標,但預設仍是 *,要自己改才有效。

發布
2026-06-14
篇幅
約 3 分鐘 · 1,246 字
結構
7 節 + 3 題常見問題
標籤
#MCP#CVE-2026-11624#DNS rebinding#MCP Toolbox
Google 的資料庫 MCP Toolbox 補上來源檢查,但預設值還是「全部放行」

一句話看懂:Google 開源的資料庫 MCP 伺服器補上了連線來源檢查,但新旗標的預設值仍是全部放行,升級後還要自己設定。

MCP Toolbox 缺少來源檢查資訊圖卡:新版多了檢查旗標,但預設值是 *,不設定就等於沒擋

先用白話講:這是什麼問題?

想像你家門口有個訪客登記本,規定「要看清楚訪客是從哪裡來的」。但之前的版本根本沒有「登記訪客來源」的欄位,所以任何人走到門口,保全都沒辦法判斷他是不是該進來。

MCP Toolbox for Databases 是讓 AI 代理透過 MCP 協定查詢資料庫的開源伺服器。MCP 規範有一條安全提醒:伺服器應該檢查所有連線的 Origin 標頭,避免 DNS 重新綁定攻擊。這個工具在 v0.25.0 之前,使用者沒辦法驗證來源的主機名稱。

發生什麼事

  • 漏洞編號 CVE-2026-11624,類型是 Origin 驗證錯誤;GitHub 公告在 2026 年 6 月 13 日公開,嚴重度標為 critical
  • 受影響版本:v0.25.0 之前
  • 修補版本:v0.25.0

這次到底改了什麼?

v0.25.0 之前 v0.25.0 起
驗證來源主機 沒辦法 新增 --allowed-hosts 旗標
驗證來源 --allowed-origins(既有) 同左,可與新旗標搭配
預設值 - 兩個旗標都是 *
設成 * 時 - 啟動時顯示警告

給開發者的技術細節

  • 官方說明預設值維持 *,是為了不讓既有設定壞掉;換句話說,單純升級並不會自動收緊
  • 要真的生效,需要在啟動時指定允許的主機與來源,例如只允許 localhost 與你自己的前端網域(實際參數格式請看專案文件)
  • 文件也補上了相關的安全提醒
  • DNS 重新綁定的重點是:瀏覽器以為在跟同一個網站講話,實際上請求被導向你的本機。所以不要把「只綁在 localhost」當成足夠的保護
  • 排查建議:看啟動日誌有沒有出現「旗標為 *」的警告

我的看法

我自己有在玩 MCP,也把一些本地服務接給 AI 用。這類工具最容易被忽略的一點是:它們常常只跑在自己電腦上,大家就會覺得「反正只有我連得到」。DNS 重新綁定正是專門打破這個假設的攻擊。

這次的設計我覺得有個很實際的教訓:為了不破壞舊設定,預設值維持全開。這是常見的取捨,但也代表使用者要自己多做一步。如果你有在用,建議今天就去把允許清單設起來,而不是只升版。

名詞小辭典

  • MCP:讓 AI 發現並呼叫外部工具的通用標準。
  • Origin 標頭:瀏覽器發請求時附上的「我從哪個網站來」資訊。
  • DNS 重新綁定:先讓網域指向外部、再偷偷改指向內網或本機,騙過瀏覽器的同源保護。
  • 旗標(flag):啟動程式時附加的設定參數。

資料來源

常見問題

MCP Toolbox for Databases 是什麼?
一個讓 AI 代理透過 MCP 協定查詢資料庫的開源伺服器,原始碼放在 googleapis/mcp-toolbox。
DNS 重新綁定攻擊是什麼?
攻擊者讓一個惡意網頁的網域,先指向外部、之後改指向你本機的位址,使瀏覽器誤以為本機服務是同一個網站,進而向它送出請求。檢查 Origin 與 Host 能降低這類風險。
升級後就安全了嗎?
不一定。官方說明新旗標的預設值是 *,目的是不破壞既有設定,所以你需要自己指定允許的主機與來源;沒指定的話,伺服器會在啟動時警告。
LINE