0

我在生产服务器上运行 Centos 5.8。我有一个需要使用 keyctl 命令的应用程序,但是每次应用程序调用(或我调用)该命令时,我都会遇到一些错误。

第一个错误是这样的:

root@server [~] keyctl show
segmentation fault

然后,我使用 yum 重新安装了 keyutils 二进制文件。这些是我在服务器上的 keyutils 包:

root@server [~]# rpm -qa | grep keyutils 
keyutils-libs-1.2-1.el5 
keyutils-libs-1.2-1.el5 
keyutils-1.2-1.el5 
keyutils-libs-devel-1.2-1.el5

现在,我有另一个不同的错误:

root@server [~]# keyctl show
keyctl: symbol lookup error: /lib64/libkeyutils.so.1: undefined symbol: dlopen

我检查了keyctl的库,没有libdl。

root@server [~]# ldd /bin/keyctl  
linux-vdso.so.1 => (0x00007fffcc5fd000) 
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00000033df000000) 
libc.so.6 => /lib64/libc.so.6 (0x0000003d7ae00000) 
/lib64/ld-linux-x86-64.so.2 (0x0000003d7aa00000)

所有使用的库都很好。

root@server [~]# ls -al /lib64/libkeyutils* 
-rwxr-xr-x 1 root root 9472 Jan 6 2007 /lib64/libkeyutils-1.2.so* 
lrwxrwxrwx 1 root root 18 Nov 21 07:56 /lib64/libkeyutils.so.1 -> libkeyutils.so.1.9* 
-rwxr-xr-x 1 root root 34584 Jan 6 2007 /lib64/libkeyutils.so.1.9*

root@server [~]# ls -al /lib64/libdl* 
-rwxr-xr-x 1 root root 23360 Aug 27 08:59 /lib64/libdl-2.5.so* 
lrwxrwxrwx 1 root root 12 Nov 16 02:01 /lib64/libdl.so.2 -> libdl-2.5.so* 
root@server [~]#

你以前见过这个问题吗?我尝试在其他发行版上运行相同的版本,它可以工作。

我想重新安装此服务器,但我不能,因为它是生产服务器。

有没有办法可以将共享库添加或链接到已经链接到其他 .so 库的二进制文件?

4

2 回答 2

6

看:http: //blog.solidshellsecurity.com/2013/02/08/sshd-spam-rootkit-lib64libkeyutils-so-1-9/

似乎没有像 libkeyutils.so.1.9 这样的合法文件,它是一个 rootkit,这个库的最新合法版本是 CentOS 6.3(最终版)上的 libkeyutils.so.1.3。

rm -f /lib64/libkeyutils.so.1.9
ldconfig
/etc/init.d/sshd restart

在所有 CentOS 和 RedHat 内核中还存在一个疑似(截至目前)未修补的用户升级特权漏洞:https ://access.redhat.com/security/cve/CVE-2013-0871和http://blog.configserver.com /index.php?itemid=716

您可能还需要重新安装 SSH:

于 2013-02-18T10:17:51.770 回答
0
LD_PRELOAD=/lib64/libdl-2.5.so keyctl show
于 2013-01-04T20:39:53.550 回答