偽造Cookie即可觸發遠端執行
資安研究人員Simon Koeck發現,Google開發者網站共用平台DevSite存在遠端程式碼執行(RCE)漏洞。問題根源在於Google將OAuth用戶端密鑰存放在瀏覽器Cookie中,且使用同一把密鑰作為Cookie簽章金鑰。攻擊者無須登入Google帳號,便能利用此漏洞在伺服器上執行任意程式碼。Koeck在研究OAuth登入流程時,注意到連線階段Cookie約有1,200位元組,遠大於存放CSRF權杖及返回網址所需容量。檢查後發現Cookie內含未加密的OAuth用戶端密鑰,攻擊者可藉此偽造通過驗證的Cookie,並利用Python的pickle模組還原資料時觸發反序列化漏洞。
跨網站共用金鑰的安全風險
這項漏洞不僅影響DevSite,還波及多個使用該平台的Google開發者網站。Koeck發現,從developers.google.com取得的簽章金鑰,同樣能用來偽造firebase.google.com、developer.android.com及其他相關網站接受的Cookie。這顯示多個網站共用簽章金鑰所帶來的安全風險。為了避免影響正式系統,Koeck在驗證時沒有執行系統命令,而是讓伺服器延遲數秒回應,透過回應時間變化證實伺服器確實執行了指定函式,展現了謹慎的研究態度。
快速修補與高額獎金
Google對此次漏洞反應迅速。Koeck於8月6日向Google通報漏洞,Google於8月27日核定9萬美元漏洞獎金,其中包含因研究報告品質優異而加發的20%獎金。最終,Google於10月7日完成漏洞修補。這起案例提醒開發者,即使是大型科技公司的共用平台,若金鑰管理與序列化處理不當,仍可能成為攻擊入口。