Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed ADK API server
-
ExploitInject ../ or ..%2F into userId/sessionId
-
ExecutionEscape artifact storage root via FileArtifactService
-
ImpactRead 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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 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
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
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).
Primary rating from Vendor (Google).
CVSS VectorVendor: Google
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
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.
Apply vendor patch.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
EUVD-2026-105224
GHSA-r3pf-g3mr-cmr7
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB