CVE-2026-41704 Overview
CVE-2026-41704 is a broken access control vulnerability [CWE-284] in the Cloud Foundry BOSH Director. The AgentClient#handle_method routine processes every NATS reply from managed VMs and trusts the blobstore identifiers contained in those replies. A compromised VM can return crafted responses that cause the Director to delete arbitrary blobs from the shared Director blobstore. The flaw affects all BOSH Director versions prior to v282.1.12.
Critical Impact
An attacker controlling a single BOSH-managed VM can trigger arbitrary deletions across the shared Director blobstore, destroying release artifacts, compiled packages, and stemcells used by other deployments.
Affected Products
- Cloud Foundry BOSH Director — all versions prior to v282.1.12
- Deployments relying on the shared Director blobstore for release and package artifacts
- BOSH-managed environments where untrusted workloads run on BOSH-deployed VMs
Discovery Timeline
- 2026-05-27 - CVE-2026-41704 published to NVD
- 2026-05-27 - Last updated in NVD database
Technical Details for CVE-2026-41704
Vulnerability Analysis
The BOSH Director communicates with agents on managed VMs over NATS. The method AgentClient#handle_method (lines 264-303) processes every reply that arrives from any agent. On every response, it calls inject_compile_log (line 273), which reads response['value']['result']['compile_log_id'] (lines 332-338) and forwards the identifier to download_and_delete_blob. Separately, any reply containing an exception key goes through format_exception (lines 308-325), which extracts exception['blobstore_id'] and also calls download_and_delete_blob.
The helper download_and_delete_blob (lines 344-349) fetches the blob through ResourceManager#get_resource(blob_id) and, inside an ensure block, invokes ResourceManager#delete_resource(blob_id). The deletion path in resource_manager.rb (lines 62-70) calls blobstore.delete(id) on the single shared Director blobstore. The Director performs no UUID-format check, no ownership check, and no namespace prefix validation on the supplied identifier.
Root Cause
The Director treats agent-supplied blob identifiers as trusted. The ResourceManager operates on one global blobstore namespace and accepts any string as a valid blob ID for deletion. There is no association between an agent, the deployment it belongs to, and the blobs it is authorized to remove.
Attack Vector
An attacker who compromises a BOSH-managed VM gains control of the agent's NATS reply channel. The attacker crafts a reply that embeds an arbitrary blob ID under either result.compile_log_id or exception.blobstore_id. When the Director processes the reply, it invokes download_and_delete_blob on the supplied ID and removes the targeted blob from the shared blobstore. Repeating this across enumerated or guessed IDs lets the attacker destroy releases, compiled packages, or stemcells belonging to unrelated deployments.
No synthetic exploitation code is reproduced here. See the Cloud Foundry advisory for the source-level analysis.
Detection Methods for CVE-2026-41704
Indicators of Compromise
- Unexpected blobstore.delete operations recorded in Director logs that do not correlate with deployment, cleanup, or compilation workflows.
- NATS replies containing compile_log_id or blobstore_id values that do not match the requesting agent's recent task context.
- Missing release, package, or stemcell blobs reported during subsequent bosh deploy or bosh export-release operations.
Detection Strategies
- Audit Director logs for ResourceManager#delete_resource and download_and_delete_blob invocations and correlate them with the originating agent and task ID.
- Enable blobstore-side access logging to capture every DELETE call, the requesting principal, and the deleted object key for offline analysis.
- Baseline the rate of blob deletions per deployment and alert on agents triggering deletions outside their expected workload.
Monitoring Recommendations
- Forward Director and blobstore audit logs into a centralized analytics platform and retain them long enough to investigate slow-burn destruction.
- Monitor BOSH-managed VMs for signs of compromise, including unexpected outbound NATS traffic patterns and unauthorized process execution on agents.
- Track blobstore object counts and storage size over time to surface anomalous mass-deletion events.
How to Mitigate CVE-2026-41704
Immediate Actions Required
- Upgrade the BOSH Director to v282.1.12 or later in every environment.
- Rotate credentials for any VM suspected of compromise and redeploy affected workloads with fresh stemcells.
- Verify the integrity of releases, compiled packages, and stemcells in the Director blobstore and restore missing artifacts from backup.
Patch Information
The Cloud Foundry project addressed the issue in BOSH Director v282.1.12. Refer to the Cloud Foundry advisory for CVE-2026-41704 for upgrade guidance and release notes.
Workarounds
- Restrict NATS connectivity so that only fully trusted agents can reach the Director, and isolate untrusted workloads on separate BOSH environments.
- Take regular, versioned snapshots of the Director blobstore so that arbitrary deletions can be reversed without data loss.
- Limit exposure of the Director to multi-tenant or internet-facing workloads until the patched version is deployed.
# Verify the running BOSH Director version and upgrade if below v282.1.12
bosh -e <environment> environment
bosh -e <environment> deploy bosh-deployment/bosh.yml \
-v director_version=282.1.12
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

