Skip to main content

vscode-java CVE-2026-12856

| EUVDEUVD-2026-40084 HIGH
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') (CWE-88)
2026-06-29 redhat GHSA-7vqr-7r5j-c84j
8.8
CVSS 3.1 · Vendor: redhat
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft Java file with malicious JavaDoc link
  2. Delivery
    Deliver via public repo or shared project
  3. Exploit
    Victim opens project in trusted workspace
  4. Execution
    Victim hovers and clicks JavaDoc link
  5. Persist
    Arbitrary VS Code commands execute
  6. Impact
    Full host compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
Exploitation Conditions

Exploitation requires the victim to open an attacker-supplied Java file/project in vscode-java, display a JavaDoc hover popup for an attacker-controlled symbol, and click a maliciously crafted link embedded in that hover's Markdown; the workspace must be in trusted (non-Restricted) mode for the injected VS Code commands to execute. Limiting factors: mandatory user interaction (the click, reflected as UI:R), the need to first lure the victim into opening the malicious project, and VS Code Workspace Trust - projects opened in Restricted Mode block the command execution. No standing authentication to any service is required (PR:N), so any developer who processes untrusted Java code is in scope.

Impact

The CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, base 8.8) indicates a network-reachable, low-complexity, unauthenticated path with high confidentiality, integrity and availability impact, gated only by required user interaction. The dominant real-world limiter is UI:R combined with the description's 'trusted workspaces' qualifier: the victim must open the malicious project, hover JavaDoc, and click the embedded link, and the workspace must be in trusted mode for commands to run. No EPSS score was provided in the input, and there is no KEV listing and no POC reference, so this is currently a credible-but-not-demonstrated risk rather than confirmed in-the-wild exploitation. Note one consistency caveat: AV:N reflects remote delivery of the malicious file, but actual code execution is local to the developer's machine after they open the project and click - defenders should treat this as a social-engineering / malicious-repository threat, not a remote drive-by.

Exploit ScenarioDerived

An attacker publishes a seemingly legitimate Java library or sample project to a public repository, with a class whose JavaDoc comment embeds a malicious command: link disguised as ordinary documentation. A developer clones and opens it in VS Code with the Java extension in a trusted workspace, hovers a method to read its docs, and clicks the link - executing arbitrary VS Code commands that can run code and compromise the host. No POC is referenced in the available data, and the low attack complexity (AC:L) means only basic social engineering to get the click is required.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 29, 2026

Arbitrary VS Code command execution in the Red Hat vscode-java extension allows a malicious Java source file to embed hidden commands inside JavaDoc hover Markdown, so that a developer who simply clicks a crafted link in a hover popup triggers attacker-chosen commands that can escalate to full system compromise in trusted workspaces. The flaw stems from the extension rendering JavaDoc hovers as fully-trusted Markdown, and it also affects Red Hat OpenShift Dev Spaces, which bundles the extension. There is no public exploit identified at time of analysis and the issue is not listed in CISA KEV, but the network reach combined with only a single click of user interaction makes it high-impact.

RemediationAI

Patch available per vendor advisory: update the vscode-java extension to the fixed release referenced in GHSA-7qv8-6qrw-3crv (https://github.com/redhat-developer/vscode-java/security/advisories/GHSA-7qv8-6qrw-3crv) and apply the corresponding Red Hat OpenShift Dev Spaces update per https://access.redhat.com/security/cve/CVE-2026-12856 - an exact fixed version number was not provided in the input data and should be taken directly from those advisories rather than assumed. Until patched, the most effective compensating control is to rely on VS Code Workspace Trust: open untrusted or cloned Java projects in Restricted Mode, which prevents the trusted-Markdown command execution that this flaw depends on (trade-off: language features and some extension functionality are limited in Restricted Mode). Additionally, avoid clicking links inside JavaDoc hover popups in untrusted repositories and treat third-party Java projects as untrusted code, since the attack requires that single click to fire.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

vscode-java (the redhat-developer Java language-support extension for Visual Studio Code, built on the Eclipse JDT Language Server) renders JavaDoc documentation as hover popups. VS Code Markdown can carry command: URIs and HTML, and trusted Markdown will execute registered VS Code commands when such links are activated. The root cause maps to CWE-88 (argument/command injection via improper neutralization): the extension marks JavaDoc-derived Markdown as trusted without sanitizing or stripping command-invoking links, so attacker-controlled JavaDoc comments are treated with the same authority as the IDE itself. Per the CPE data, the affected packaged product is cpe:2.3:a:red_hat:red_hat_openshift_dev_spaces, the Red Hat cloud developer-workspace platform that ships the vscode-java extension into browser-based IDE workspaces.

Know when Java 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

Vendor (redhat) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Malicious file is delivered remotely (AV:N) and trivially crafted (AC:L) with no auth (PR:N) but needs the victim's click (UI:R), and command execution yields full host compromise (C/I/A:H).

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 8.8 HIGH

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

A flaw was found in the vscode-java extension, which provides Java language support for Visual Studio Code. The extension incorrectly trusts all Markdown content in JavaDoc hovers, allowing a malicious Java file to include hidden commands. If a user clicks a specially crafted link within a JavaDoc hover popup, an attacker can execute arbitrary VS Code commands, which can lead to full system compromise in trusted workspaces.

Executive ViewAI

Why It Matters

The Red Hat vscode-java extension and OpenShift Dev Spaces contain a critical vulnerability (CVE-2026-12856, CVSS 8.8) enabling arbitrary code execution on developer workstations through a single click on a malicious JavaDoc hover popup. Development teams face direct compromise risk with potential for full system takeover and supply chain contamination if attackers reach trusted repositories.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable vscode-java extension in all development environments; (2) Require peer code review of Java source files with emphasis on JavaDoc content inspection; (3) Restrict Java file opening to verified internal sources only; (4) Monitor development workstation command execution logs for anomalies; (5) Isolate development systems from production infrastructure where feasible; (6) Evaluate alternative Java IDEs without this vulnerability as interim solution.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
High
vscode-java is a top-tier VS Code extension with millions of developer installs
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Affected Products (CPE)CVE.org

cpe:2.3:a:red_hat:red_hat_openshift_dev_spaces:*:*:*:*:*:*:*:*

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy