rbc是什么意思| 女人肾阴虚吃什么药| 孕妇不吃饭对胎儿有什么影响| 福建有什么特产| 肠胃属于什么科| 胃疼是什么病| 33是什么意思| 中耳炎挂什么科| 人流后吃什么水果好| 草木皆兵是什么意思| revive是什么意思| 红楼梦是什么朝代| 华山在什么地方| 抗坏血酸是什么| 善根是什么意思| 澳大利亚的国宝是什么| 紫水晶五行属什么| 为什么会有牙结石| 明矾有什么作用| 肝气郁结吃什么中成药| 咽喉异物感吃什么药| 矫正视力什么意思| 睡觉打呼噜是什么病| 机不可失的下一句是什么| qty什么意思| 尿频尿不尽吃什么药| 狐狸的尾巴有什么作用| 老人家脚肿是什么原因引起的| 头昏是什么原因| 风寒感冒流鼻涕吃什么药| 狗癣用什么药最有效| 人什么什么事的成语| 低烧吃什么| 血小板低吃什么药| 桑拿是什么| 喉咙痒咳嗽吃什么药好| 251什么意思| 口苦是什么病| 什么的香蕉| 女人胯骨疼是什么原因| 胃一阵一阵绞痛是什么原因| cd ts 什么意思| 发糕是什么做的| 为老不尊是什么意思| 工程院院士是什么级别| 荔枝与什么不能同吃| 小腿灼热感是什么原因| lac是什么意思| 石斛的作用是什么| 女人绝经一般在什么年龄段| pink是什么颜色| 骨质密度增高是什么意思| 六合什么意思| 梦见生姜是什么意思| 梦见结婚是什么意思| 复姓什么意思| 想做肠镜挂什么科| 有什么烟| 胃病挂什么科| 忌讳什么意思| 血性是什么意思| 荨麻疹不能吃什么| 失足妇女是什么意思| 眼压高有什么症状和危害| 什么是破伤风| 电泳是什么| 什么是hp感染| 九月初十是什么星座| 入睡困难吃什么药| std是什么| 下午6点半是什么时辰| 紫微星是什么意思| dp什么意思| 怕金森是什么症状| 二婚是什么意思| 新生儿ad滴剂什么时候吃最好| 文火是什么意思| 侯字五行属什么| 立夏是什么时候| 血沉高忌口什么| 吃饭出汗是什么原因| 嘴巴里长水泡是什么原因| 失而复得什么意思| 浮生若梦是什么意思| 什么的垂下| 什么是骨刺| 木九十眼镜什么档次| 减少什么| 为所欲为什么意思| 百里挑一是什么生肖| 鸡拉白色稀粪吃什么药| 痦子和痣有什么区别| 牛肉炒什么菜| 7月6日是什么星座| 什么是压缩性骨折| 警示是什么意思| 1943年属什么生肖| 细菌性痢疾症状是什么| 打闭经针有什么副作用| 男生肚子疼是什么原因| gin什么意思| 淋巴清扫是什么意思| 满月是什么意思| 老鼠疣长什么样子图片| u是什么意思| 经期吃什么好排除瘀血| 什么主食含糖量低| 雄激素过高是什么意思| 开水烫伤用什么方法好的最快| 什么时候同房最容易怀孕| 打嗝吃什么药好| 欧巴什么意思| 脸部出油多是什么原因| 为什么手上会长小水泡| 副高相当于什么级别| 盆腔积液吃什么药好| 失联是什么意思| 海带与什么食物相克| 宝宝上颚有白点是什么| 什么是代沟| 婴儿什么时候长牙齿| 玫瑰花茶和什么搭配好| 老年人吃什么水果对身体好| 恩泽是什么意思| 林黛玉属什么生肖| 熊猫为什么被称为国宝| 性质是什么| 88年出生属什么生肖| 八字刘海适合什么脸型| 已加一笔是什么字| 感冒咳嗽挂号挂什么科| 医联体是什么意思| 体细胞是什么| sap是做什么的| 只是当时已惘然是什么意思| 反映是什么意思| 四月十七是什么星座| 三冬是什么意思| 肚子疼是什么原因一阵一阵的| 土耳其说什么语言| 55岁属什么| 肌酐500多属于什么期怎么治疗| 维c吃多了有什么副作用| 丑未戌三刑会发生什么| 烟酸是什么| 麻头是什么| 伪娘什么意思| 热锅凉油是什么意思| 什么是亚健康| 菜板什么材质的好| 男人太瘦吃什么可以长胖| 移徒是什么意思| 入殓师是什么意思| 来大姨妈可以吃什么水果| 原味是什么意思| 做梦梦见狗是什么意思| 柔式按摩是什么意思| 杏色搭配什么颜色好看| 儿童个子矮小看什么科| 农历9月14日是什么星座| 丞字五行属什么| 痢疾是什么原因引起的| 阳强易举是什么意思| 月经过后腰酸疼是什么原因| ms是什么单位| 11.6号是什么星座| met什么意思| ph值低是什么原因| 长痣是什么原因引起的| 子癫是什么病| 机翻是什么意思| 市宣传部长是什么级别| 风水宝地是什么意思| 父亲生日送什么礼物| 偏头痛什么症状| 左侧卵巢无回声是什么意思| 假体隆胸什么材料好| 吃什么水果可以护肝| 吃什么容易拉肚子| 什么药降肌酐最快最好| 呃是什么意思| 防蓝光眼镜有什么用| 老人家头晕是什么原因| 7月18日是什么日子| 穿山甲说了什么| 骨转移用什么药| 日进斗金什么意思| 老板喜欢什么样的员工| 十羊九不全是什么意思| 植物的根有什么作用| 伤口发炎用什么药| 寅时属什么生肖| 形同陌路什么意思| 知了猴是什么东西| 嘴唇不红润是什么原因| 小腿麻木是什么原因| 521是什么意思| 益生元和益生菌有什么区别| 白带多用什么药| 什么叫肽| 哈利波特是什么意思| 什么叫人均可支配收入| 过敏用什么药| 解脲支原体阳性吃什么药最好| 籍贯填什么| 奔跑吧什么时候更新| 难为情是什么意思| 插茱萸是什么意思| 肝内胆管结石吃什么药好| 葛优躺是什么意思| 梦见被蛇追着咬是什么意思| 有是什么意思| 生育能力检查挂什么科| 脚麻是什么病的前兆| 孔子是什么学派的创始人| 家族史是什么意思| 甘露醇治什么病| 饭圈是什么意思| 高压高低压正常是什么原因| 一建什么时候报名| 钙化什么意思| 电动车是什么电池| 桥本甲状腺炎是什么意思| 荔枝什么人不能吃| 眼睛出血是什么原因| 泡什么喝可以降血糖| 咳嗽吃什么| redline是什么牌子| 杀虫剂中毒有什么症状| 梦见女尸是什么预兆| 经期不能吃什么| 11.20是什么星座| 鸭屎香为什么叫鸭屎香| 脱皮缺什么维生素| 白内障是什么原因引起的| 血稠是什么原因造成的| 30岁以上适合用什么牌子的护肤品| 奶油奶酪可以做什么| 阴虚火旺吃什么中成药| mcm牌子属于什么档次| 越来越瘦是什么原因| 满月针最晚什么时候打| 看牙挂什么科| 1919年发生了什么| 梦见捡到钱是什么预兆| 什么是变态| 肾不好会有什么症状| 霉菌是什么| 专家是什么意思| 长期便秘是什么原因| 胃不好喝什么茶好| 什么是湿疹| 什么的雪花| 6月30日什么星座| 拉肚子什么原因造成的| 什么叫静息心率| 尿很黄是什么原因| 金黄的什么| 肾脏彩超能检查出什么| 干眼症缺乏什么维生素| 肾阳虚什么症状| 厌恶是什么意思| 虚构是什么意思| 长孙皇后为什么叫观音婢| 百度

