Sploitus

Exploit for CVE-2022-0337-PoC-Google-Chrome-Microsoft-Edge-Opera

kitploit · 2026-08-25

Exploit Code

MARKDOWN182 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-PULICZEK-CVE-2022-0337-POC-GOOGLE-CHROME-MICROSOFT-EDGE-OPERA
🤝 展示您的支持 - 如果您喜欢本内容,请给一个 ⭐️ | 在 Twitter 上分享 | 关注我 ![](https://img.shields.io/badge/Twitter-%231DA1F2.svg?&style=flat&logo=twitter&logoColor=white) ![](https://img.shields.io/badge/YouTube-%23FF0000.svg?&style=flat&logo=youtube&logoColor=white)

* * *

# **CVE-2022-0337 Google Chrome、Microsoft Edge 和 Opera 系统环境变量泄露漏洞**

# 📝 描述

成功利用此漏洞可导致用户存储在系统环境变量中的秘密泄露。Chromium 92 版本中存在一个安全漏洞,并在 97 版本中修复。有多个基于 Chromium 引擎的网页浏览器,例如 Google Chrome、Microsoft Edge、Opera 和 Brave。除了 Brave 外,它们都存在漏洞。该漏洞存在于文件系统访问 API 中,更具体地说是 window.showSaveFilePicker() 方法。

* * *

CVE 版本: **CVE-2022-0337**

致谢: **Maciej Pulikowski**

奖励: **来自 Google VRP 的 $10,000**

* * *

## 浏览器漏洞版本:

![Chrome](https://assets.kitploit.com/production/public/readmes/38838/e21b5627de9316457ebcbb5849497540a876a757ee1b99f8a42be5cdde03e590.png)| ![Edge](https://assets.kitploit.com/production/public/readmes/38838/a189a6054451f74073ba27c9e0ff35f46402263a2f883a74b9f6a89bb42b7975.png)| ![Opera](https://assets.kitploit.com/production/public/readmes/38838/907f47f584ca0f83446680a2ce1b4dc4dc81ac2e2bec0090e5b4ac98ccade4d4.png)| ![Firefox](https://assets.kitploit.com/production/public/readmes/38838/98c4837a6cdce28d66cd51ea1e13cf130a5ac7bd097579a6714ad8345c16d3c9.png)| ![Brave](https://assets.kitploit.com/production/public/readmes/38838/fc67ee59d32612dc08eac9461fae8840441e888cceae7c07465ebdbfa58c5d63.png)  
---|---|---|---|---  
92-96 存在漏洞 ❗️❗️   
97+ 已修复(安全) ✔| 92-96 存在漏洞 ❗️❗️  
97+ 已修复(安全) ✔| 78-82 存在漏洞 ❗️❗️  
82 已修复(安全) ✔| 安全 ✔| 安全 ✔  
  
检查您的浏览器版本:

  * Google Chrome: `chrome://version/`
  * Microsoft Edge: `edge://version/`
  * Opera: `opera://update`



## 操作系统:

**仅 WINDOWS** 存在漏洞。Linux 和 Mac 是安全的。

# 📺 YouTube 概念验证

https://www.youtube.com/watch?v=q7OIEWtalg8

![PoC 视频](https://assets.kitploit.com/production/public/readmes/38838/df6947b5293d899b57ef42f1c6017f8028560c257c8fd97f8c7543b9cf49f376.png)

**感谢点赞和订阅 😀👍**

# 👨‍💻 概念验证代码

## 最简单的一个

![概念验证 gif](https://assets.kitploit.com/production/public/readmes/38838/7e4c335e4d63d719350a58d916cb326369db9c12301b0fd1de71566c46f627b7.gif)

  1. 在 Devtools 中写入:



root@kitploit:~
    
    
    let a = await window.showSaveFilePicker({suggestedName:'%username%'});
    a.name;
    

  2. 保存文件
  3. 您的用户名应该会出现



示例中使用了 **%username%** 环境变量。它会返回已登录的 Windows 用户名。此外,还有更多有趣的环境变量:

以下是一些示例:

  * AWS_SECRET_ACCESS_KEY
  * AZURE_CLIENT_SECRET
  * binance_secret
  * GITHUB_TOKEN
  * GOOGLE_API_KEY



还有更多...

因此攻击者可以访问目标的 AWS 服务、Github 账户或 Binance 令牌(用于提现)等等...

在我的仓库中查看更多环境变量中的秘密:

🦄🔒 环境变量中的秘密精选列表 🖥️

![🦄🔒 环境变量中的秘密精选列表 🖥️](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)

* * *

## 精心制作的 HTML(带改进)

上一个示例是在本地 Google Chrome Devtools 中运行的。

显然,攻击者可以制作一个特殊的 HTML 文件(网站)来成功利用此漏洞。

**env.html** \- 是仓库中一个精心制作的特殊 HTML 示例。

但是,用户真的需要下载文件吗?

**是的** ,然而,攻击者可以创建一个网站,鼓励用户按住键盘上的 **ENTER** 键 2 秒钟,以运行并接受保存文件对话框。因为 Windows 对话框默认聚焦在保存按钮上,文件只会闪烁一下就被保存了。

![网站上的 env 示例 \(1\)](https://assets.kitploit.com/production/public/readmes/38838/4f82a52715794f64ad474ad85b793f714f7338838f6bf8a3873de5954ae99623.gif) _*.gif 来自 Opera(Chrome 和 Edge 已修复)_

总之,用户按住键盘上的 **ENTER** 键 2 秒钟后,可能导致其系统环境变量泄露。这是一个重大问题,因为用户可能在系统环境变量中存储重要秘密,例如访问其 AWS 服务、Github 账户或 Binance 的凭证。

# 🧠 从文章中记住的要点:

  * 环境变量可以存储秘密,例如令牌、API 密钥、秘密
  * 如果 payload **"%USERNAME%"** 或 **"$:USERNAME"** 或 **"${USERNAME}"** 或 **"$USER"** 返回真实的用户名,则目标存在漏洞



# 🔨 Chromium 中的修复

我给自己设定了修复这个漏洞的挑战。在此,我想强调我不是一名 C++ 开发者 😎。

来源:https://bugs.chromium.org/p/chromium/issues/detail?id=1247389#c9

一种解决方案就是将 suggestedName 中的字符 **%** 替换为 **_** 。这应该能解决问题。

### 我的解决方案:

![图片](https://assets.kitploit.com/production/public/readmes/38838/40a954ce72c50632d7d4ef3bf64dd5dbe6cf5293889bbe508432ec5e3c3f4188.png)

可以插入到:

https://source.chromium.org/chromium/chromium/src/+/main:content/browser/file_system_access/file_system_chooser.cc;l=238?q=ResolveSuggestedNameExtension&ss=chromium%2Fchromium%2Fsrc

结果如下:

## 修复前:

![图片](https://assets.kitploit.com/production/public/readmes/38838/83f85a0ba7f67716b8df918eee2517abb08c158b2c00485dbc206e3eb6354059.png)

## 我的修复后:

![图片](https://assets.kitploit.com/production/public/readmes/38838/5f9f02bbf5dcab22e43485d2a56390c5411aa3a5eb2acfa99e6eff928623cd8a.png)

确实解决了问题,但这不是插入代码的最佳位置 😋 。不过,我很高兴能够自己修复它 😎

最终修复可以在这里找到:

https://bugs.chromium.org/p/chromium/issues/detail?id=1247389#c12

# 🌌 时间线

  * [07.09.2021, 22:40 GMT+2] **Maciej Pulikowski 报告了漏洞**
  * [07.09.2021, 23:36 GMT+2] **漏洞被接受(优先级:1,严重性:高)**
  * [08.11.2021, 01:30 GMT+1] **我提交了针对 Chromium 源码的可能修复代码**
  * [10.12.2021, 18:09 GMT+1] **已修复**
  * [7.01.2022, 02:09 GMT+1] **获得 $10,000 奖励**
  * [18.03.2022, 18:30 GMT+1] **Google 移除了安全视图限制**



# 💻 有用的链接

  * Issue 1247389: 安全: 可能看到用户的系统环境变量,如秘密、令牌或密钥
  * 🦄🔒 环境变量中的秘密精选列表 🖥️
  * 文件系统访问 API:简化对本地文件的访问
  * 文件系统访问 - 文档
  * 文件系统访问 Web API - Chromium 安全模型



# 🤝 展示您的支持

🤝 展示您的支持 - 如果您喜欢本内容,请给一个 ⭐️ | 在 Twitter 上分享 | 关注我 ![](https://img.shields.io/badge/Twitter-%231DA1F2.svg?&style=flat&logo=twitter&logoColor=white) ![](https://img.shields.io/badge/YouTube-%23FF0000.svg?&style=flat&logo=youtube&logoColor=white)

  


# ✔️ 免责声明

本项目仅可用于教育目的。未经授权针对目标系统使用此软件是违法的,滥用此软件造成的任何损害作者概不负责。