eMudhra证书遭泄露:请立即更新您的JetBrains IDE、ReSharper、.NET工具、Toolbox App和Gateway

eMudhra证书遭泄露:请立即更新您的JetBrains IDE、ReSharper、.NET工具、Toolbox App和Gateway

💡 原文英文,约1400词,阅读约需5分钟。
📝

内容提要

eMudhra八张中间证书私钥泄露,攻击者可借此冒充网站。JetBrains IDE、Toolbox App、Gateway和ReSharper因使用内置JBR信任库而受影响,更新操作系统无效。修复已包含在2025.2及以上各产品最新版本中,后台服务jetbrainsd需0.9.9728。2025.1及更早版本不再修复,须升级。无法立即更新者可手动清理证书、关闭JCEF或手动更新jetbrainsd。

🔎

延伸解读

为何更新操作系统无效

JetBrains IDE 和 Toolbox App 使用内置 JetBrains Runtime(JBR)的信任库,而非操作系统的证书库。因此,即使操作系统已更新,这些工具仍可能信任被泄露的 eMudhra 中间证书。攻击者若拦截网络流量,便可冒充相关服务。修复需更新 IDE 或手动清理 JBR 证书列表,仅靠系统更新无法防护。

jetbrainsd 需单独修复

Toolbox App 和 IDE 安装的后台服务 jetbrainsd 拥有独立的内置信任列表,更新 JBR 不会修复它。该服务已单独修复于 0.9.9728 版本。每个用户仅运行一个 jetbrainsd 实例,新版本会替换旧版本。因此,更新 Toolbox App 即可为所有 IDE 修复该服务,即使 IDE 本身未更新。

无法立即更新的临时措施

若无法立即升级,可手动清理证书:复制 IDE 的 cacerts 文件,用 keytool 删除两个受影响的根证书,并通过 VM 选项指定清理后的信任库。同时需关闭 JCEF 内置浏览器,因其证书列表无法修改。注意关闭 JCEF 会影响 Markdown 预览、Jupyter 输出等功能,更新后应重新开启。

旧版本与网络限制的注意事项

2025.1 及更早的 IDE 版本、Toolbox App 3.7 及更早版本将不再获得修复,必须升级到受支持版本。此外,2025.3 及之后版本的嵌入式浏览器依赖从 Google 更新服务器下载证书;若网络屏蔽该服务器,浏览器将保持未受保护状态,此时应关闭 JCEF。项目使用的其他运行时(如 Node.js、Python)也需按各自厂商建议更新。

❓

Q&A

eMudhra证书泄露会影响哪些JetBrains产品?

受影响的JetBrains产品包括:JetBrains IDE(如IntelliJ IDEA、PyCharm、PhpStorm、RubyMine、WebStorm、Rider、CLion、DataSpell、DataGrip、GoLand、RustRover)、ReSharper等.NET工具、Toolbox App以及Gateway。这些产品使用内置的JetBrains Runtime(JBR)信任库,因此即使更新操作系统也无法防护。

为什么更新操作系统不能解决eMudhra证书泄露问题?

因为JetBrains IDE和Toolbox App等使用内置的JetBrains Runtime(JBR)信任库来验证证书,而不是操作系统的信任库。所以即使更新了操作系统,这些工具仍然信任被泄露的eMudhra中间证书,无法防御攻击。

哪些JetBrains产品版本已经修复了eMudhra证书泄露问题?

修复已包含在2025.2及以上各产品的最新版本中,例如IntelliJ IDEA 2025.2.6.4、PyCharm 2025.2.6.3、Toolbox App 3.9.1或3.8.2、Gateway 2025.2.6、ReSharper 2025.3.5.3等。具体版本列表请参考官方公告。2025.1及更早版本不再修复,必须升级。

如果无法立即更新JetBrains IDE,有哪些临时缓解措施?

可以手动清理证书:复制IDE的cacerts文件到用户目录,使用keytool删除两个受影响的根证书(comodoaaaca [jdk]和emsigneccrootcag3 [jdk]),然后在VM选项中指定该副本路径,并关闭自动接受非信任证书。同时,在IDE注册表中禁用JCEF(ide.browser.jcef.enabled),并手动更新jetbrainsd后台服务到0.9.9728版本。

jetbrainsd是什么?如何更新它?

jetbrainsd是Toolbox App和JetBrains IDE使用的后台服务,它有自己的内置信任证书列表,因此更新JBR不会修复它。修复版本是jetbrainsd 0.9.9728。更新Toolbox App或任一IDE到修复版本并启动后,会自动更新jetbrainsd。如果无法更新,可以手动下载对应平台的压缩包,校验SHA-256后解压运行一次即可替换旧版本。

禁用JCEF会有什么影响?更新后如何恢复?

禁用JCEF(嵌入式浏览器)会影响使用它的功能,例如Markdown和HTML预览、Jupyter笔记本输出,部分插件也可能无法正常工作。更新到修复版本后,在注册表中将ide.browser.jcef.enabled重新开启并重启IDE即可恢复。

🏷️

标签

➡️

继续阅读