GeoServer SQL 注入已有探測活動,管理員而家要做嘅五件事
Tech News

GeoServer SQL 注入已有探測活動,管理員而家要做嘅五件事

圖片:via iThome — https://www.ithome.com.tw/news/178166
TechLab 編輯部(譯)·

官方已出緊急更新,公開服務要先收窄存取再升級

iThome 報道,研究員 q1uf3ng 8 月 12 日公開 GeoServer 嘅 jsonArrayContains SQL 注入問題;watchTowr 跟住話,幾個鐘內已錄得數百次利用嘗試,而且集中來自少量 IP。GeoServer 團隊到 8 月 14 日已推出修補版,所以而家最實際嘅處理次序係:先收窄公開入口,跟住盡快升級,再檢查公開披露後嘅紀錄。

先分清探測同成功入侵

watchTowr 經 CSO Online 表示,佢哋見到嘅請求暫時較似大規模掃描,用嚟搵出邊啲 GeoServer 有漏洞,未發現惡意指令或後續 payload。換句話講,錄得 jsonArrayContains 可疑請求唔等於攻擊者已經入咗系統;不過亦唔代表可以擺埋一邊,因為公開 PoC 後,所以公開服務仍然唔應該延遲修補。所列公開資料暫未提到香港有機構中招。

邊類部署先至受影響

GeoTools 官方 GHSA 公告將問題評為 Critical,CVSS 3.1 分數係 9.8。官方確認嘅條件係 GeoServer 接駁 PostGIS 12 或以上版本,圖層又用到 Text 或 JSON 欄位;jsonArrayContains 會將外來數值寫入產生出嚟嘅 SQL,冇妥善處理特殊字元。公告確認攻擊者可以執行任意 SQL expression;至於可唔可以進一步讀寫敏感資料、破壞資料庫,甚至借資料庫功能執行系統指令,就要睇帳戶權限、額外擴展同成套部署設定,唔可以由掃描紀錄直接推斷成 RCE。

第一步:搵晒公開上網嘅 GeoServer

管理員要由外向內盤點 DNS、reverse proxy、load balancer、容器 ingress、NAT 同 Cloudflare 等入口,確認有冇 /geoserver/、WMS、WFS 或 OWS endpoint 可以唔經登入直接到達。只供內部 GIS、運輸調度、設施管理或企業地圖系統用嘅服務,可以先改到 VPN、私有網絡或指定 IP 先入到;真係要公開提供地圖圖層,就至少將管理介面、REST API 同毋須公開嘅 WFS 功能分開限制。

第二步:升級,唔好靠舊緩解方法頂住

官方已推出 GeoServer 3.0.1、2.28.5 同 2.27.6,三個版本都包含修補;2.27 系列本身已經停止一般維護,官方只因今次緊急問題破例出 2.27.6,用緊呢條分支嘅團隊升完補丁後,仲要安排轉去受支援版本。GHSA 特別講明,以前針對 CVE-2023-25158 建議嘅 preparedStatements 同關閉 encode functions,今次都冇用。WAF 封鎖 jsonArrayContains 只可以當臨時多一層保護,唔可以代替升級,因為編碼、請求格式同合法業務查詢都會令字串規則失準。

第三步:收細資料庫帳戶權限

GeoServer 連接 PostGIS 嘅帳戶唔應該係資料庫管理員,更唔應該有建立擴展、建立高權限 function、改角色或操作其他 schema 嘅權限。純粹出圖同查詢嘅服務,帳戶通常只要讀取指定 schema、table 同 view;有 WFS-T 或資料匯入功能先逐項加入寫入權限。呢步阻止唔到 SQL 注入本身,但可以明顯壓低資料外洩、竄改同攻擊者由資料庫入侵主機嘅風險,管理員亦應該趁今次補做返最小權限設定。

第四步:由三層紀錄追查可疑請求

先喺 reverse proxy、WAF 同 GeoServer access log 搜尋經 URL decode 後出現嘅 jsonArrayContains,再留意 WFS/OWS 請求入面反常嘅 CQL_FILTERFILTER、大量錯誤回應、SQL 語法錯誤同短時間重複試探。跟住對照 PostGIS audit 或 statement log,檢查有冇非預期 schema 存取、角色或 function 變動、異常長查詢同大量資料讀取。單靠命中一個關鍵字只足以列為探測;若資料庫紀錄見到非預期 SQL 成功執行、帳戶變動或主機出現異常程序及連線,就要按事故處理,保存紀錄、隔離服務、輪換憑證,再由乾淨版本重建。

第五步:追官方 GHSA,唔好淨係等 CVE

截至 8 月 17 日,GHSA-mqjf-5f49-2fjh 仲未有獨立 CVE 編號,但補丁同受影響條件已經公開,等 CVE 先處理只會白白留低窗口。管理 GeoServer 嘅機構應記低實際版本、PostGIS 版本、公開 endpoint、資料庫帳戶權限同升級時間,之後繼續睇 GeoServer 公告有冇修訂影響範圍。現階段證據只支持「有人密集探測」,未支持「已有一批系統確認失陷」;不過公開服務仍然應該即刻升級同翻查 8 月 12 日之後嘅紀錄。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook