Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessEmbed malicious HTML/JS in package docstring
-
DeliveryVictim installs package into PyCharm project
-
ExploitVictim triggers Quick Documentation on affected symbol
-
ExecutionUnsanitized markup renders in IDE panel
-
PersistScript executes in PyCharm process context
-
ImpactAccess IDE-accessible credentials or files
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The vulnerability requires the victim to be running JetBrains PyCharm prior to version 2026.2.1 on their local workstation. The critical trigger condition is the user actively invoking the Quick Documentation feature (e.g., via F1, Ctrl+Q, or hovering) on a symbol whose documentation contains malicious HTML or JavaScript - this is the UI:R interaction. The malicious documentation must be reachable from within the open project, either via a directly installed package, a transitive dependency, or a locally checked-out library. Exploitation is limited to the IDE process context (S:U, scope unchanged); it does not automatically escalate to OS-level privileges. No network exposure is required. Factors that limit exploitation: the developer must actively trigger Quick Documentation on the specific malicious symbol, the attacker must control a package or file that the victim's project references, and impact is bounded to the IDE process rather than the broader system. |
| Impact | The CVSS base score of 4.4 (Medium) reflects a limited-impact, local-vector, user-interaction-required vulnerability. AV:L places the attack surface squarely within the developer's workstation, AC:L indicates no special exploit complexity, and UI:R means the victim must actively trigger Quick Documentation. The confidentiality and integrity impacts are both Low (C:L/I:L), and there is no availability impact. No EPSS data was provided, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. However, the RCE and XSS tags warrant attention: while CVSS scores the intrinsic severity as medium, the realistic supply-chain attack vector - where a malicious PyPI package embeds exploit code in its docstrings - elevates practical risk for developers who routinely inspect unfamiliar library documentation. The PR:N metric is notable: the attacker requires no system privileges, only that the victim open a project referencing malicious content. The low C/I impact ratings are consistent with IDE process-level access rather than OS-level compromise, but in practice IDE processes often hold authentication tokens, SSH keys, and environment variables. Overall this is a genuine developer-targeting risk, not merely a theoretical high-CVSS-low-real-world issue, but its severity is bounded by the local execution context and required user interaction. |
| Exploit ScenarioDerived | A threat actor publishes a malicious Python package to PyPI with JavaScript or HTML payload embedded in one or more function or class docstrings. A developer installs the package, opens their project in a vulnerable version of PyCharm, and hovers over or presses the Quick Documentation shortcut on a symbol from the malicious package. The unsanitized markup renders in PyCharm's documentation panel, executing the embedded script in the IDE process context and potentially exfiltrating environment variables, API tokens, or SSH keys accessible to the IDE process. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Cross-site scripting in JetBrains PyCharm's Quick Documentation rendering feature (before version 2026.2.1) enables code execution within the IDE process when a developer inspects documentation for a symbol from a maliciously crafted source. Attackers - including supply-chain adversaries embedding malicious HTML or JavaScript into Python package docstrings - can achieve code execution in PyCharm's local process context once the victim triggers Quick Documentation on an affected symbol. No public exploit has been identified at time of analysis, and JetBrains has released a fix in version 2026.2.1.
RemediationAI
Upgrade JetBrains PyCharm to version 2026.2.1 or later, which contains the vendor-released fix per the JetBrains security advisory at https://www.jetbrains.com/privacy-security/issues-fixed/. Until patching is possible, developers should exercise caution when invoking Quick Documentation on symbols sourced from untrusted or newly added third-party packages, as this is the user interaction that triggers the vulnerability. A compensating control is to disable or avoid using the Quick Documentation popup (default shortcut F1 or Ctrl+Q) when working with packages of unknown provenance; this removes the UI:R trigger condition entirely, though it reduces IDE usability. There is no network-level workaround applicable since the attack surface is entirely local to the IDE process.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-Site Scripting), manifesting in PyCharm's Quick Documentation feature, which renders rich HTML-formatted Python docstrings and library documentation in an embedded web-rendering component within the IDE. Because PyCharm processes documentation from third-party libraries without adequately sanitizing HTML markup or JavaScript, malicious content embedded in docstrings can execute in the context of the IDE's rendering engine. The CVSS attack vector AV:L confirms this is a local IDE surface, not a network-facing service. The affected product is JetBrains PyCharm, all versions prior to 2026.2.1, as identified by the reporter cve@jetbrains.com and the JetBrains security advisory.
Know when Pycharm gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
Local IDE attack surface (AV:L), no OS privileges needed (PR:N), user must trigger Quick Documentation (UI:R), limited C/I impact within IDE process only.
Primary rating from Vendor (jetbrains).
CVSS VectorVendor: jetbrains
Lifecycle Timeline
1DescriptionCVE.org
In JetBrains PyCharm before 2026.2.1 code execution via Quick Documentation was possible
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
In JetBrains PyCharm 2019.2.5 and 2019.3 on Windows, Apple Notarization Service credentials were included. Rated high se
Arbitrary code execution in JetBrains PyCharm before 2026.1.4 and 2026.2 lets an attacker who supplies a crafted project
Code execution in JetBrains PyCharm before 2026.2.1 is possible through Jupyter MCP (Model Context Protocol) tools that
In JetBrains PyCharm before 2025.3.2 a DOM-based XSS on Jupyter viewer page was possible [CVSS 8.2 HIGH]
In JetBrains PyCharm before 2020.3.4, local code execution was possible because of insufficient checks when getting the
In JetBrains Rider before 2022.1 local code execution via links in ReSharper Quick Documentation was possible. Rated hig
GitHub access token could be exposed to third-party sites in JetBrains IDEs after version 2023.1 and less than: IntelliJ
JetBrains PyCharm before 2019.2 was allocating a buffer of unknown size for one of the connection processes. Rated high
Stored XSS in JetBrains PyCharm's Jupyter notebook Markdown cell renderer allows a remote, unauthenticated attacker to e
In JetBrains PyCharm before 2022.1 exposure of the debugger port to the internal network was possible. Rated low severit
EUVD-2026-60258
GHSA-vw8w-wwww-3834
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB