【问题标题】:keyctl commands throw 'undefined symbol: dlopen' errorskeyctl 命令抛出“未定义符号:dlopen”错误
【发布时间】:2013-02-18 18:33:44
【问题描述】:

我在生产服务器上运行 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 库的二进制文件?

【问题讨论】:

标签: centos5


【解决方案1】:

看: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-0871http://blog.configserver.com/index.php?itemid=716

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

【讨论】:

    【解决方案2】:
    LD_PRELOAD=/lib64/libdl-2.5.so keyctl show
    

    【讨论】:

    • LD_PRELOAD 完成了 libdl 库的加载。谢谢你的把戏。现在,我回到了分段错误:S.
    • root@server [~]# LD_PRELOAD=/lib64/libdl-2.5.so keyctl show Segmentation fault
    猜你喜欢
    • 2012-10-10
    • 1970-01-01
    • 2010-10-03
    • 2013-01-15
    • 2021-03-08
    • 2020-12-04
    • 2015-12-04
    相关资源
    最近更新 更多