WordPress 插件反垃圾郵件 SQL 注入漏洞暴露用戶數據
未經身份驗證的攻擊者可能利用CVE-2021-24295的WordPress插件中的“垃圾郵件保護,反垃圾郵件,防火墻”來訪問用戶數據。
攻擊者可能利用此漏洞來訪問用戶的電子郵件,密碼,信用卡數據和其他敏感信息。
CleanTalk WordPress插件的垃圾郵件防護,反垃圾郵件,FireWall具有100,000多個活動安裝,它可以過濾掉運行WordPress CMS的網站上的垃圾郵件和垃圾評論。
“2021年3月4日,Wordfence威脅情報團隊針對負責安裝在100,000多個站點上的WordPress插件CleanTalk的垃圾郵件防護,AntiSpam,FireWall中發現的基于時間的盲SQL注入漏洞發起了負責任的披露 。該漏洞可用于從站點的數據庫中提取敏感信息,包括用戶電子郵件和密碼哈希,而無需登錄該站點。” 讀取咨詢通過Wordfence出版。
CVE-2021-24295漏洞是一個高嚴重性問題,已被評為7.5(滿分10)。
該插件通過維護阻止列表并跟蹤不同IP地址的行為(包括瀏覽器發送的用于標識自身的用戶代理字符串)來保護網站免受垃圾郵件評論。
Wordfence研究人員注意到,用于將這些請求的記錄插入數據庫的lib / Cleantalk / ApbctWP / Firewall / SFW.php中的update_log函數未能使用準備好的SQL語句。
準備好的語句可以防止SQL注入攻擊。
專家能夠通過向數據庫發送“猜測”數據庫表內容的請求來觸發問題,并指示數據庫延遲響應或在猜測正確的情況下“休眠”。
“例如,一個請求可能會問數據庫管理員用戶的電子郵件地址的首字母是否以字母’c’開頭,并指示其將響應延遲五秒鐘(如果是這樣的話),然后嘗試猜測下一個字母按順序”,Wordfence繼續說道。“根據易受攻擊的查詢的確切結構,還有許多其他的SQL注入技術可以解決許多形式的傳統輸入清理問題。”
此外,專家指出,插件代碼具有許多功能,這使得成功執行SQL注入攻擊更加困難。例如,設計上的update_log函數應該僅對每個訪問者IP地址執行一次。專家注意到,可以操縱插件設置的cookie,發送初始請求以獲取ct_sfw_pass_key cookie,然后手動設置單獨的ct_sfw_passed cookie并禁止將其重置。
“此外,易受攻擊的SQL查詢使用INSERT而不是SELECT。由于沒有將數據插入敏感表中,因此攻擊者無法通過更改數據庫中的值來使用插入查詢來利用站點,這也使得從數據庫中檢索任何敏感數據變得困難。” 。
另一個問題與嘗試防止SQL注入使用“ sanitize_text_field”函數有關,并且用戶代理已包含在查詢中的單引號中。
研究人員創建了一種概念驗證漏洞利用程序,以演示問題并從數據庫中的任何位置提取數據,他們通過在用戶代理請求標頭中發送包含SQL命令的請求,成功地利用了該缺陷。
此漏洞已通過版本5.153.4解決,但研究人員建議將其更新為最新版本的插件5.156。