CVE-2026-41009

Source
https://cve.org/CVERecord?id=CVE-2026-41009
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-41009.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-41009
Published
2026-05-27T06:45:11.124Z
Modified
2026-08-12T03:51:14.090665035Z
Severity
  • 4.3 (Medium) CVSS_V4 - CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:L CVSS Calculator
Summary
Local Blobstore may allow arbitrary reads/deletes
Details

When the director sends a long-running request (e.g. compilepackage), the agent's reply JSON is consumed by AgentClient. injectcompilelog (line 332-339) reads response['value']['result']['compilelogid'] and formatexception (line 318-325) reads exception['blobstoreid']; both pass the agent-supplied string unmodified to downloadanddeleteblob(blobid) (line 344-349), which calls @resourcemanager.getresource(blobid) and, in an ensure block, @resourcemanager.deleteresource(blobid). 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#objectfilepath(oid) is File.join(@blobstorepath, 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

Database specific
{
    "unresolved_ranges": [
        {
            "source": "AFFECTED_FIELD",
            "extracted_events": [
                {
                    "fixed": "282.1.12"
                }
            ]
        }
    ],
    "cwe_ids": [
        "CWE-22"
    ],
    "cna_assigner": "vmware",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41009.json"
}
References

Affected packages

Git / github.com/cloudfoundry/bosh

Affected ranges

Type
GIT
Repo
https://github.com/cloudfoundry/bosh
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "source": "CPE_RANGE",
    "cpe": "cpe:2.3:a:cloud_foundry:bosh:*:*:*:*:*:*:*:*",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "282.1.12"
        }
    ]
}

Affected versions

Other
scotty_09012012
v261.*
v261.2
v264.*
v264.1
v268.*
v268.2.1
v268.3.0
v268.4.0
v268.5.0
v268.6.0
v268.7.0
v269.*
v269.0.0
v270.*
v270.0.0
v270.1.0
v270.1.1
v270.10.0
v270.11.0
v270.12.0
v270.2.0
v270.3.0
v270.4.0
v270.5.0
v270.6.0
v270.7.0
v270.8.0
v270.9.0
v271.*
v271.0.0
v271.1.0
v271.10.0
v271.11.0
v271.12.0
v271.13.0
v271.14.0
v271.15.0
v271.16.0
v271.17.0
v271.18.0
v271.19.0
v271.2.0
v271.20.0
v271.3.0
v271.4.0
v271.5.0
v271.6.0
v271.7.0
v271.8.0
v271.9.0
v272.*
v272.0.0
v272.1.0
v272.2.0
v272.3.0
v272.4.0
v272.5.0
v272.6.0
v273.*
v273.0.0
v273.1.0
v274.*
v274.0.0
v274.1.0
v274.2.0
v274.3.0
v274.4.0
v275.*
v275.0.0
v275.1.0
v276.*
v276.0.0
v276.1.0
v276.1.1
v277.*
v277.0.0
v277.1.0
v277.2.0
v277.3.0
v277.3.1
v277.3.2
v277.3.3
v277.4.0
v277.4.1
v277.4.2
v277.4.3
v278.*
v278.0.0
v279.*
v279.0.0
v280.*
v280.0.0
v280.0.1
v280.0.10
v280.0.11
v280.0.12
v280.0.13
v280.0.14
v280.0.15
v280.0.16
v280.0.17
v280.0.18
v280.0.19
v280.0.2
v280.0.20
v280.0.21
v280.0.22
v280.0.23
v280.0.24
v280.0.25
v280.0.3
v280.0.4
v280.0.5
v280.0.6
v280.0.7
v280.0.8
v280.0.9
v280.1.0
v280.1.1
v280.1.10
v280.1.11
v280.1.12
v280.1.13
v280.1.14
v280.1.15
v280.1.16
v280.1.17
v280.1.18
v280.1.19
v280.1.2
v280.1.20
v280.1.21
v280.1.22
v280.1.3
v280.1.4
v280.1.5
v280.1.6
v280.1.7
v280.1.8
v280.1.9
v281.*
v281.0.0
v281.0.1
v282.*
v282.0.0
v282.0.1
v282.0.10
v282.0.2
v282.0.3
v282.0.4
v282.0.5
v282.0.6
v282.0.7
v282.0.8
v282.0.9
v282.1.0
v282.1.1
v282.1.10
v282.1.11
v282.1.2
v282.1.3
v282.1.4
v282.1.5
v282.1.6
v282.1.7
v282.1.8
v282.1.9

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-41009.json"