CVE-2021-3449漏洞原理分析与复现
CVE-2021-3449空指针引用漏洞原理分析
漏洞描述
该漏洞为公开漏洞,漏洞编号为CVE-2021-3449,漏洞类型为空指针引用漏洞,存在于OpenSSL的1.1.1-1.1.1j版本,包含11.1.4目标PA设备中的开源组件OpenSSL版本1.1.1g。官方描述信息如下:

漏洞原理
当TLS 1.2服务器在重新协商时,若客户端发送的ClientHello消息省略了初始握手存在的signature_algorithms扩展,但包含signature_algorithms_cert扩展,会触发空指针解引用,导致服务崩溃(拒绝服务攻击)。
发送恶意ClientHello请求后,在下图代码1732行tls1_lookup_sigalg函数位置发生空指针引用漏洞,其中由于signature_algorithms被省略,导致ptmp指针为空,出现空指针引用漏洞。

漏洞验证
当建立renegotiation信息时,存在空指针引用漏洞。验证漏洞POC报文如下:

发送POC,测试程序ASAN检测到空指针引用错误,产生崩溃时的函数调用链如下图:

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Small Utopia!
评论