CVE:CVE-2007-3149
CNNVD:CNNVD-200706-151
Sudo是一款许用户以其他用户权限安全地执行命令的程序，广泛使用在Linux和Unix操作系统下。
 sudo软件包可能内嵌使用Kerberos 5进行用户认证。如果用户能够正确地认证到sudo的话，sudo认证代码中的错误可能导致本地root用户权限入侵。
在对Kerberos服务器认证用户口令时，需要执行两步：
1) 使用用户的口令从KDC(Kerberos服务器)获得凭据，这证明用户输入的口令满足KDC，并对应用程序返回ticket。
2) 使用所返回的凭据请求访问本地服务，并确认KDC对该服务所返回的的凭据是正确的。如果没有执行这步的话，就无法区分请求是来自于对所有请求都返回yes的伪造KDC还是来自于真正的KDC。
sudo执行了第二步，但如果由于未知本地服务密钥而导致该步失败的话，sudo仍允许用户获得root用户权限。例如，在没有keytab文件的主机上：
$ sudo /bin/sh
Password for tls@EXAMPLE.ORG: 
sudo: kerb5: host service key not found: Unknown error -1765328203
#
此外如果sudo链接到libkrb5的话，即使没有将系统配置为打开kerberos，攻击者仍可以通过环境变量覆盖kerberos客户端配置文件(krb5.conf)，认证到伪造的KDC，然后获得root用户s权限。
solution:Upgrade mit kerberos_5 to a higher version than -; Upgrade todd_miller sudo to a higher version than 1.6.8_p12,and avoid the version 1.6.8_p12