eMudhra证书私钥泄露:请立即更新JetBrains IDE、ReSharper、.NET工具、Toolbox App和Gateway
摘要
- 八个 eMudhra 中间证书的私钥遭到泄露。网络攻击者可能利用这些私钥冒充 JetBrains 工具所连接的网站和服务。
- JetBrains IDE、Toolbox App、Gateway 和 ReSharper 会受到影响,因为它们使用捆绑的 JetBrains Runtime(JBR)的信任存储。对于 IDE,嵌入式浏览器(JCEF)也会受到影响。操作系统更新无法防护此问题。
- Toolbox App 和 JetBrains IDE 使用后台服务
jetbrainsd。该服务内置了自己的受信任证书列表,并已在jetbrainsd0.9.9728 中单独修复。 - 截至本文发布时,我们尚未发现任何针对 JetBrains 用户利用此问题的行为。
可用的修复版本
此问题已在以下版本中修复:
- IntelliJ IDEA: 2026.3 RC、2026.2.4、2026.1.5.1、2025.3.6.2、2025.2.6.4。
- PyCharm: 2026.3 RC、2026.2.4、2026.1.5.1、2025.3.6.2、2025.2.6.3。
- PhpStorm: 2026.3 RC、2026.2.4、2026.1.5.1、2025.3.6.2、2025.2.6.3。
- RubyMine: 2026.3 RC、2026.2.4、2026.1.5.1、2025.3.6.2、2025.2.6.3。
- WebStorm: 2026.3 RC、2026.2.4、2026.1.5.1、2025.3.6.2、2025.2.6.3。
- Rider: 2026.3 EAP 9、2026.2.4、2026.1.5.3、2025.3.5.3。
- CLion: 2026.3 RC、2026.2.4.1、2026.1.5.2、2025.3.6.3、2025.2.6.3。
- DataSpell: 2026.1.3.1、2025.3.3.1、2025.2.4.1。
- DataGrip: 2026.3 RC、2026.2.6.1、2026.1.4.1、2025.3.6.1、2025.2.6.1。
- GoLand: 2026.3 RC、2026.2.4、2026.1.5.1、2025.3.5.2、2025.2.6.3。
- RustRover: 2026.3 EAP 8、2026.2.5、2026.1.4.1、2025.3.7.1、2025.2.6.1。
- Gateway: 2026.3 RC、2026.2.4、2026.1.4、2025.3.3、2025.2.6。
- ReSharper: 2026.3 EAP9、2026.2.4、2026.1.5.3、2025.3.5.3。
- Toolbox App: 3.9.1、3.8.2。
所有 IDE 的 2025.2.6.* 更新现在仅包含 JBR 修复。它们将另外获得针对 JCEF 问题的热修复。在此之前,请使用变通方法在 IDE 中禁用 JCEF(见下文说明)。
**2025.1 及更早版本的 IDE,以及 Toolbox App 3.7 及更早版本,将不会获得此修复。**您必须更新到已修复版本。
详情
2026 年 10 月,证书颁发机构 eMudhra 签发的八个中间证书的私钥遭到泄露。能够拦截您网络流量的攻击者可能利用这些私钥冒充网站和服务。
JetBrains IDE 会根据其捆绑运行时 JetBrains Runtime(JBR)的信任存储来检查证书,因此更新操作系统无法防护此问题。我们已将 Oracle 针对 CVE-2026-91403 和 CVE-2026-114820 的修复原样集成到 JBR 中。更新后的运行时将阻止这些已泄露的证书,并且不再信任以下根证书:
- emSign ECC Root CA -- G3
- emSign Root CA -- G1
- emSign Root CA -- G2
- AAA Certificate Services
在 2025.3 及更高版本的已修复版本中,嵌入式浏览器现在会接收 Chrome 的证书更新,这些更新会阻止已泄露的证书(CVE-2026-118696)。它会在 IDE 启动后不久从 Google 的更新服务器下载这些更新。如果您的网络阻止访问 Google 的更新服务器,嵌入式浏览器将仍不受保护。在这种情况下,请按以下说明将其关闭。
Toolbox App 和 JetBrains IDE 还会安装一个后台服务 jetbrainsd。其受信任证书列表内置于该服务本身,因此更新 JBR 无法修复它。我们已在 jetbrainsd 0.9.9728 中发布单独修复,对应 CVE-2026-118697。每个用户只运行一个 jetbrainsd 副本,较新版本始终会替换较旧版本。更新任何包含 jetbrainsd 0.9.9728 的应用,即可为所有 JetBrains 应用修复此问题。
您应该做什么:立即更新
修复已在 JetBrains IDE 的最新版本中提供,范围从 2025.2 到 2026.3 RC。即将发布的 2026.3 版本也将包含该修复。更新到当前版本的最新错误修复版本即可。2025.1 及更早版本不会获得修复。如果您使用其中某个版本,请更新到上述版本之一。
如果您使用 ReSharper 或其他 JetBrains .NET 工具,请将它们更新到最新版本。
Toolbox App 用户请注意: 3.7 及更早版本不会获得此修复。如果您使用的是 3.7,请更新到 3.9.1 或 3.8.2 版本。
如果您使用 JetBrains Gateway,请将其更新到以下版本之一:2026.1.4、2025.3.3、2025.2.6。
如果您直接使用 JetBrains Runtime,请更新到以下已修复构建之一:jbr25.635.79、jbr25.508.41、jbr25.329.142、jbr21.1163.125、jbr21.1038.91。
在极少数情况下,IDE 将无法再连接到证书链中包含某个已移除根证书的服务器。服务器所有者需要更换证书。
如果您无法立即更新
手动清理您的证书
这些 IDE 和 Toolbox App 捆绑的 Java 运行时仍然信任两个与 eMudhra 相关的根证书。如果您无法更新 IDE,请为其提供一份清理后的证书列表副本,并关闭其内置浏览器;该浏览器有自己无法更改的列表。这大约需要五分钟,并且完全可逆。
- 将证书列表复制:从 IDE 文件夹复制到您的主文件夹:
macOS:
<IDE>.app/Contents/jbr/Contents/Home/lib/security/cacertsWindows / Linux:<IDE>/jbr/lib/security/cacerts - 移除两个受影响的根证书,使用 IDE 的
jbr/bin文件夹中的keytool:keytool -delete -keystore <copy> -storepass changeit -alias "comodoaaaca [jdk]"keytool -delete -keystore <copy> -storepass changeit -alias "emsigneccrootcag3 [jdk]" - 打开 Help | Edit Custom VM Options,添加以下行,然后重启 IDE:
-Djavax.net.ssl.trustStore=<full path to the copy>重要: 请填写完整路径,不要使用~、变量或引号。路径错误会在不提示的情况下使您失去保护。 - 在 Settings | Tools | Server Certificates 中,确保“Accept non-trusted certificates automatically”(自动接受不受信任的证书)处于关闭状态。
- 仅限 Linux: 更新
ca-certificates软件包。
预期情况: 如果 IDE 针对某个 eMudhra 证书显示“untrusted server certificate”(不受信任的服务器证书)对话框,请点击 Reject(拒绝)。
在 IDE 中禁用 JCEF
如需在 2025.2.6.4 及更早版本中,或在您的网络阻止访问 Google 更新服务器的任何版本中规避 JCEF 问题:
- 打开 Search Everywhere -> Actions
- 输入“Registry”
- 打开 Registry
- 搜索
ide.browser.jcef.enabled键 - 将其关闭
- 重启
注意: 关闭嵌入式浏览器会影响使用它的功能,例如 Markdown 和 HTML 预览以及 Jupyter Notebook 输出。某些插件也可能无法正常工作。更新到修复版本后,请重新开启 ide.browser.jcef.enabled 并重启 IDE。
更新 jetbrainsd 后台服务
Toolbox App 和 JetBrains IDE 使用后台服务 jetbrainsd。它内置了自己的受信任证书列表,因此更新 JBR 无法修复它,上面的变通方法也不适用于它。
修复位于 jetbrainsd 0.9.9728 中。当您安装或更新已修复版本的 Toolbox App 或 IDE 并启动它时,就会获得该修复。每个用户只运行一个 jetbrainsd 副本,最新版本会替换较旧版本。因此,更新 Toolbox App 会为您的所有 IDE 修复 jetbrainsd,即使您无法更新这些 IDE 本身。
如果您无法更新 Toolbox App 或某个 IDE,请手动更新 jetbrainsd:
- 下载适用于您平台的压缩包,并使用
shasum -a 256(macOS)、sha256sum(Linux)或Get-FileHash(Windows PowerShell)校验其 SHA-256 校验和:- Linux x64:jetbrainsd-linux-x86_64-0.9.9728.tar.gz;
SHA-256: 6916c5a20e9971be55caa73dc935cbabfb002e86910f2146a2e5dd01747f6b8e - Linux ARM64:jetbrainsd-linux-aarch64-0.9.9728.tar.gz;
SHA-256: abecdf7775475fe2073b46f6f9cae1272b2b9809355cc973de70c4e552a00420 - macOS Intel:jetbrainsd.app-macos-x86_64-0.9.9728.tar.gz;
SHA-256: 2c35b0b90b4f8255de399d408ad01dd171200737f8c1aeffb6b7ba9ce11279f4 - macOS Apple silicon:jetbrainsd.app-macos-aarch64-0.9.9728.tar.gz;
SHA-256: a26c459e8665a9c1bcc229384476527e1be8e7e3c1230a59e5a3eb3a8108fd08 - Windows x64:jetbrainsd-windows-x86_64-0.9.9728.tar.gz;
SHA-256: 06b8dd29aa5c99fa9f17adfbc4417e5e8b13599aa1d8e45eea1d9590c8c493d0 - Windows ARM64:jetbrainsd-windows-aarch64-0.9.9728.tar.gz;
SHA-256: d5186973f7ddc803d4cabbe03202e1fed942cfc64628ef65af104bb664ee8865
- Linux x64:jetbrainsd-linux-x86_64-0.9.9728.tar.gz;
- 解压压缩包并运行一次
jetbrainsd,不要带任何参数。它会替换旧版本。解压请使用tar -xzf。在 Windows 10 及更高版本中,tar已内置。- Linux:
./jetbrainsd/bin/jetbrainsd - macOS:
./jetbrainsd.app/Contents/MacOS/jetbrainsd - Windows:
.\jetbrainsd\bin\jetbrainsd.exe
- Linux:
- 检查已安装版本。 应为 0.9.9728 或更高版本:
- Linux:
"${XDG_DATA_HOME:-$HOME/.local/share}/JetBrains/Daemon/bundles/current/jetbrainsd/bin/jetbrainsd" --version - macOS:
"$HOME/Library/Application Support/JetBrains/Daemon/bundles/current/jetbrainsd.app/Contents/MacOS/jetbrainsd" --version - Windows(PowerShell):
& "$env:LOCALAPPDATA\JetBrains\Daemon\bundles\current\jetbrainsd\bin\jetbrainsd.exe" --version
- Linux:
另请检查
您的项目 JDK 以及任何自带运行时的工具(例如 Node.js、Python 或 Go)使用各自的信任存储。请按照其供应商的建议进行更新。
支持
如果您对本问题有任何疑问,或在更新时遇到困难,请联系我们的支持团队。