CVE-2026-41009
ŚrednieCVSS 5.8Streszczenie
Podatność CVE-2026-41009 dotyczy BOSH Director, gdzie odpowiedź agenta na długoterminowe żądania może prowadzić do nieautoryzowanego dostępu do plików systemowych. W wyniku braku normalizacji identyfikatora blob, możliwe jest odwołanie się do plików poza katalogiem głównym blobstore.
Ocena ryzyka
Organizacja może być narażona na wyciek wrażliwych danych lub nieautoryzowany dostęp do plików konfiguracyjnych, co może prowadzić do poważnych incydentów bezpieczeństwa.
Rekomendacja
Zaleca się aktualizację BOSH Director do wersji v282.1.12 lub nowszej, aby zniwelować tę podatność. Dodatkowo, warto przeprowadzić audyt dostępu do plików w systemie.
Inne podatności w BOSH Director
Zobacz wszystkie- CVE-2026-41704Średnie
Podatność CVE-2026-41704 dotyczy BOSH Director, gdzie metoda AgentClient#handle_method przetwarza odpowiedzi NATS, co prowadzi do nieautoryzowanego dostępu do zasobów w blobstore. Brak odpowiednich kontroli, takich jak sprawdzenie formatu UUID, uprawnień oraz prefiksu przestrzeni nazw, umożliwia nieautoryzowane usunięcie zasobów.
- CVE-2026-41010Wysokie
W BOSH Director (wszystkie wersje przed v282.1.12) funkcja ReleaseJob#unpack buduje ścieżki job_dir i job_tgz używając nazwy z atakującego pliku release.MF. Te ścieżki są interpolowane do polecenia powłoki bez odpowiedniego escapowania, co pozwala na wstrzyknięcie poleceń powłoki przez metaznaki w nazwie. Atakujący może wykonać dowolne polecenia w kontekście BOSH Director.
Oryginalny opis (angielski, źródło NVD)
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

