CVE-2026-61668
WysokieCVSS 8.1Streszczenie
Skrypt PilotWrapper.py w DIRAC pobiera archiwum pilot.tar oraz jego sumę kontrolną bez weryfikacji certyfikatu TLS, używając ssl._create_unverified_context. Atakujący mogący przekierować lub przechwycić ruch sieciowy (np. przez manipulację DNS lub routingiem) może podstawić zarówno kod pilota, jak i sumę kontrolną, co prowadzi do wykonania dowolnego kodu z dostępem do poświadczeń proxy pilota. Problem naprawiono w wersjach 8.0.79, 9.0.22 i 9.1.10.
Ocena ryzyka
Atakujący z możliwością przechwycenia ruchu sieciowego może wykonać dowolny kod w kontekście pilota i uzyskać dostęp do poświadczeń proxy, co może prowadzić do kompromitacji infrastruktury gridowej. Ryzyko jest wysokie w środowiskach rozproszonych, gdzie ruch między witrynami nie jest w pełni zaufany.
Rekomendacja
Zaktualizuj DIRAC do wersji 8.0.79, 9.0.22 lub 9.1.10, w których certyfikat serwera jest weryfikowany przez zaufanie systemowe oraz X509_CERT_DIR lub katalog certyfikatów gridu. Do czasu aktualizacji rozważ ograniczenie możliwości manipulacji ruchem sieciowym do serwerów pobierających pilot.
Inne podatności w DIRAC
Zobacz wszystkie- CVE-2026-61667Krytyczne
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ń.
- CVE-2026-45579Krytyczne
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.
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, WorkloadManagementSystem/Utilities/PilotWrapper.py pilotWrapperScript uses ssl._create_unverified_context to download the second-stage pilot.tar archive without TLS certificate verification and downloads the reference checksum through the same unvalidated channel. An attacker able to redirect or intercept a grid site's network traffic through DNS or routing manipulation can substitute both the executable pilot code and its checksum, causing arbitrary code to run in the pilot context with access to pilot proxy credentials. The fixed implementation validates the server certificate through system trust and X509_CERT_DIR or the grid certificate directory. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.

