Skip to main content

ADK for Java EUVDEUVD-2026-108585

| CVE-2026-107858 HIGH
Missing Origin Validation in WebSockets (CWE-1385)
2026-10-23 Google GHSA-2pr8-78jh-mm95
7.2
CVSS 4.0 · Vendor: Google
View

Attack ChainAIDerived

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

  1. Access
    Developer runs ADK Web dev server
  2. Delivery
    Lure developer to malicious web page
  3. Exploit
    Cross-origin WebSocket/REST calls to localhost
  4. Execution
    Trigger agent tools, read sessions/artifacts
  5. Impact
    Exfiltrate agent data, delete artifacts

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Hardware safety mechanism
Exploitation Conditions

Exploitation requires (1) the ADK Web development server to be actively running - typically on a developer's localhost - and (2) the developer to visit an attacker-controlled web page in a browser on the same machine while the server runs (this is the UI:P passive-interaction requirement). No authentication and no non-default configuration are needed: in affected versions the /run_live WebSocket accepts connections from any origin by default (hardcoded setAllowedOrigins("*") in 0.1.0-1.5.0; defaulting to * via adk.web.cors.origins in 1.6.0-1.12.0) and, since 0.4.0, the REST API returns Access-Control-Allow-Origin: *. Binding to localhost does NOT limit exploitation because the malicious requests originate from the developer's own browser. Limiting factors that reduce real-world risk: the vulnerable component is a developer-facing dev server rather than a production service, the server must be running at the time of the visit, and the developer must be lured into opening the malicious page. In 1.6.0-1.12.0 the exposure can be mitigated without upgrading by setting adk.web.cors.origins to an explicit trusted allowlist (e.g. http://localhost:8000); version 1.13.0 is the complete fix.

Impact

This is a genuine but context-limited risk. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:L, 7.2 High) describes a network-reachable, low-complexity, unauthenticated flaw whose only gating factor is passive user interaction (UI:P) - a developer must visit a malicious page while the local ADK Web dev server is running. The description confirms the mechanism rather than leaving it to inference: default CORS/WebSocket origin handling is permissive (setAllowedOrigins("*") hardcoded in 0.1.0-1.5.0, defaulting to * in 1.6.0-1.12.0, and Access-Control-Allow-Origin: * on the REST API since 0.4.0), and the server has no authentication, so localhost binding does not protect it because requests originate from the developer's own browser. Exploitation signals are modest: there is no CISA KEV listing and no EPSS score in the input, and the PoC is a reference only, not verified working exploit code - so this is 'no confirmed active exploitation' territory, consistent with the vendor's own 'this_week' (not act_now/emergency) priority label. The real-world ceiling is set by the product: this is a developer-only dev server, not a production-facing service, which bounds blast radius even though the technical impact (read/create/delete sessions and artifacts, trigger registered agent tools) is serious on an affected workstation. Net: a real priority to patch in development environments, but not a widespread internet-facing emergency.

Exploit ScenarioDerived

