Red Hat D-BUS(也称DBus)是美国红帽(Red Hat)公司的一个免费的消息总线模块,它提供了简单应用程序互相通讯的途径,是freedesktop.org项目的一部分。 D-BUS的默认配置错误的设置了send_requested_reply和receive_requested_reply规则,这可能允许发送和接收本应阻断的消息。 D-BUS的默认配置中包含有以下行: 这些规则的初衷是无需明确许可便允许发送所有的回复,但实际的情况是:当认为要发送消息时,首先要进入policy.c中的bus_client_policy_check_can_send,在这里会检查所有规则,但只会考虑SEND规则(893行),因此上述规则中的第一条仍有效。现在检查规则中可能出现的各种情况,但除了send_requested_reply之外不存在其他情况。在909行只对回复的消息执行了上述操作,也就是对于正常的消息,代码会一直继续直到1028行,该行设置了allowed标记。如果没有其他规则的话,会一直允许继续执行。
Red Hat D-BUS(也称DBus)是美国红帽(Red Hat)公司的一个免费的消息总线模块,它提供了简单应用程序互相通讯的途径,是freedesktop.org项目的一部分。 D-BUS的默认配置错误的设置了send_requested_reply和receive_requested_reply规则,这可能允许发送和接收本应阻断的消息。 D-BUS的默认配置中包含有以下行: 这些规则的初衷是无需明确许可便允许发送所有的回复,但实际的情况是:当认为要发送消息时,首先要进入policy.c中的bus_client_policy_check_can_send,在这里会检查所有规则,但只会考虑SEND规则(893行),因此上述规则中的第一条仍有效。现在检查规则中可能出现的各种情况,但除了send_requested_reply之外不存在其他情况。在909行只对回复的消息执行了上述操作,也就是对于正常的消息,代码会一直继续直到1028行,该行设置了allowed标记。如果没有其他规则的话,会一直允许继续执行。