重磅 | 第六届中国智能交通市场年会完整日程

Akamai Wave Blue
百度 要坚持顺应民心办实事。

Written by

Akamai Security Intelligence Group

April 01, 2024

CVE-2024-3094 is a vulnerability discovered in the open-source library XZ Utils that stems from malicious code that was pushed into the library by one of its maintainers.
CVE-2024-3094 is a vulnerability discovered in the open-source library XZ Utils that stems from malicious code that was pushed into the library by one of its maintainers.

Executive summary

  • CVE-2024-3094 is a vulnerability discovered in the open-source library XZ Utils that stems from malicious code that was pushed into the library by one of its maintainers.

  • It was originally reported as an SSH authentication bypass backdoor, but further analysis indicates that the backdoor actually enables remote code execution (RCE).

  • The threat actor started contributing to the XZ project almost two years ago, slowly building credibility until they were given maintainer responsibilities. Such long-term operations are usually the realm of state-sponsored threat actors, but specific attribution does not currently exist.

  • Since the backdoor affects the latest XZ Utils releases, the recommended course of action is to downgrade to an uncompromised release. In this blog post, we offer other potential mitigations to limit the blast radius of the attack.

Backstory

XZ Utils, and its underlying library liblzma, are open-source projects that implement the lzma compression and decompression. They are included in many Linux distributions out of the box, are very popular with developers, and are used extensively throughout the Linux ecosystem.

