Qt ‘QSslSocket::sslErrors()’证书校验安全漏洞

漏洞起因
设计错误
危险等级

影响系统
QT 4.8.5
Qt 4.7.6
Qt 4.6.5

不受影响系统

危害
远程攻击者可以利用漏洞进行网络钓鱼等攻击。

攻击所需条件
攻击者必须访问QT库应用。

漏洞信息
QT是一款跨平台的C++应用程序开发框架。
QT库可在运行时时通过动态加载库与多个OpenSSL版本一起工作,但是由于openssl 0.9.8和openssl 1.0.0版本间不兼容结构布局变化,在证书校验回调过程中QT会从错误的内存地址获取错误代码。通常此结果会造成连接错误,但SSL错误列表中会包含QSslError::NoError来代替原有的错误原因,这可导致用户忽略原来的错误而继续信任的访问网站。

测试方法

厂商解决方案
用户可参考如下厂商提供的安全补丁:
https://codereview.qt-project.org/#change,42461

漏洞提供者
Shane Kearns

评论关闭。