全球最受歡迎的 WordPress 主題之一在周末悄悄修復了一個安全漏洞,安全研究人員稱該漏洞似乎修復了一個儲存的 XSS 漏洞。
Astra 的官方變更日誌提供了安全版本的解釋:
“增強安全性:我們的程式碼庫已得到加強,可以進一步保護您的網站。”
其變更日誌記錄了每次更新中包含的程式碼的更改,但沒有提供有關漏洞是什麼或其嚴重程度的任何資訊。 因此,主題使用者無法做出明智的決定,是否盡快更新主題或在更新之前進行測試以確保更新的主題與正在使用的其他外掛程式相容。
SEJ 聯繫了 WordPress 安全公司 Patchstack,該公司證實 Astra 可能已經修復了跨站點腳本漏洞。
腦力激盪力量 Astra WordPress 主題
Astra 是世界上最受歡迎的 WordPress 主題之一。 這是一個免費主題,相對輕量級、易於使用,並且可以產生具有專業外觀的網站。 它甚至內建了 Schema.org 結構化資料。
跨站腳本(XSS)漏洞
跨站點腳本漏洞是 WordPress 中最常見的漏洞類型之一,通常出現在第三方外掛程式和主題中。 當有辦法輸入數據,但外掛程式或主題無法充分過濾輸入或輸出的內容時,就會出現此漏洞,這可能會允許攻擊者上傳惡意負載。
這個特殊的漏洞稱為儲存型 XSS。 儲存型 XSS 之所以被稱為儲存型 XSS,是因為它涉及將有效負載直接上傳到網站伺服器並儲存。
非營利網站開放全球應用程式安全專案 (OWASP) 提供了以下關於儲存的 XSS 漏洞的描述:
「儲存攻擊是指將注入的腳本永久儲存在目標伺服器上,例如資料庫、訊息論壇、訪客日誌、評論欄位等。然後,受害者在請求儲存的資訊時檢索惡意伺服器腳本。XSS 有時也稱為持久性XSS 或II 型XSS。
插件補丁堆疊審查
SEJ 聯繫了 Patchstack,後者快速審查了更改的文件,並在三個 WordPress 功能中發現了潛在的主題安全問題。 WordPress 功能是可以更改 WordPress 功能行為的程式碼,例如更改程式碼片段的長度。 功能可以添加自訂並向主題引入新功能。
Patchstack 解釋了其發現:
「我從 WordPress.org 儲存庫下載了版本 4.6.9 和 4.6.8(免費版本)並檢查了差異。
似乎對多個函數進行了更改,以轉義 get_the_author WordPress 函數的返回值。
此函數列印使用者的「display_name」屬性,如果不使用任何輸出轉義直接列印,該屬性可能包含惡意內容以結束跨網站腳本漏洞。
此變更針對以下功能進行:
astra_archive_page_info astra_post_author_name astra_post_author例如,如果貢獻者寫了一篇文章,並且該貢獻者更改了其顯示名稱以包含惡意負載,則當訪問者使用其惡意顯示名稱訪問該頁面時,該惡意負載將被執行。”
當使用者可以輸入資料時,WordPress 中的 XSS 漏洞上下文中的不受信任資料可能會發生。
這些過程稱為清理、驗證和轉義,這是保護 WordPress 網站安全的三種方法。
消毒可以說是輸入資料過濾的過程。 驗證是檢查輸入內容以確定其是否完全符合預期的過程,例如文字而不是代碼。 轉義輸出可確保顯示的任何內容(例如使用者輸入或資料庫內容)安全地顯示在瀏覽器中。
WordPress 安全公司 Patchstack 發現了洩漏資料的功能的變化,這反過來又提供了有關漏洞是什麼以及如何修復的線索。
補丁堆疊安全建議
目前尚不清楚該漏洞是第三方安全研究人員發現的,還是 Astra 主題的創建者 Brainstorm 自己發現並修補的。
官方 Patchstack 通知提供了以下資訊:
「一名身份不明的人發現並報告了Astra WordPress 主題中的跨站腳本(XSS) 漏洞。這可能允許惡意攻擊者將重定向、廣告和其他HTML 有效負載等惡意腳本注入您的網站,這些腳本將在以下情況下執行:訪客造訪您的網站。此漏洞已在 4.6.9 版本中修復。
Patchstack 將該漏洞評估為中等威脅,並按照 1 到 10 分的評分標準給出了 6.5 分。
Wordfence 安全諮詢
Wordfence 也剛剛發布了安全警告。 他們分析了 Astra 文件並得出結論:
「由於輸入和退出轉義的清理不足,WordPress 的Astra 主題很容易受到使用用戶顯示名稱存儲的跨站點腳本的影響,在4.6.8 及之前的所有版本中,這都導致了輸入和退出轉義的淨化不足。這使得經過身份驗證的攻擊者能夠利用貢獻者-級別訪問及以上級別,將任意 Web 腳本注入到頁面中,每當用戶訪問注入的頁面時就會執行這些腳本。”
通常建議主題使用者更新其安裝,但在將更新的主題發送到即時網站之前測試更新的主題是否存在錯誤也是明智的做法。
也可以看看:
精選圖片由 Shutterstock/GB_Art 提供