Apache OpenOffice 漏洞使数千万用户易受代码执行攻击
编译:代码卫士
该漏洞的编号是CVE-2021-33035,由安全研究员 Eugene Lim 发现,影响4.1.10及之前版本,补丁仅部署在 4.1.11 测试版,意味着多数版本可能易受攻击。
Lim 表示自己在基西 .dbf 文件格式的软件中查找潜在的安全漏洞时发现了该缓冲区溢出漏洞。他通过dumb fuzzing模板在目标机器上触发了该漏洞并在多个DBF处理器上进行了测试,进而发现了两个漏洞:Scalabium dBase Viewer 中的 CVE-2021-35297和下载量已达到数百万次的开源办公套件 Apache OpenOffice 中的 CVE-2021-33035。
该缓冲区溢出漏洞存在的原因是DBF文件的缓冲区大小或者由 fieldLength 确定或者由标头中的 fieldType 确定。因此,如果将超大的缓冲区复制到短整型缓冲区时就会触发溢出。
Lim 通过 dumb fuzzing 模板触发了崩溃,但由于 OpenOffice 具有地址空间布局随机化 (ASLR) 和数据执行预防 (DEP) 等防护措施,因此实现返回面响编程 (ROP) 链还需要绕过这些防护措施。
进一步分析发现,OpenOffice 中的 libxml2 模块并未通过 DEP 或 ASLR 防护措施编译,最终 Lim 通过特殊构造的 .dbf 文件即可利用该漏洞。
尽管 OpenOffice 是一款开源应用程序,意味着它可能已被很多款代码分析工具扫描过,但该漏洞未被发现是因为扫描工具查找的是套件中的 Python 和 JavaScript 代码而不是漏洞存在的 C++ 代码。Lim 指出,“这说明完整性检查自动化静态分析工具的重要性;如果工具不了解已有的代码,那么就无法找到这些漏洞。”
Lim 在5月份将漏洞告知 Apache OpenOffice,后者更新了其源代码,但并未在稳定发布版中打补丁。Lim 之前同意在8月30日发布详情的提议,后在9月18日公开。
Scalabium dBase 查看器中的漏洞在6月份修复,即收到漏洞报告的两天后修复。
@whyseu @。@HFwuhome@惊蛰 @nimo @XuZ @淡然 @Marco韬 @王孟 @Wecat@nwnλ @MOBE @湘北二两西香葱@※ @搬砖小土妞@云烟过眼 @r00t@小风 @傲雪@最好走的路是套路 @Zhao.xiaojun @浅笑淡然 @X-Star @Erick2013 @小秦同学 @X @王骏 @欢寻 @nbp@Mr. Guo
如下是本书相关讲解:
开源搜索服务 Apache Solr 出现多个高危漏洞
速修复!开源企业自动化软件 Apache OFBiz 出现严重的 RCE 漏洞
APACHE OFBIZ XML-RPC 反序列化漏洞 (CVE-2020-9496) 的复现与分析
Apache Struts 修复 OGNL 技术中可能存在的 RCE 缺陷
https://www.securityweek.com/openoffice-vulnerability-exposes-users-code-execution-attacks
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。