A developer starts the ADK Web dev server locally (e.g. on localhost:8000) and, while it is running, visits an attacker-controlled web page. That page's JavaScript opens a cross-origin connection to the /run_live WebSocket and the REST API - both of which accept any origin by default - and sends messages to the local agent, streams its responses, and lists, reads, creates, or deletes the agent's sessions and artifacts. A public PoC reference exists (google/adk-java issue #1257); it is not verified as working exploit code.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 23, 2026

Google ADK for Java's development web server (ADK Web) accepts cross-origin connections by default, letting a malicious web page drive a locally running agent and read its data. The /run_live WebSocket endpoint allowed any origin (hardcoded setAllowedOrigins("*") in 0.1.0-1.5.0, default * via adk.web.cors.origins in 1.6.0-1.12.0) and, since 0.4.0, the REST API returned Access-Control-Allow-Origin: *; combined with the absence of authentication, a developer who visits an attacker-controlled page while the server runs can have tools triggered, responses streamed, and sessions and artifacts listed, read, created or deleted. Unauthenticated remote exploitation is possible per the CVSS vector (PR:N) but requires passive user interaction (UI:P) - the developer must open the malicious page while the dev server is up; a public PoC reference exists (GitHub issue 1257) but it is not verified as working exploit code, and no confirmed active exploitation was reported. Exposure is limited to a developer-facing dev server rather than a production service, and the complete fix is version 1.13.0.

RemediationAI

Upgrade to ADK for Java 1.13.0 (com.google.adk:google-adk-dev and com.google.adk:google-adk-maven-plugin), which enforces a same-origin default for CORS and /run_live and rejects DNS-rebinding requests arriving over loopback - see https://github.com/google/adk-java/releases/tag/v1.13.0 and the patch commits 5667d382ab5078a0d6e8f7184713a6bab767e004, 1ae5078072e13e101318e32833f1db323ef084e1 and c2b087cbaf44f44d20dc946d8f2391506a2fce3d (PR https://github.com/google/adk-java/pull/1222). For versions 1.6.0 through 1.12.0 the vendor documents a configuration mitigation: set adk.web.cors.origins to an explicit allowlist of trusted origins (for example http://localhost:8000) so browsers refuse cross-origin pages; the trade-off is that any legitimate non-listed origin used by your tooling will be blocked until added. That property-level control does not exist in 0.1.0-1.5.0, where the wildcard is hardcoded, so those versions must be upgraded. Binding the server to localhost is not a mitigation because the malicious requests originate from the developer's own browser; not running ADK Web while browsing untrusted sites reduces the window of exposure.

Affected VersionsENISA

Agent Development Kit (ADK) for Java 0.3.0 <1.13.0
Agent Development Kit (ADK) for Java 0.1.0 <1.13.0

Affected Packages

euvd agent_development_kit_adk_for_java fix: 1.13.0

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 flaw combines two related misconfigurations in the ADK Web development server shipped in com.google.adk:google-adk-dev and the google-adk-maven-plugin: missing origin validation for WebSockets (CWE-1385) and a permissive cross-domain policy accepting untrusted domains (CWE-942). In versions 0.1.0 through 1.5.0 the /run_live WebSocket endpoint hardcoded setAllowedOrigins("*"); in 1.6.0 through 1.12.0 the same wildcard became the default value of the adk.web.cors.origins property, and from 0.4.0 onward the REST API also responded with Access-Control-Allow-Origin: *. Because the server has no authentication and the hostile requests are issued by the developer's own browser, the classic assumption that a localhost-bound service is unreachable by remote attackers does not hold - the browser acts as the transport, and a cross-origin page can open the WebSocket, send agent messages that trigger registered tools, stream responses, and enumerate or modify sessions and artifacts. The 1.13.0 release addresses the root causes in two commits: one enforcing a same-origin default for CORS and /run_live (5667d38), and one rejecting DNS-rebinding requests that reach the server over loopback (1ae5078). Note that the CVSS 4.0 input vector (AV:N/AC:L/AT:N/PR:N/UI:P, VC:H/VI:L/VA:L) and the internally assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L) agree on network reachability, no privileges required and required user interaction, with confidentiality impact dominant over limited integrity and availability effects.

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 (Google) PRIMARY 7.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 7.6 HIGH

Network-reachable with no auth (PR:N) since the dev server has no authentication; UI:R because a developer must visit a malicious page; C:H for reading agent data/artifacts, I:L/A:L for session/artifact create and delete.

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

Primary rating from Vendor (Google).

CVSS VectorVendor: Google

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Missing Origin Validation in WebSockets (CWE-1385) and Permissive Cross-domain Policy with Untrusted Domains (CWE-942) in the development web server (ADK Web) in Google Agent Development Kit (ADK) for Java (com.google.adk:google-adk-dev versions 0.1.0 before 1.13.0 and com.google.adk:google-adk-maven-plugin versions 0.3.0 before 1.13.0) allow a remote attacker to control a locally running agent and read its data via a malicious web page visited by a developer while the server is running. The /run_live WebSocket endpoint accepts connections from any origin by default (hardcoded via setAllowedOrigins("*") in versions 0.1.0 through 1.5.0, and defaulting to * via adk.web.cors.origins in versions 1.6.0 through 1.12.0), and since version 0.4.0 the REST API returns Access-Control-Allow-Origin: * by default. Because the server has no authentication and requests originate from the developer's browser (so binding to localhost does not prevent exploitation), a cross-origin page can send messages to the agent (triggering registered tools), stream agent responses, and list, read, create, or delete sessions and artifacts. In versions 1.6.0 through 1.12.0, users can mitigate the issue by setting the adk.web.cors.origins property to an explicit allowlist of trusted origins (such as http://localhost:8000). The vulnerability is fixed in version 1.13.0, which enforces a same-origin default for CORS and the /run_live WebSocket endpoint, and rejects DNS-rebinding requests over loopback.

Technical POC Analysis

Two independent wildcard origin policies in the ADK for Java development server (module com.google.adk:google-adk-dev), plus the absence of any authentication in that module.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

A high-severity vulnerability in Google ADK for Java's development web server (ADK Web) allows malicious websites to interact with developers' local agents, potentially exposing sensitive data and enabling unauthorized actions. Developers using affected versions (0.1.0 through 1.12.0) are at risk when running the dev server and visiting a compromised or attacker-controlled page. Leadership should prioritize remediation due to the potential for data breaches and operational disruption, despite the exposure being limited to development environments.

Business Impact: High
Compensating Controls

Apply vendor patch. Additionally, as interim mitigations, restrict CORS origins to trusted domains, enable authentication if supported, and avoid running the dev server on untrusted networks.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Low
developer-only dev server in a niche Java agent SDK
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 Yes
EPSS 0.4%
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· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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

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