CVE-2026-61667
KrytyczneCVSS 9.9Streszczenie
W frameworku DIRAC w wersjach przed 8.0.79, 9.0.22 i 9.1.10 funkcja checkDataset w FileCatalogHandler.py przekazuje kontrolowaną przez uwierzytelnionego użytkownika wartość datasets do __checkDataset w DatasetManager.py, gdzie datasetName jest wstawiany do zapytania SQL FC_MetaDatasets bez parametryzacji. Wstrzyknięta kwerenda może kontrolować wartość MetaQuery, która jest przekazywana do eval w Pythonie, co umożliwia wykonanie poleceń.
Ocena ryzyka
Uwierzytelniony atakujący może wykonać dowolne polecenia jako konto uruchamiające usługi DIRAC, ujawnić dirac.cfg, hasła do baz danych, przechowywane proxy i tokeny, a także zmodyfikować lokalne logi. Może to doprowadzić do pełnego przejęcia systemu DIRAC.
Rekomendacja
Zaktualizuj DIRAC do wersji 8.0.79, 9.0.22 lub 9.1.10 (lub nowszej). Rozważ rotację poświadczeń (haseł do baz danych, tokenów, proxy) w przypadku podejrzenia wykorzystania luki.
Inne podatności w DIRAC
Oryginalny opis (angielski, źródło NVD)
DIRAC is an interware, meaning a software framework for distributed computing. Prior to versions 8.0.79, 9.0.22, and 9.1.10, DataManagementSystem/Service/FileCatalogHandler.py checkDataset forwards an authenticated caller-controlled datasets value to DatasetManager.py __checkDataset, where datasetName is interpolated into an FC_MetaDatasets SQL query without parameterization. The injected query can control the returned MetaQuery value, which is passed to Python eval and permits command execution as the account running the DIRAC services. Successful exploitation can expose dirac.cfg, database passwords, stored proxies, and tokens, fully compromise the DIRAC system, and allow alteration of local log evidence. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.