Almost two years ago, a developer under the name of Jia Tan joined the project and started opening pull requests for various bug fixes or improvements. So far, nothing is out of the ordinary; this is how things work in the open-source world. Eventually, after building trust and credibility, Jia Tan began to receive permissions for the repository — first, commit permissions and, eventually, release manager rights.

It seems that as part of the effort to gain these permissions, Jia Tan used an interesting form of social engineering: They used fake accounts to send myriad feature requests and complaints about bugs to pressure the original maintainer, eventually causing the need to add another maintainer to the repository.

After contributing to the code for approximately two years, in 2023 Jia Tan introduced a few changes to XZ that were included as part of release 5.6.0. Among these changes was a sophisticated backdoor.

The backdoor

The backdoor is quite complex. For starters, you won’t find it in the xz GitHub repository (which is currently disabled, but that’s besides the point). In what seems like an attempt to avoid detection, instead of pushing parts of the backdoor to the public git repository, the malicious maintainer only included it in source code tarball releases. This caused parts of the backdoor to remain relatively hidden, while still being used during the build process of dependent projects.

The backdoor is composed of many parts introduced over multiple commits:

  • Using IFUNCs in the build process, which will be used to hijack the symbol resolve functions by the malware

  • Including an obfuscated shared object hidden in test files

  • Running a script set during the build process of the library that extracts the shared object (not included in the repository, only in releases, but added to .gitignore)

  • Disabling landlocking, which is a security feature to restrict process privileges

The execution chain also consists of multiple stages:

  • The malicious script build-to-host.m4 is run during the library’s build process and decodes the “test” file bad-3-corrupt_lzma2.xz into a bash script

  • The bash script then performs a more complicated decode process on another “test” file, good-large_compressed.lzma, decoding it into another script

  • That script then extracts a shared object liblzma_la-crc64-fast.o, which is added to the compilation process of liblzma

This process is admittedly hard to follow. We recommend Thomas Roccia’s infographic for a great visual reference and in-depth analysis.

The shared object itself is compiled into liblzma, and replaces the regular function name resolution process. During (any) process loading, function names are resolved into actual pointers to the process memory, pointing at the binary code. The malicious library interferes with the function resolving process, so it could replace the function pointer for the OpenSSH function RSA_public_decrypt (Figure 1).

It then points that function to a malicious one of its own, which according to research published by Filippo Valsorda, extracts a command from the authenticating client’s certificate (after verifying that it is the threat actor) and passes it on to the system() function for execution, thereby achieving RCE prior to authentication.

The malicious library interferes with the function resolving process, so it could replace the function pointer for the OpenSSH function RSA_public_decrypt (Figure 1). Fig. 1: The liblzma hooking process

For a more detailed explanation of the backdoor parts, you can read Andres Freund's post on openwall.

Potential impact

Currently, it appears as though the backdoor is added to the SSH daemon on the vulnerable machine, enabling a remote attacker to execute arbitrary code. This means that any machine with the vulnerable package that exposes SSH to the internet is potentially vulnerable.

This backdoor almost became one of the most significant intrusion enablers ever — one that would’ve dwarfed the SolarWinds backdoor. The attackers were almost able to gain immediate access to any Linux machine running an infected distro, which includes Fedora, Ubuntu, and Debian. Almost.

There was only one thing that stopped that from happening — Andres Freund. After investigating a 500 ms latency issue that was introduced after a software update, Andres was able to trace the issue back to the xz package and ultimately identify the backdoor.

This obviously raises a lot of concerns. We got lucky. If this backdoor was not detected by a curious engineer, how long would it have remained active?

And perhaps even more concerning: What if this has happened before?

Detection and mitigation

Version control

