Platforma DevOps OneDev przed wersją 4.0.3 udostępnia endpointy REST związane z Kubernetes, które deserializują niezaufane dane bez jakiejkolwiek weryfikacji tożsamości użytkownika. Podatność umożliwia zdalne wykonanie kodu (RCE) przez nieuwierzytelnionego atakującego, co czyni ją wyjątkowo krytyczną.
▸ Pokaż oryginał (EN)
OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, a Kubernetes REST endpoint exposes two methods that deserialize untrusted data from the request body. These endpoints do not enforce any authentication or authorization checks. This issue may lead to pre-auth RCE. This issue was fixed in 4.0.3 by not using deserialization at KubernetesResource side.
Dwa endpointy REST w module KubernetesResource przyjmują dane z treści żądania HTTP i poddają je deserializacji bez uprzedniego sprawdzenia uwierzytelnienia ani autoryzacji. Atakujący może przesłać spreparowany payload zawierający złośliwy obiekt, który zostanie zdeserializowany po stronie serwera (CWE-502). Brak jakichkolwiek mechanizmów kontroli dostępu (CWE-74) oznacza, że exploit jest dostępny dla każdego, kto ma dostęp sieciowy do instancji OneDev. Luka została usunięta w wersji 4.0.3 poprzez całkowite wyeliminowanie deserializacji po stronie KubernetesResource.
Nieuwierzytelniony atakujący może zdalnie wykonać dowolny kod na serwerze (pre-auth RCE), co może prowadzić do pełnego przejęcia kontroli nad instancją OneDev oraz potencjalnie całym środowiskiem CI/CD i infrastrukturą Kubernetes.
Należy niezwłocznie zaktualizować OneDev do wersji 4.0.3 lub nowszej, w której deserializacja po stronie KubernetesResource została całkowicie usunięta. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do endpointów REST OneDev za pomocą firewall lub reguł sieciowych, tak aby były dostępne wyłącznie z zaufanych adresów IP.
OneDev (Onedev Project) we wszystkich wersjach przed 4.0.3
Poprawka dostępna w commicie 9637fc8fa461c5777282a0021c3deb1e7a48f137 w repozytorium GitHub projektu OneDev. Szczegóły opisano w security advisory GHSA-9mmq-fm8c-q4fv.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NOnedev Project Onedev
APPOnedev Project< 4.0.3
Powiązane podatności
OneDev: ucieczka z kontenera Docker i przejęcie hosta przez CI/CD
OneDev: Pominięcie uwierzytelnienia prowadzące do RCE przez endpoint git callback
OneDev: Dowolne przesyłanie plików przez AttachmentUploadServlet
OneDev — zdalne wykonanie kodu przez deserializację danych AJAX (post-auth RCE)
Pre-auth Server Side Template Injection w OneDev (przed 4.0.3)