CVE-2026-105772 (GCVE-0-2026-105772)
Vulnerability from cvelistv5
Published
2026-10-20 17:50
Modified
2026-10-20 18:08
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-22 - Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Summary
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.
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| ADK TypeScript (@google/adk) |
Version: 0.4.0 ≤ |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-105772",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-20T18:03:11.873837Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-20T18:08:00.481Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"packageName": "@google/adk",
"product": "ADK TypeScript (@google/adk)",
"repo": "https://github.com/google/adk-js",
"vendor": "Google",
"versions": [
{
"lessThan": "0.6.0",
"status": "affected",
"version": "0.4.0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Gouri Sankar A (@g0w6y)"
}
],
"datePublic": "2026-09-29T17:18:00.000Z",
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003ePath Traversal (CWE-22) in \u003ccode\u003eFileArtifactService\u003c/code\u003e in Google ADK TypeScript (\u003ccode\u003e@google/adk\u003c/code\u003e) 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 \u003ccode\u003esaveArtifact\u003c/code\u003e) outside the intended artifact storage root via crafted relative or percent-encoded path traversal sequences (such as \u003ccode\u003e../\u003c/code\u003e or \u003ccode\u003e..%2F\u003c/code\u003e) in the \u003ccode\u003euserId\u003c/code\u003e or \u003ccode\u003esessionId\u003c/code\u003e parameters when the ADK API server is exposed with the non-default \u003ccode\u003eFileArtifactService\u003c/code\u003e enabled. Applications using the default \u003ccode\u003eInMemoryArtifactService\u003c/code\u003e are unaffected. Upgrade to \u003ccode\u003e@google/adk\u003c/code\u003e version 0.6.0 or later.\u003c/p\u003e"
}
],
"value": "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."
}
],
"impacts": [
{
"capecId": "CAPEC-126",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-126 Path Traversal"
}
]
},
{
"capecId": "CAPEC-139",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-139 Relative Path Traversal"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-22",
"description": "CWE-22 Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-20T17:50:13.132Z",
"orgId": "14ed7db2-1595-443d-9d34-6215bf890778",
"shortName": "Google"
},
"references": [
{
"tags": [
"vendor-advisory"
],
"url": "https://github.com/google/adk-js/security/advisories/GHSA-8hc4-6xx6-3rh3"
},
{
"tags": [
"patch",
"issue-tracking"
],
"url": "https://github.com/google/adk-js/pull/210"
},
{
"tags": [
"patch"
],
"url": "https://github.com/google/adk-js/commit/8c0eaa160a43c1d791d5838a5de6ac87d905cf70"
},
{
"tags": [
"related"
],
"url": "https://github.com/google/adk-js/commit/710b4ebed118b0ded8fc257e5d0099e6b2008bc0"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Arbitrary file read and write in Google ADK TypeScript (@google/adk) FileArtifactService via path traversal in userId and sessionId",
"x_generator": {
"engine": "Vulnogram 1.0.2"
}
}
},
"cveMetadata": {
"assignerOrgId": "14ed7db2-1595-443d-9d34-6215bf890778",
"assignerShortName": "Google",
"cveId": "CVE-2026-105772",
"datePublished": "2026-10-20T17:50:13.132Z",
"dateReserved": "2026-10-05T19:48:07.182Z",
"dateUpdated": "2026-10-20T18:08:00.481Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"vulnrichment": {
"containers": "{\"cna\": {\"providerMetadata\": {\"orgId\": \"14ed7db2-1595-443d-9d34-6215bf890778\", \"shortName\": \"Google\", \"dateUpdated\": \"2026-10-20T17:50:13.132Z\"}, \"title\": \"Arbitrary file read and write in Google ADK TypeScript (@google/adk) FileArtifactService via path traversal in userId and sessionId\", \"datePublic\": \"2026-09-29T17:18:00.000Z\", \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"cweId\": \"CWE-22\", \"description\": \"CWE-22 Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)\", \"type\": \"CWE\"}]}], \"impacts\": [{\"capecId\": \"CAPEC-126\", \"descriptions\": [{\"lang\": \"en\", \"value\": \"CAPEC-126 Path Traversal\"}]}, {\"capecId\": \"CAPEC-139\", \"descriptions\": [{\"lang\": \"en\", \"value\": \"CAPEC-139 Relative Path Traversal\"}]}], \"affected\": [{\"vendor\": \"Google\", \"product\": \"ADK TypeScript (@google/adk)\", \"packageName\": \"@google/adk\", \"repo\": \"https://github.com/google/adk-js\", \"versions\": [{\"status\": \"affected\", \"version\": \"0.4.0\", \"lessThan\": \"0.6.0\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"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.\", \"supportingMedia\": [{\"type\": \"text/html\", \"base64\": false, \"value\": \"\u003cp\u003ePath Traversal (CWE-22) in \u003ccode\u003eFileArtifactService\u003c/code\u003e in Google ADK TypeScript (\u003ccode\u003e@google/adk\u003c/code\u003e) 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 \u003ccode\u003esaveArtifact\u003c/code\u003e) outside the intended artifact storage root via crafted relative or percent-encoded path traversal sequences (such as \u003ccode\u003e../\u003c/code\u003e or \u003ccode\u003e..%2F\u003c/code\u003e) in the \u003ccode\u003euserId\u003c/code\u003e or \u003ccode\u003esessionId\u003c/code\u003e parameters when the ADK API server is exposed with the non-default \u003ccode\u003eFileArtifactService\u003c/code\u003e enabled. Applications using the default \u003ccode\u003eInMemoryArtifactService\u003c/code\u003e are unaffected. Upgrade to \u003ccode\u003e@google/adk\u003c/code\u003e version 0.6.0 or later.\u003c/p\u003e\"}]}], \"references\": [{\"url\": \"https://github.com/google/adk-js/security/advisories/GHSA-8hc4-6xx6-3rh3\", \"tags\": [\"vendor-advisory\"]}, {\"url\": \"https://github.com/google/adk-js/pull/210\", \"tags\": [\"patch\", \"issue-tracking\"]}, {\"url\": \"https://github.com/google/adk-js/commit/8c0eaa160a43c1d791d5838a5de6ac87d905cf70\", \"tags\": [\"patch\"]}, {\"url\": \"https://github.com/google/adk-js/commit/710b4ebed118b0ded8fc257e5d0099e6b2008bc0\", \"tags\": [\"related\"]}], \"metrics\": [{\"format\": \"CVSS\", \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}], \"cvssV4_0\": {\"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"PRESENT\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"NONE\", \"vulnConfidentialityImpact\": \"HIGH\", \"subConfidentialityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"HIGH\", \"subIntegrityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"NONE\", \"subAvailabilityImpact\": \"NONE\", \"exploitMaturity\": \"NOT_DEFINED\", \"Safety\": \"NOT_DEFINED\", \"Automatable\": \"NOT_DEFINED\", \"Recovery\": \"NOT_DEFINED\", \"valueDensity\": \"NOT_DEFINED\", \"vulnerabilityResponseEffort\": \"NOT_DEFINED\", \"providerUrgency\": \"NOT_DEFINED\", \"version\": \"4.0\", \"baseSeverity\": \"CRITICAL\", \"baseScore\": 9.1, \"vectorString\": \"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\"}}], \"credits\": [{\"lang\": \"en\", \"value\": \"Gouri Sankar A (@g0w6y)\", \"type\": \"finder\"}], \"source\": {\"discovery\": \"EXTERNAL\"}, \"x_generator\": {\"engine\": \"Vulnogram 1.0.2\"}}, \"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-105772\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-10-20T18:03:11.873837Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-10-20T18:07:37.426Z\"}}]}",
"cveMetadata": "{\"cveId\": \"CVE-2026-105772\", \"assignerOrgId\": \"14ed7db2-1595-443d-9d34-6215bf890778\", \"state\": \"PUBLISHED\", \"assignerShortName\": \"Google\", \"dateReserved\": \"2026-10-05T19:48:07.182Z\", \"datePublished\": \"2026-10-20T17:50:13.132Z\", \"dateUpdated\": \"2026-10-20T18:08:00.481Z\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…