Gdy dyrektor wysyła długotrwałe żądanie (np. compile_package), odpowiedź JSON agenta jest konsumowana przez AgentClient. inject_compile_log (linia 332-339) odczytuje response['value']['result']['compile_log_id'] i format_exception (linia 318-325) odczytuje exception['blobstore_id']; oba przekazują niezmodyfikowany ciąg dostarczony przez agenta do download_and_delete_blob(blob_id) (linia 344-349), który wywołuje @resource_manager.get_resource(blob_id) oraz w bloku ensure @resource_manager.delete_resource(blob_id). Api::ResourceManager przekazuje identyfikator bezpośrednio do blobstore.get(id) / blobstore.delete(id). Gdy dyrektor jest skonfigurowany z lokalnym dostawcą blobstore, Blobstore::LocalClient#object_file_path(oid) to File.join(@blobstore_path, oid) (local_client.rb:54-56) bez normalizacji, więc oid = "../../jobs/director/config/director.yml" rozwiązuje się poza głównym katalog
▸ Pokaż oryginał (EN)
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
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XCloud Foundry Bosh
APPCloud Foundry< 282.1.12
Powiązane podatności
Cloud Foundry BOSH 270.x versions prior to v270.1.1, contain a BOSH Director that does not properly redact cre...
Cloud Foundry BOSH, versions v264 prior to v264.14.0 and v265 prior to v265.7.0 and v266 prior to v266.8.0 and...
An issue was discovered in Cloud Foundry Foundation BOSH Release 261.x versions prior to 261.3 and all 260.x v...
AgentClient#handle_method (linie 264-303) przetwarza każdą odpowiedź NATS. Wywołuje inject_compile_log (linia ...
Cloud Foundry Bits Service, versions prior to 2.18.0, includes an information disclosure vulnerability. A remo...