CVE-2026-45579
KrytyczneCVSS 9.9Streszczenie
W frameworku DIRAC w wersjach przed 8.0.79, 9.0.22 i 9.1.10 funkcja export_getRequestCountersWeb w ReqManagerHandler.py przekazuje kontrolowany przez uwierzytelnionego użytkownika parametr groupingAttribute do getRequestCountersWeb w RequestDB.py. Nierozpoznana wartość jest rozwiązywana względem obiektu Request i ewaluowana jako kod Pythona, co pozwala na wykonanie poleceń systemowych.
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, the RequestManagementSystem/Service/ReqManagerHandler.py export_getRequestCountersWeb function passes an authenticated caller-controlled groupingAttribute to RequestManagementSystem/DB/RequestDB.py getRequestCountersWeb. An unrecognized value is resolved against the Request object and evaluated as Python code, allowing a crafted dunder attribute expression to reach operating-system functions and execute commands 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.

