CVE-2026-41704 PUBLISHED

Compromised VM can make arbitrary blobstore deletes

Assigner: vmware
Reserved: 22.04.2026 Published: 27.05.2026 Updated: 27.05.2026

AgentClient#handle_method (lines 264-303) processes every NATS reply. It calls inject_compile_log (line 273) on every response, which reads response['value']['result']['compile_log_id'] (line 332-338) and passes it to download_and_delete_blob. Separately, any response containing 'exception' goes through format_exception (lines 308-325), which reads exception['blobstore_id'] and also calls download_and_delete_blob. That helper (lines 344-349) calls ResourceManager#get_resource(blob_id) and, in an ensure block, ResourceManager#delete_resource(blob_id). ResourceManager (resource_manager.rb:62-70) calls blobstore.delete(id) on the single shared Director blobstore with no UUID-format check, no ownership check, and no namespace prefix.

Affected versions: BOSH Director: All versions prior to v282.1.12

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:H/AT:N/PR:H/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:H
CVSS Score: 6.8

Product Status

Vendor Cloud Foundry Foundation
Product BOSH Director
Versions Default: unaffected
  • affected from 0 to 282.1.12 (excl.)

References

Problem Types

  • CWE-284 Improper Access Control CWE

Impacts

  • A compromised managed VM can delete arbitrary blobs from the shared Director blobstore by supplying crafted IDs in NATS reply messages, due to missing UUID-format, ownership, and namespace validation.