Microsoft Edge 被曝在内存中以明文存储所有密码——即使用户未使用密码管理器
📅 2026-05-05 · 📂 Security · ⏱ 阅读约 8 分钟
漏洞概述
2026 年 5 月 4 日,安全研究员 L1v1ng0ffTh3L4N 在 Twitter 上披露了一个严重的 Microsoft Edge 安全漏洞:Edge 会在进程内存中以明文形式存储用户保存的所有密码——包括那些用户从未在密码管理器界面中主动查看过的条目。
这一发现在 Hacker News 上迅速获得 459 个点赞和 159 条评论,登顶当日最热门安全话题。截至目前,微软尚未发布官方回应或补丁。
MiniDumpWriteDump API 或 procdump 工具抓取 Edge 的内存转储,并以明文方式提取全部已保存密码。
技术细节:为什么这个问题很严重
现代浏览器密码管理器的工作原理通常是这样的:
- 密码在磁盘存储时会被加密(Windows 上使用 DPAPI)
- 密码在内存使用时理论上也应受到保护(如 Windows 的
CryptProtectMemory或 Linux 上的mlock+ 加密缓冲区) - 只有在用户主动触发"查看密码"操作时才应解密到内存
Edge 的问题在于:它似乎将所有已保存的密码在浏览器启动时一次性解密并保留在进程堆内存中,从未主动擦除。这意味着:
- 不需要用户交互——即使你从不用密码自动填充功能,密码也在内存中
- 低门槛利用——任何一个能运行 PowerShell 或 Sysinternals 工具的用户或恶意软件都能执行内存转储
- 长期暴露——Edge 进程通常会被用户长时间保持打开
攻击场景
场景一:同机恶意软件
最常见的攻击路径。如果用户安装了看似无害的免费软件(附带恶意载荷),恶意软件只需运行:
# 使用 Sysinternals Procdump
procdump -ma msedge.exe edge.dmp
# 或使用 PowerShell
powershell -Command "Get-Process -Name msedge | ForEach-Object { \$_.MainModule.FileName -eq 'msedge.exe' } | Out-File edge.dmp"
然后从转储文件中使用简单的字符串搜索即可提取所有明文密码。
场景二:共享/公共计算机
在公司、学校或网吧等共享环境中,如果上一个用户未完全关闭 Edge,下一个用户(或 IT 管理员)可以轻松抓取内存转储。
场景三:远程桌面/虚拟机
在 RDP 会话或虚拟机中,具有宿主级访问权限的攻击者可以直接读取虚拟机中 Edge 进程的内存。
受影响版本
根据目前的信息,该问题可能影响所有基于 Chromium 的 Microsoft Edge 版本(稳定版、Beta 版、Dev 版和 Canary 版)。尚不确定该问题是否持续了多个版本,但考虑到密码存储机制的设计,这可能是一个长期存在的架构性漏洞。
| 浏览器 | 状态 | 说明 |
|---|---|---|
| Microsoft Edge (Chromium) | 受影响 | 所有已保存密码在内存中明文存储 |
| Google Chrome | 未确认 | Chrome 使用类似机制,但可能做了额外保护 |
| Firefox | 未确认 | Firefox 使用主密码(Master Password)机制提供额外保护层 |
| Brave / Vivaldi / Opera | 待确认 | 同为 Chromium 内核,可能面临类似风险 |
如何检查你是否受影响
Edge 会在以下情况存储密码:
- 你在登录网站时选择了"保存密码"
- 你手动在设置 → 密码中保存了凭据
- 你通过 Edge 的自动填充功能登录过任何网站
可以打开 edge://settings/passwords 查看已保存的密码列表。如果你看到任何条目,你的密码就在 Edge 进程的内存中以明文形式存在。
临时防护措施
在微软发布官方修复之前,你可以采取以下措施保护自己:
1. 使用独立的密码管理器
停止使用 Edge 的内置密码管理器,改用专门的解决方案:
- Bitwarden——开源、支持自托管、端到端加密
- 1Password——闭源但安全审计完善,使用安全远程密码(SRP)协议
- KeePassXC——本地存储,完全离线,数据库文件使用 AES-256 加密
2. 清除 Edge 已保存的密码
转到 edge://settings/passwords,点击每个已保存条目右侧的菜单,选择"删除"。然后关闭浏览器的密码保存提示:
设置 → 密码和自动填充 → 关闭"提供保存密码"
3. 频繁关闭 Edge 进程
在离开电脑前彻底关闭所有 Edge 窗口(不仅仅是最小化)。检查任务管理器中确认 msedge.exe 进程已终止。
4. 使用 Edge 的"严格"安全模式
在 edge://settings/privacy 中将安全级别设为"严格",这至少可以减少一些攻击面。
5. Windows 用户:开启内核隔离
Windows 安全中心 → 设备安全性 → 内核隔离 → 开启"内存完整性"。这可以防止某些直接内存访问攻击。
与同类漏洞的比较
这不是浏览器第一次出现内存中的密码泄露问题:
- 2019 年 Chromium 漏洞——Google Chrome 被发现将密码保留在内存中直到进程终止,导致通过
/proc/self/mem可读 - 2021 年 macOS Safari——Safari 的自动填充功能在内存中泄露了密码哈希
- 2023 年 KeePass CVE-2023-32784——KeePass 在主密码输入时在内存中留下明文痕迹(已修复)
Edge 的问题范围更广:它不是某个特定情况下的泄露,而是持续性的、所有密码的、一直存在的明文暴露。
行业反应与后续
安全社区对此反应强烈:
- 多位安全研究员确认了该发现的可复现性
- Hacker News 讨论中,用户呼吁微软重新设计 Edge 的密码内存管理
- 部分用户建议使用微软自己的 Authenticator 应用作为替代方案
- 尚未看到微软安全响应中心(MSRC)的正式分配 CVE 编号
从技术角度看,修复路径应包含:
- 在密码使用后立即从内存中擦除敏感缓冲区
- 使用 Windows
CryptProtectMemory加密堆中的密码数据 - 在 Edge 进程进入挂起或后台状态时主动清除密码缓存
- 实现敏感内存页的
VirtualLock+VirtualProtect保护
给开发者和安全团队的建议
如果你在企业环境中管理 Edge:
- 通过组策略禁用 Edge 内置密码管理器(
PasswordManagerEnabled设为 false) - 强制使用企业密码管理方案(如 Azure AD 集成的第三方密码管理器)
- 在终端检测和响应(EDR)规则中添加对 procdump / 内存转储行为的告警
- 对敏感系统启用 Credential Guard
总结
Microsoft Edge 的明文密码存储漏洞是所有 Edge 用户当前面临的最严重的浏览器安全问题之一。在微软发布官方修复之前,最安全的做法是:立即切换到独立密码管理器,清除 Edge 中的已保存密码。
这个事件也再次提醒我们:浏览器内置功能虽然方便,但不一定安全。对于密码这类高价值数据,使用专门的安全工具总是更稳妥的选择。
我们将持续关注此事件的进展,一旦微软发布官方补丁或详细说明,会及时更新本文。
参考资料
Hacker News 讨论 (459 pts) ·
原始披露(Twitter/X) ·
Microsoft Edge 安全设置: edge://settings/privacy
最后更新: 2026-05-05