微慑信息网

Apache HTTP Server路径穿越漏洞 (CVE-2021-41773)

漏洞概述

2021年10月5日,Apache官方发布了一批漏洞信息,其中Apache HTTP Server路径穿越漏洞CVE-2021-41773引起了我们的注意:

CVE-2021-41773

https://httpd.apache.org/security/vulnerabilities_24.html

漏洞在v2.4.50版本中进行了修复,并且只影响该版本。从Apache官方声明来看,攻击者可以使用路径遍历攻击将URL映射到预期文档根以外的文件。如果文档根目录以外的文件不受`require all denied`保护,则攻击者可以访问这些文件。

漏洞分析

下面着手分析一下这个漏洞的成因,直接看源代码可能很难找到漏洞位置,这里通过二进制补丁对比来找到关键函数,可以看到发生变化的函数不多,就下面几个:

容易定位到函数`ap_normalize_path`,其增加了一段判断:

补丁前的代码:

补丁后的代码(增加了对`%2e`进行了处理):

看反汇编有点晕,直接定位到源代码就非常清楚了,在老版本中只处理了`/xx/../`这样的路径,而没有正确处理`/xx/.%2e/`,导致`%2e`被带入后续的处理,发生目录穿越。

v2.4.49版本的源代码:

v2.4.50版本中新增的代码:

漏洞复现

理解漏洞原理之后,复现漏洞就很简单了。

后记

这个漏洞是一个非常典型的目录穿越漏洞,发生在Apache这样应用广泛的服务端软件中实在令人匪夷所思。因此我们继续看了httpd更早期的版本,发现在早期版本中并没有`ap_normalize_path`这个函数,该函数是在v2.4.49版本中引入的。该案例告诉我们:新功能的引入可能会带来不确定的安全隐患。

参考

https://httpd.apache.org/security/vulnerabilities_24.html

https://dlcdn.apache.org/httpd/CHANGES_2.4.50

 

 

赞(0) 打赏
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » Apache HTTP Server路径穿越漏洞 (CVE-2021-41773)

微慑信息网 专注工匠精神

微慑信息网-VulSee.com-关注前沿安全态势,聚合网络安全漏洞信息,分享安全文档案例

访问我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册