Asterisk是开放源码的软件PBX,支持各种VoIP协议和设备。 Asterisk计算管理器ID的方式存在错误,允许攻击者相对容易的预测很多HTTP查询所使用的管理器ID。 会话id是在AsteriskGUI HTTP服务器中生成的。当使用Glibc时,rand()和random()的实现和状态是共享的。Asterisk使用random()发布MD5 digest认证挑战并用malloc的指针rand()位或运算以生成AsteriskGUI会话标识符。攻击者可以通过检索32个连续的挑战同步到random(),然后预测所有之后对random()和rand()调用的输出。由于malloc所返回的指针最多有21位的熵,因此攻击者仅需平均猜测1448个会话标识符就可以窃取已创建的会话。
Asterisk是开放源码的软件PBX,支持各种VoIP协议和设备。 Asterisk计算管理器ID的方式存在错误,允许攻击者相对容易的预测很多HTTP查询所使用的管理器ID。 会话id是在AsteriskGUI HTTP服务器中生成的。当使用Glibc时,rand()和random()的实现和状态是共享的。Asterisk使用random()发布MD5 digest认证挑战并用malloc的指针rand()位或运算以生成AsteriskGUI会话标识符。攻击者可以通过检索32个连续的挑战同步到random(),然后预测所有之后对random()和rand()调用的输出。由于malloc所返回的指针最多有21位的熵,因此攻击者仅需平均猜测1448个会话标识符就可以窃取已创建的会话。