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的应用受骗验证了特制的签名的话,就可能会终止。
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
<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 <dbus/dbus.h>
int main ()
{
return !dbus_signature_validate("a{(ii)i}", NULL);
}