Skip to main content

Google ADK TypeScript EUVDEUVD-2026-105224

| CVE-2026-105772 CRITICAL
Path Traversal (CWE-22)
2026-10-20 Google GHSA-r3pf-g3mr-cmr7
9.1
CVSS 4.0 · Vendor: Google
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed ADK API server
  2. Exploit
    Inject ../ or ..%2F into userId/sessionId
  3. Execution
    Escape artifact storage root via FileArtifactService
  4. Impact
    Read layout-matching files or write via saveArtifact

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitable only when the operator has (1) explicitly selected the non-default FileArtifactService (the default InMemoryArtifactService is NOT vulnerable) and (2) exposed the ADK API server to attacker-reachable network traffic, on @google/adk versions 0.4.0 through 0.5.x (fixed in 0.6.0). The condition that limits exploitation is captured by CVSS 4.0 AT:P: the vulnerable file-backed artifact store must be enabled. Read access requires only a crafted userId/sessionId traversal sequence; the write primitive additionally requires that an agent tool path invokes saveArtifact, so arbitrary file write is contingent on that code path being reachable. No user interaction or authentication is required (PR:N/UI:N).

Impact

Multiple signals converge on genuine high severity but with an important real-world caveat. CVSS 4.0 is 9.1 (AV:N/AC:L/AT:P/PR:N/UI:N) indicating a remote, low-complexity, unauthenticated attack with high confidentiality and integrity impact - the AT:P (attack requirements present) metric correctly reflects that exploitation is gated on a non-default deployment condition rather than being universally reachable. The patch is confirmed available (PR #210 and commits from Google's own repo), and the fix adds input validation (SAFE_SEGMENT_RE) plus a defence-in-depth canonical-path check (assertInsideRoot), which independently corroborates the path-traversal mechanism described. Exploitation status is 'no public exploit identified at time of analysis' - no KEV listing and no POC flag were provided; the traversal payloads in the committed regression tests (../../etc, ..%2F..%2Fetc) demonstrate the technique but are test fixtures, not a weaponized exploit, and must not be conflated with active exploitation. No EPSS score was supplied, so widespread-exploitation probability cannot be quantified. The decisive mitigating factor: the vulnerability only affects deployments that have explicitly enabled the non-default FileArtifactService AND exposed the ADK API server; the default InMemoryArtifactService is unaffected. Net: a real priority for the subset of operators running the file-backed artifact store on an exposed server, but the conditional (AT:P) requirement meaningfully narrows the exploitable population relative to the raw 9.1 score.

Exploit ScenarioDerived

An attacker reaches a network-exposed ADK API server that has been configured with the non-default FileArtifactService and supplies a userId or sessionId value containing relative or percent-encoded traversal sequences (../ or ..%2F). Because CVSS is PR:N, no authentication is required; the crafted identifier lets the attacker read files matching the artifact directory layout, and when an agent tool invokes saveArtifact, write files outside the intended storage root. No public exploit is identified at time of analysis, though the vendor's regression tests illustrate the exact traversal payloads.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 20, 2026

Path traversal in the FileArtifactService of Google ADK TypeScript (@google/adk) 0.4.0 through 0.5.x allows remote unauthenticated attackers to read files outside the configured artifact storage root by supplying crafted relative or percent-encoded sequences (../, ..%2F) in the userId or sessionId parameters, with a write primitive available when an agent tool path invokes saveArtifact. Exploitation is contingent on the operator explicitly enabling the non-default FileArtifactService and exposing the ADK API server to attacker-reachable traffic; applications using the default InMemoryArtifactService are unaffected. No public exploit code has been identified at time of analysis, and the issue is fixed in @google/adk 0.6.0; the assessed CVSS 3.1 score is 9.1-adjacent in impact (AV:N/AC:L/PR:N/UI:N, C:H/I:H/A:N) because the service must first be misconfigured into the file-backed mode.

RemediationAI

Upgrade @google/adk to version 0.6.0 or later, which introduces allowlist validation of userId and sessionId (SAFE_SEGMENT_RE) plus a path.resolve/root-containment check as defense in depth; the fix is delivered via https://github.com/google/adk-js/pull/210 (commits 8c0eaa160a43c1d791d5838a5de6ac87d905cf70 and 710b4ebed118b0ded8fc257e5d0099e6b2008bc0) and documented in advisory GHSA-8hc4-6xx6-3rh3. If an immediate upgrade is not possible, switch the artifact backend back to the default InMemoryArtifactService, understanding the trade-off that artifacts will no longer persist across process restarts or be shared between horizontally scaled instances; or keep the ADK API server off any attacker-reachable network interface and front it with a reverse proxy or gateway that rejects request parameters containing slashes, '%2F'/'%5C', null bytes, or dot-segments before they reach the ADK handler - a compensating control only, since it does not protect non-HTTP or in-process call paths. Operators should also audit any agent tools that call saveArtifact, since the arbitrary-write vector depends on that code path being reachable, and review artifact storage permissions on disk to limit blast radius (running the ADK process under a low-privilege account with a narrowly scoped root directory reduces the impact of any residual traversal).

Affected VersionsENISA

ADK TypeScript (@google/adk) 0.4.0 <0.6.0

Affected Packages

euvd adk_typescript_google_adk fix: 0.6.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 is a textbook CWE-22 improper-neutralization-of-path-sequences defect in a Node.js filesystem-backed artifact store. FileArtifactService lays out on-disk artifacts under a storage root following the pattern <rootDir>/users/<userId>/sessions/<sessionId>/artifacts, and prior to the fix it built those paths with path.join(rootDir, 'users', userId) and path.join(baseRoot, 'sessions', sessionId, 'artifacts') without validating either identifier. Because Node's path.join normalizes '..' segments, and because percent-encoded forms such as ..%2F survive decoding into the same segments at the application layer, an attacker-controlled userId or sessionId could resolve to any path readable by the ADK process - and, when an agent tool calls saveArtifact, to any writable path. The upstream patch (PR #210) fixes this in two layers: an allowlist regex SAFE_SEGMENT_RE (/^[a-zA-Z0-9_@-][a-zA-Z0-9_.@-]{0,255}$/) enforced by assertSafeSegment on both userId and sessionId, which rejects slashes, encoded separators, null bytes and empty strings; plus a defense-in-depth assertInsideRoot check that canonicalizes with path.resolve and rejects any result that does not begin with the resolved root plus path.sep. The patch also ships a dedicated vitest suite covering dot-dot-slash, forward-slash, percent-encoded and null-byte payloads for both identifiers. The root cause is structural - trust in user-supplied identifiers when constructing filesystem paths - and is mirrored by the CPE entry cpe:2.3:a:google:adk_typescript_(@google/adk).

Know when Adk Typescript Google Adk 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 9.1 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 9.1 CRITICAL

Remote unauthenticated traversal via request parameters gives AV:N/AC:L/PR:N/UI:N; arbitrary read and conditional write yield C:H/I:H, with no availability impact (A:N).

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

Primary rating from Vendor (Google).

CVSS VectorVendor: Google

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

DescriptionCVE.org

Path Traversal (CWE-22) in FileArtifactService in Google ADK TypeScript (@google/adk) versions 0.4.0 before 0.6.0 allows a remote unauthenticated attacker to read files matching the artifact directory layout or write files (when an agent tool invokes saveArtifact) outside the intended artifact storage root via crafted relative or percent-encoded path traversal sequences (such as ../ or ..%2F) in the userId or sessionId parameters when the ADK API server is exposed with the non-default FileArtifactService enabled. Applications using the default InMemoryArtifactService are unaffected. Upgrade to @google/adk version 0.6.0 or later.

Technical POC Analysis

CWE-22: Improper Limitation of a Pathname to a Restricted Directory.

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

Executive ViewAI

Why It Matters

Google ADK TypeScript (@google/adk) versions 0.4.0 through 0.5.x contain a critical path traversal flaw that can let unauthenticated, remote users read files outside the configured artifact storage root-and potentially write artifacts through agent tool paths-when the non-default FileArtifactService is enabled and the ADK API server is exposed. The default InMemoryArtifactService is not affected, and no public exploit identified at time of analysis, so leadership attention should focus on inventorying exposed ADK deployments and eliminating risky file-backed configurations. Affected teams face potential confidentiality and integrity impact to application data and host files if those conditions are present.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Low
new niche TypeScript AI-agent SDK; only non-default file store affected
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Yes
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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