liblzma/xz漏洞

一、事情概述

        在2024年3月28日,研究人员发现在liblzma/xz官方库的5.6.0和5.6.1版本中被发现植入了恶意后门,具体来说,这个后门会篡改Makefile,注入恶意脚本到configure中执行,从而在生成的代码里链接恶意的.o。当满足一定条件,即当前进程是/usr/sbin/sshd,不存在调试环境变量,配置了LANG时,就会触发后门逻辑。攻击者可能利用这一漏洞在受影响的系统上绕过SSH的认证获得未授权访问权限,执行任意代码。

非x86-64架构的系统不受此影响,Git版的xz中也没有发现恶意代码,只有完整下载包中存在问题。因此,建议用户检查xz版本,如果输出为5.6.0或5.6.1,说明系统可能已被植入后门。

二、影响范围

xz 和 liblzma 5.6.0~5.6.1 版本,可能包括的发行版 / 包管理系统有:

  • Fedora 41 / Fedora Rawhide

  • Debian Sid

  • Alpine Edge

  • x64 架构的 homebrew

  • 滚动更新的发行版,包括 Arch Linux / OpenSUSE Tumbleweed

如果您的系统使用 systemd 启动 OpenSSH 服务器,您的 SSH 认证过程可能被攻击。

非 x64 (amd64) 架构的系统不受影响。

三、

1、排查软件版本是否在受影响范围内

        您可以通过在命令行中输入 xz --version 来检查xz的版本。如果输出结果为5.6.0或5.6.1,那么您的系统可能已被植入后门。此外,值得注意的是,xz的5.6.0和5.6.1版本尚未被正式集成进Linux发行版中,目前它们主要存在于预发布版本中。同时,大部分Linux发行版中的openssh并不直接使用liblzma库,目前已知仅有Debian以及一些openssh的补丁直接使用了liblzma库。

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

四、解决方案

 将xz版本降级至 5.4.6 版本。

相关推荐

  1. RCE<span style='color:red;'>漏洞</span>

    RCE漏洞

    2024-04-03 02:50:02      43 阅读
  2. SSRF漏洞

    2024-04-03 02:50:02       39 阅读
  3. Xxe漏洞

    2024-04-03 02:50:02       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 02:50:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 02:50:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 02:50:02       87 阅读
  4. Python语言-面向对象

    2024-04-03 02:50:02       96 阅读

热门阅读

  1. 模板方法模式

    2024-04-03 02:50:02       32 阅读
  2. 我的创作纪念日

    2024-04-03 02:50:02       32 阅读
  3. 2024.4.2

    2024-04-03 02:50:02       36 阅读
  4. 全球化智能组网产品优势

    2024-04-03 02:50:02       37 阅读
  5. pyqt5 无边框窗口拖动

    2024-04-03 02:50:02       34 阅读
  6. 前端开发语言有哪些

    2024-04-03 02:50:02       41 阅读
  7. Spring OAuth2 Resource Server 配置

    2024-04-03 02:50:02       43 阅读
  8. Spring-01

    Spring-01

    2024-04-03 02:50:02      26 阅读
  9. 【nosql-redis】关于持久化的补充

    2024-04-03 02:50:02       34 阅读
  10. 关于投标的细节

    2024-04-03 02:50:02       38 阅读
  11. Nginx 配置,自定义日志格式 log_format

    2024-04-03 02:50:02       44 阅读