The Cybersecurity and Infrastructure Security Agency (CISA) recommended course of action is to downgrade to an uncompromised version, such as 5.4.6.

To know which version of XZ Utils or liblzma you currently have on your systems, you can run the following query in Akamai Guardicore Segmentation Insight that will look for loaded instances of the liblzma library (Figure 2).

  SELECT DISTINCT path AS liblzma_path
  FROM process_memory_map
  WHERE LOWER(path) LIKE "%liblzma%"
To know which version of XZ Utils or liblzma you currently have on your systems, you can run the following query in Akamai Guardicore Segmentation Insight that will look for loaded instances of the liblzma library (Figure 2). Fig. 2: Querying for loaded instances of liblzma

Alternatively, you can run the following query to find the package manager for the installed version.

  SELECT name AS vulnerable_item, 'DEB' AS type, version
  FROM deb_packages
  WHERE (LOWER(name) LIKE '%xz-utils%' OR LOWER(name) LIKE '%liblzma%')

  UNION

  SELECT name AS vulnerable_item, 'RPM' AS type, version
  FROM rpm_packages
  WHERE (LOWER(name) LIKE '%xz-utils%' OR LOWER(name) LIKE '%liblzma%')

Of course, you can also filter to show only vulnerable assets.

  SELECT path AS vulnerable_item, "Loaded Library" AS type, '5.6%' AS version
  FROM process_memory_map
  WHERE LOWER(path) LIKE "%liblzma%5.6%"
  SELECT name AS vulnerable_item, 'DEB' AS type, version
  FROM deb_packages
  WHERE (LOWER(name) LIKE '%xz-utils%' OR LOWER(name) LIKE '%liblzma%')
  AND version LIKE '5.6.%'

  UNION

  SELECT name AS vulnerable_item, 'RPM' AS type, version
  FROM rpm_packages
  WHERE (LOWER(name) LIKE '%xz-utils%' OR LOWER(name) LIKE '%liblzma%')
  AND version LIKE '5.6.%'

Threat hunting

Since the backdoor actually executes system commands, and isn’t just allowing authentication, it might be possible to detect this behavior via process tracking.

Usually, during logon, a new shell is created for the logging user, and runs the default shell process (like bash). However, with this backdoor, the malicious command is actually executed by the SSH daemon process, sshd, which could trigger an anomaly.

Our threat hunting service, Akamai Hunt, has methods in place to detect such anomalies; for example, by constantly tracking a baseline of process activity and their child processes.

Kill switch

According to some analyses of the backdoor, it appears to have an environment variable kill switch. Adding the key yolAbejyiejuvnup=Evjtgvsh5okmkAvj to the system’s environment variables may disable the backdoor.

References



猪苓是什么东西 国企是什么编制 今天什么日子 88岁属什么生肖 西洋参有什么作用
啤酒加味精有什么作用 小燕子的尾巴像什么 手脚发麻是什么原因 天罗地网是什么生肖 cg动画是什么意思
耐力板是什么材质 罗红霉素胶囊治什么病 吉星高照是什么生肖 身上长红色的痣是什么原因 林俊杰的粉丝叫什么
接站是什么意思 狐臭是什么原因引起的 肺结节是什么病 股票的量比是什么意思 黑眼圈是什么原因导致的
三羊开泰是什么生肖hlguo.com 水囊是什么hcv8jop8ns3r.cn 浓茶喝多了有什么危害hcv8jop8ns9r.cn 女人一般什么时候绝经hcv8jop0ns5r.cn 什么的杯子hcv9jop4ns0r.cn
夫字五行属什么hcv8jop5ns3r.cn 九月28号是什么星座hcv8jop0ns8r.cn 2月3号是什么星座hcv8jop3ns9r.cn mr是什么意思liaochangning.com 什么时间量血压最准clwhiglsz.com
望周知是什么意思hcv8jop3ns5r.cn 农历六月是什么星座hcv8jop9ns0r.cn 低度鳞状上皮内病变是什么意思hcv8jop8ns9r.cn 红枣有什么功效和作用hcv7jop6ns2r.cn 什么是卒中qingzhougame.com
刺五加配什么药治失眠hcv7jop5ns3r.cn 1924年属什么生肖hcv9jop0ns7r.cn 袁崇焕为什么被杀dajiketang.com 饭票是什么意思hcv8jop3ns4r.cn 天使长什么样hcv7jop9ns4r.cn
百度