【漏洞通告】XZ-Utils供應鏈后門漏洞(CVE-2024-3094)
發布時間 2024-03-30一、漏洞概述
漏洞名稱 | XZ-Utils供應鏈后門漏洞 | ||
CVE ID | CVE-2024-3094 | ||
漏洞類型 | 后門漏洞 | 發現時間 | 2024-03-30 |
漏洞評分 | 10.0 | 漏洞等級 | 嚴重 |
攻擊向量 | 網絡 | 所需權限 | 無 |
利用難度 | 低 | 用戶交互 | 無 |
PoC/EXP | 已公開 | 在野利用 | 未知 |
XZ-Utils是Linux/Unix系統中用于處理.xz和.lzma文件的命令行壓縮工具,集成了liblzma等組件。
2024年3月30日,啟明星辰VSRC監測到國外安全研究員發布消息,在xz-utils軟件包5.6.0到5.6.1版本中,存在供應鏈攻擊及植入后門風險,漏洞編號為CVE-2024-3094,漏洞的CVSS評分為10.0。
3月29日,微軟PostgreSQL開發人員Andres Freund在調查SSH性能問題時,在開源安全郵件列表中發帖稱,他在xz軟件包中發現了一個涉及混淆惡意代碼的供應鏈攻擊。惡意代碼修改了liblzma代碼中的函數,該代碼是 XZ Utils軟件包的一部分。由于SSH底層依賴了liblzma等組件,攻擊者可能利用這一漏洞破壞sshd認證,并遠程獲取對整個系統的未授權訪問。
二、影響范圍
XZ Utils == 5.6.0
XZ Utils == 5.6.1
已知以下Linux發行版(部分)可能受該漏洞影響:
受影響產品/系統版本 | 參考鏈接 |
Fedora Rawhide | https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users |
Fedora 41 | https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users |
Debian 測試、不穩定和實驗發行版5.5.1alpha-0.1 - 5.6.1-1 | https://lists.debian.org/debian-security-announce/2024/msg00057.html |
openSUSE Tumbleweed / openSUSE MicroOS (3 月 7 日至3月28日期間,Tumbelweed 和 MicroOS 中包含了 xz 的后門版本) | https://news.opensuse.org/2024/03/29/xz-backdoor/ |
Kali Linux(3月26日至3月28日期間發行的xz-utils 5.6.0-0.2) | https://www.kali.org/blog/about-the-xz-backdoor/ |
Arch Linux | https://security.archlinux.org/CVE-2024-3094 |
MACOS HomeBrew x64 | |
Alpine Linux Edge | https://security.alpinelinux.org/vuln/CVE-2024-3094 |
目前已知Fedora 40、RedHat 全部版本、Debian 所有穩定版、SUSE全部版本等Linux發行版不易受到影響。具體受影響系統及zx版本可參考:
https://repology.org/project/xz/versions
三、安全措施
3.1 檢測
1.用戶可以通過執行以下命令判斷使用的xz是否為受影響的版本:
xz –version
2.也可使用如下腳本檢查系統是否被感染后門:
#! /bin/bash
set -eu
# find path to liblzma used by sshd
path="$(ldd $(which sshd) | grep liblzma | grep -o '/[^ ]*')"
# does it even exist?
if [ "$path" == "" ]
then
echo probably not vulnerable
exit
fi
# check for function signature
if hexdump -ve '1/1 "%.2x"' "$path" | grep -q f30f1efa554889f54c89ce5389fb81e7000000804883ec28488954241848894c2410
then
echo probably vulnerable
else
echo probably not vulnerable
fi
鏈接:
https://github.com/byinarie/CVE-2024-3094-info/blob/main/xz_cve-2024-3094-detect.sh
3. CVE-2024-3094的Yara規則:
rule BKDR_XZUtil_Script_CVE_2024_3094_Mar24_1 {
meta:
description = "Detects make file and script contents used by the backdoored XZ library (xzutil) CVE-2024-3094."
author = "Florian Roth"
reference = "https://www.openwall.com/lists/oss-security/2024/03/29/4"
date = "2024-03-30"
score = 80
hash = "d44d0425769fa2e0b6875e5ca25d45b251bbe98870c6b9bef34f7cea9f84c9c3"
strings:
$x1 = "/bad-3-corrupt_lzma2.xz | tr " ascii
$x2 = "/tests/files/good-large_compressed.lzma|eval $i|tail -c +31265|" ascii
$x3 = "eval $zrKcKQ" ascii
condition:
1 of them
}
rule BKDR_XZUtil_Binary_CVE_2024_3094_Mar24_1 {
meta:
description = "Detects injected code used by the backdoored XZ library (xzutil) CVE-2024-3094."
author = "Florian Roth"
reference = "https://www.openwall.com/lists/oss-security/2024/03/29/4"
date = "2024-03-30"
score = 75
hash1 = "319feb5a9cddd81955d915b5632b4a5f8f9080281fb46e2f6d69d53f693c23ae"
hash2 = "605861f833fc181c7cdcabd5577ddb8989bea332648a8f498b4eef89b8f85ad4"
hash3 = "8fa641c454c3e0f76de73b7cc3446096b9c8b9d33d406d38b8ac76090b0344fd"
hash4 = "b418bfd34aa246b2e7b5cb5d263a640e5d080810f767370c4d2c24662a274963"
hash5 = "cbeef92e67bf41ca9c015557d81f39adaba67ca9fb3574139754999030b83537"
hash6 = "5448850cdc3a7ae41ff53b433c2adbd0ff492515012412ee63a40d2685db3049"
strings:
$op1 = { 48 8d 7c 24 08 f3 ab 48 8d 44 24 08 48 89 d1 4c 89 c7 48 89 c2 e8 ?? ?? ?? ?? 89 c2 }
$op2 = { 31 c0 49 89 ff b9 16 00 00 00 4d 89 c5 48 8d 7c 24 48 4d 89 ce f3 ab 48 8d 44 24 48 }
$op3 = { 4d 8b 6c 24 08 45 8b 3c 24 4c 8b 63 10 89 85 78 f1 ff ff 31 c0 83 bd 78 f1 ff ff 00 f3 ab 79 07 }
/* function signature from detect.sh provided by Vegard Nossum */
$xc1 = { F3 0F 1E FA 55 48 89 F5 4C 89 CE 53 89 FB 81 E7 00 00 00 80 48 83 EC 28 48 89 54 24 18 48 89 4C 24 10 }
condition:
uint16(0) == 0x457f
and (
all of ($op*)
or $xc1
)
}
rule BKDR_XZUtil_KillSwitch_CVE_2024_3094_Mar24_1 {
meta:
description = "Detects kill switch used by the backdoored XZ library (xzutil) CVE-2024-3094."
author = "Florian Roth"
reference = "https://gist.github.com/q3k/af3d93b6a1f399de28fe194add452d01?permalink_comment_id=5006558#gistcomment-5006558"
date = "2024-03-30"
score = 85
strings:
$x1 = "yolAbejyiejuvnup=Evjtgvsh5okmkAvj"
condition:
$x1
}
鏈接:
https://github.com/Neo23x0/signature-base/blob/master/yara/bkdr_xz_util_cve_2024_3094.yar
3.2 升級版本
如果確認受影響,可將XZ Utils降級到未受影響的版本,如XZ Utils 5.4.6 Stable。
注:目前https://github.com/tukaani-project/xz存儲庫已被禁用。
3.3 通用建議
l 定期更新系統補丁,減少系統漏洞,提升服務器的安全性。
l 加強系統和網絡的訪問控制,修改防火墻策略,關閉非必要的應用端口或服務,減少將危險服務(如SSH、RDP等)暴露到公網,減少攻擊面。
l 使用企業級安全產品,提升企業的網絡安全性能。
l 加強系統用戶和權限管理,啟用多因素認證機制和最小權限原則,用戶和軟件權限應保持在最低限度。
l 啟用強密碼策略并設置為定期修改。
3.4 參考鏈接
https://access.redhat.com/security/cve/CVE-2024-3094
https://bugzilla.redhat.com/show_bug.cgi?id=2272210
https://www.openwall.com/lists/oss-security/2024/03/29/4
https://www.kaspersky.com/blog/cve-2024-3094-vulnerability-backdoor/50873/
https://tukaani.org/xz-backdoor/
四、版本信息
版本 | 日期 | 備注 |
V1.0 | 2024-03-30 | 首次發布 |
V1.1 | 2024-03-30 | 新增檢測腳本、受影響系統版本 |
V1.2 | 2024-04-01 | 新增Yara規則、更新漏洞信息、升級版本等 |
五、附錄
5.1 公司簡介
啟明星辰成立于1996年,是由留美博士嚴望佳女士創建的、擁有完全自主知識產權的信息安全高科技企業。是國內最具實力的信息安全產品、安全服務解決方案的領航企業之一。
公司總部位于北京市中關村軟件園啟明星辰大廈,公司員工6000余人,研發團隊1200余人, 技術服務團隊1300余人。在全國各省、市、自治區設立分支機構六十多個,擁有覆蓋全國的銷售體系、渠道體系和技術支持體系。公司于2010年6月23日在深圳中小板掛牌上市。(股票代碼:002439)
多年來,啟明星辰致力于提供具有國際競爭力的自主創新的安全產品和最佳實踐服務,幫助客戶全面提升其IT基礎設施的安全性和生產效能,為打造和提升國際化的民族信息安全產業領軍品牌而不懈努力。
5.2 關于我們
啟明星辰安全應急響應中心已發布1000多個漏洞通告和風險預警,我們將持續跟蹤全球最新的網絡安全事件和漏洞,為企業的信息安全保駕護航。
關注我們: