Search criteria
2 vulnerabilities found for GCS Remote Cache Plugin for Nx by Nx
CVE-2025-36852 (GCVE-0-2025-36852)
Vulnerability from cvelistv5 – Published: 2025-06-10 19:23 – Updated: 2025-06-10 21:35
VLAI?
Summary
A critical security vulnerability exists in remote cache extensions for common build systems utilizing bucket-based remote cache (such as those using Amazon S3, Google Cloud Storage, or similar object storage) that allows any contributor with pull request privileges to inject compromised artifacts from an untrusted environment into trusted production environments without detection.
The vulnerability exploits a fundamental design flaw in the "first-to-cache wins" principle, where artifacts built in untrusted environments (feature branches, pull requests) can poison the cache used by trusted environments (protected branches, production deployments).
This attack bypasses all traditional security measures including encryption, access controls, and checksum validation because the poisoning occurs during the artifact construction phase, before any security measures are applied.
Severity ?
CWE
- CWE-829 - Inclusion of Functionality from Untrusted Control Sphere
Assigner
References
| URL | Tags | |
|---|---|---|
Impacted products
| Vendor | Product | Version | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Niklas Portmann | Azure Based Remote Cache Plugin for Nx |
Affected:
0
(semver)
cpe:2.3:a:niklas_portmann:nx-remotecache-azure:0:*:*:*:*:*:*:* |
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2025-36852",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-06-10T20:12:14.201636Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-06-10T20:12:58.460Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:niklas_portmann:nx-remotecache-azure:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "nx-remotecache-azure",
"product": "Azure Based Remote Cache Plugin for Nx",
"repo": "https://github.com/NiklasPor/nx-remotecache-azure",
"vendor": "Niklas Portmann",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:niklas_portmann:nx-remotecache-minio:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "nx-remotecache-minio",
"product": "Minio Based Remote Cache Plugin for Nx",
"repo": "https://github.com/NiklasPor/nx-remotecache-minio",
"vendor": "Niklas Portmann",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:niklas_portmann:nx-remotecache-custom:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "nx-remotecache-custom",
"product": "Nx Remote Cache Utilities",
"repo": "https://github.com/NiklasPor/nx-remotecache-custom",
"vendor": "Niklas Portmann",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:nx:s3-cache:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "@nx/s3-cache",
"product": "AWS S3 Remote Cache Plugin for Nx",
"vendor": "Nx",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:nx:gcs-cache:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "@nx/gcs-cache",
"product": "GCS Remote Cache Plugin for Nx",
"vendor": "Nx",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:nx:azure-cache:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "@nx/azure-cache",
"product": "Azure Blob Remote Cache Plugin for Nx",
"vendor": "Nx",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:nx:shared-fs-cache:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "@nx/shared-fs-cache",
"product": "Shared File System Cache Plugin for Nx",
"vendor": "Nx",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003eA critical security vulnerability exists in \u003cb\u003eremote cache extensions\u003c/b\u003e for common build systems utilizing bucket-based remote cache (such as those using Amazon S3, Google Cloud Storage, or similar object storage) that allows any contributor with pull request privileges to inject compromised artifacts from an untrusted environment into trusted production environments without detection.\u0026nbsp;\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003e\u003cbr\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003eThe vulnerability exploits a fundamental design flaw in the \"first-to-cache wins\" principle, where artifacts built in untrusted environments (feature branches, pull requests) can poison the cache used by trusted environments (protected branches, production deployments).\u0026nbsp;\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003e\u003cbr\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003eThis attack bypasses all traditional security measures including encryption, access controls, and checksum validation because the poisoning occurs during the artifact construction phase, before any security measures are applied.\u003c/span\u003e\u003c/div\u003e"
}
],
"value": "A critical security vulnerability exists in remote cache extensions for common build systems utilizing bucket-based remote cache (such as those using Amazon S3, Google Cloud Storage, or similar object storage) that allows any contributor with pull request privileges to inject compromised artifacts from an untrusted environment into trusted production environments without detection.\u00a0\n\n\n\n\nThe vulnerability exploits a fundamental design flaw in the \"first-to-cache wins\" principle, where artifacts built in untrusted environments (feature branches, pull requests) can poison the cache used by trusted environments (protected branches, production deployments).\u00a0\n\n\n\n\nThis attack bypasses all traditional security measures including encryption, access controls, and checksum validation because the poisoning occurs during the artifact construction phase, before any security measures are applied."
}
],
"impacts": [
{
"capecId": "CAPEC-141",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-141 Cache Poisoning"
}
]
},
{
"capecId": "CAPEC-554",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-554 Functionality Bypass"
}
]
},
{
"capecId": "CAPEC-438",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-438 Modification During Manufacture"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "YES",
"Recovery": "USER",
"Safety": "PRESENT",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 9.4,
"baseSeverity": "CRITICAL",
"privilegesRequired": "LOW",
"providerUrgency": "RED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"valueDensity": "CONCENTRATED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/S:P/AU:Y/R:U/V:C/RE:M/U:Red",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "MODERATE"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-829",
"description": "CWE-829 Inclusion of Functionality from Untrusted Control Sphere",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-06-10T21:35:37.274Z",
"orgId": "36c7be3b-2937-45df-85ea-ca7133ea542c",
"shortName": "HeroDevs"
},
"references": [
{
"url": "https://nx.app/files/cve-2025-06"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Build Cache Poisoning via Untrusted Pull Requests",
"x_generator": {
"engine": "Vulnogram 0.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "36c7be3b-2937-45df-85ea-ca7133ea542c",
"assignerShortName": "HeroDevs",
"cveId": "CVE-2025-36852",
"datePublished": "2025-06-10T19:23:33.956Z",
"dateReserved": "2025-04-15T23:50:31.198Z",
"dateUpdated": "2025-06-10T21:35:37.274Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
CVE-2025-36852 (GCVE-0-2025-36852)
Vulnerability from nvd – Published: 2025-06-10 19:23 – Updated: 2025-06-10 21:35
VLAI?
Summary
A critical security vulnerability exists in remote cache extensions for common build systems utilizing bucket-based remote cache (such as those using Amazon S3, Google Cloud Storage, or similar object storage) that allows any contributor with pull request privileges to inject compromised artifacts from an untrusted environment into trusted production environments without detection.
The vulnerability exploits a fundamental design flaw in the "first-to-cache wins" principle, where artifacts built in untrusted environments (feature branches, pull requests) can poison the cache used by trusted environments (protected branches, production deployments).
This attack bypasses all traditional security measures including encryption, access controls, and checksum validation because the poisoning occurs during the artifact construction phase, before any security measures are applied.
Severity ?
CWE
- CWE-829 - Inclusion of Functionality from Untrusted Control Sphere
Assigner
References
| URL | Tags | |
|---|---|---|
Impacted products
| Vendor | Product | Version | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Niklas Portmann | Azure Based Remote Cache Plugin for Nx |
Affected:
0
(semver)
cpe:2.3:a:niklas_portmann:nx-remotecache-azure:0:*:*:*:*:*:*:* |
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2025-36852",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-06-10T20:12:14.201636Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-06-10T20:12:58.460Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:niklas_portmann:nx-remotecache-azure:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "nx-remotecache-azure",
"product": "Azure Based Remote Cache Plugin for Nx",
"repo": "https://github.com/NiklasPor/nx-remotecache-azure",
"vendor": "Niklas Portmann",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:niklas_portmann:nx-remotecache-minio:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "nx-remotecache-minio",
"product": "Minio Based Remote Cache Plugin for Nx",
"repo": "https://github.com/NiklasPor/nx-remotecache-minio",
"vendor": "Niklas Portmann",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:niklas_portmann:nx-remotecache-custom:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "nx-remotecache-custom",
"product": "Nx Remote Cache Utilities",
"repo": "https://github.com/NiklasPor/nx-remotecache-custom",
"vendor": "Niklas Portmann",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:nx:s3-cache:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "@nx/s3-cache",
"product": "AWS S3 Remote Cache Plugin for Nx",
"vendor": "Nx",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:nx:gcs-cache:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "@nx/gcs-cache",
"product": "GCS Remote Cache Plugin for Nx",
"vendor": "Nx",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:nx:azure-cache:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "@nx/azure-cache",
"product": "Azure Blob Remote Cache Plugin for Nx",
"vendor": "Nx",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://registry.npmjs.org",
"cpes": [
"cpe:2.3:a:nx:shared-fs-cache:0:*:*:*:*:*:*:*"
],
"defaultStatus": "affected",
"packageName": "@nx/shared-fs-cache",
"product": "Shared File System Cache Plugin for Nx",
"vendor": "Nx",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003eA critical security vulnerability exists in \u003cb\u003eremote cache extensions\u003c/b\u003e for common build systems utilizing bucket-based remote cache (such as those using Amazon S3, Google Cloud Storage, or similar object storage) that allows any contributor with pull request privileges to inject compromised artifacts from an untrusted environment into trusted production environments without detection.\u0026nbsp;\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003e\u003cbr\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003eThe vulnerability exploits a fundamental design flaw in the \"first-to-cache wins\" principle, where artifacts built in untrusted environments (feature branches, pull requests) can poison the cache used by trusted environments (protected branches, production deployments).\u0026nbsp;\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003e\u003cbr\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan style=\"background-color: transparent;\"\u003eThis attack bypasses all traditional security measures including encryption, access controls, and checksum validation because the poisoning occurs during the artifact construction phase, before any security measures are applied.\u003c/span\u003e\u003c/div\u003e"
}
],
"value": "A critical security vulnerability exists in remote cache extensions for common build systems utilizing bucket-based remote cache (such as those using Amazon S3, Google Cloud Storage, or similar object storage) that allows any contributor with pull request privileges to inject compromised artifacts from an untrusted environment into trusted production environments without detection.\u00a0\n\n\n\n\nThe vulnerability exploits a fundamental design flaw in the \"first-to-cache wins\" principle, where artifacts built in untrusted environments (feature branches, pull requests) can poison the cache used by trusted environments (protected branches, production deployments).\u00a0\n\n\n\n\nThis attack bypasses all traditional security measures including encryption, access controls, and checksum validation because the poisoning occurs during the artifact construction phase, before any security measures are applied."
}
],
"impacts": [
{
"capecId": "CAPEC-141",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-141 Cache Poisoning"
}
]
},
{
"capecId": "CAPEC-554",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-554 Functionality Bypass"
}
]
},
{
"capecId": "CAPEC-438",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-438 Modification During Manufacture"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "YES",
"Recovery": "USER",
"Safety": "PRESENT",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 9.4,
"baseSeverity": "CRITICAL",
"privilegesRequired": "LOW",
"providerUrgency": "RED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"valueDensity": "CONCENTRATED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/S:P/AU:Y/R:U/V:C/RE:M/U:Red",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "MODERATE"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-829",
"description": "CWE-829 Inclusion of Functionality from Untrusted Control Sphere",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-06-10T21:35:37.274Z",
"orgId": "36c7be3b-2937-45df-85ea-ca7133ea542c",
"shortName": "HeroDevs"
},
"references": [
{
"url": "https://nx.app/files/cve-2025-06"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Build Cache Poisoning via Untrusted Pull Requests",
"x_generator": {
"engine": "Vulnogram 0.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "36c7be3b-2937-45df-85ea-ca7133ea542c",
"assignerShortName": "HeroDevs",
"cveId": "CVE-2025-36852",
"datePublished": "2025-06-10T19:23:33.956Z",
"dateReserved": "2025-04-15T23:50:31.198Z",
"dateUpdated": "2025-06-10T21:35:37.274Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}