CVE-2026-41009: Cloud Foundry Foundation BOSH Director · Path Traversal
Affects Cloud Foundry Foundation BOSH DirectorSource CVE Database V5
Not known to be exploited · CVSS 4.3 Medium : upgrade to 282.1.12 when convenient.
Data as of 30 Oct 2026, 11:52 UTC
- EPSS
- 0.09% chance of exploitation in 30 days – higher than 0% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 282.1.12
CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:LExploitation evidence
Disclosed: evidence found.
CVE published 27 May 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Upgrade Cloud Foundry Foundation BOSH Director to 282.1.12.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Cloud Foundry FoundationBOSH Director | Affected
| Fixed in
|
AI-suggested
Until then, restrict access to the BOSH Director and its local blobstore to trusted administrators only. Avoid using the local blobstore provider if possible or implement additional path normalization checks as a temporary mitigation.
Description
When the director sends a long-running request (e.g.compile_package), the agent's reply JSON is consumed by AgentClient.inject_compile_log (line 332-339) reads response['value']['result']['compile_log_id'] and format_exception (line 318-325) reads exception['blobstore_id']; both pass the agent-supplied string unmodified to download_and_delete_blob(blob_id) (line 344-349), which calls @resource_manager.get_resource(blob_id) and, in an ensure block, @resource_manager.delete_resource(blob_id). Api::ResourceManager forwards the id straight to blobstore.get(id) / blobstore.delete(id). When the director is configured with the local blobstore provider, Blobstore::LocalClient#object_file_path(oid) is File.join(@blobstore_path, oid) (local_client.rb:54-56) with no normalisation, so oid = "../../jobs/director/config/director.yml" resolves outside the blobstore root. Affected versions: BOSH Director: All versions prior to v282.1.12