CRITICAL🇬🇧 English

CVE-2021-21243

OneDev — pre-auth RCE przez deserializację w endpointach Kubernetes

CVSS 10.0v3.1pub. 2021-01-15upd. 2024-11-21

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.

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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.

Kogo dotyczy

OneDev (Onedev Project) we wszystkich wersjach przed 4.0.3

Uwagi

Poprawka dostępna w commicie 9637fc8fa461c5777282a0021c3deb1e7a48f137 w repozytorium GitHub projektu OneDev. Szczegóły opisano w security advisory GHSA-9mmq-fm8c-q4fv.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
  • Onedev Project Onedev

    APP
    Onedev Project
    < 4.0.3
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
DeserializationContainer
CWE
Referencje

Powiązane podatności

CVE-2022-39206CRITICAL9.9PL ✓ten sam produkt

OneDev: ucieczka z kontenera Docker i przejęcie hosta przez CI/CD

CVE-2022-39205CRITICAL9.0PL ✓ten sam produkt

OneDev: Pominięcie uwierzytelnienia prowadzące do RCE przez endpoint git callback

CVE-2021-21245CRITICAL10.0PL ✓ten sam produkt

OneDev: Dowolne przesyłanie plików przez AttachmentUploadServlet

CVE-2021-21247CRITICAL9.6PL ✓ten sam produkt

OneDev — zdalne wykonanie kodu przez deserializację danych AJAX (post-auth RCE)

CVE-2021-21244CRITICAL10.0PL ✓ten sam produkt

Pre-auth Server Side Template Injection w OneDev (przed 4.0.3)