OneDev w wersjach przed 4.0.3 zawiera krytyczną podatność umożliwiającą zdalne wykonanie kodu bez uwierzytelnienia (pre-auth RCE). Luka wynika z niebezpiecznej deserializacji niezaufanych danych przyjmowanych przez serwlet odpowiedzialny za przesyłanie załączników.
▸ Pokaż oryginał (EN)
OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, there is a critical vulnerability which can lead to pre-auth remote code execution. AttachmentUploadServlet deserializes untrusted data from the `Attachment-Support` header. This Servlet does not enforce any authentication or authorization checks. This issue may lead to pre-auth remote code execution. This issue was fixed in 4.0.3 by removing AttachmentUploadServlet and not using deserialization
Komponent AttachmentUploadServlet deserializuje dane przekazywane w nagłówku HTTP `Attachment-Support` bez jakiejkolwiek weryfikacji tożsamości lub uprawnień wywołującego. Atakujący może skonstruować złośliwy payload i przesłać go w tym nagłówku do podatnego endpointu. Ponieważ serwlet nie wymaga uwierzytelnienia, exploit jest dostępny dla każdego, kto ma dostęp sieciowy do instancji OneDev. Podatność została usunięta w wersji 4.0.3 poprzez całkowite usunięcie AttachmentUploadServlet i rezygnację z deserializacji.
Atakujący nieposiadający żadnych uprawnień może zdalnie wykonać dowolny kod na serwerze (RCE), co prowadzi do pełnego przejęcia kontroli nad instancją OneDev oraz potencjalnie całą infrastrukturą, na której działa platforma.
Należy niezwłocznie zaktualizować OneDev do wersji 4.0.3 lub nowszej. W wersji 4.0.3 producent usunął podatny komponent AttachmentUploadServlet i wyeliminował użycie deserializacji. Do czasu wdrożenia patcha zaleca się ograniczenie dostępu sieciowego do instancji OneDev wyłącznie do zaufanych adresów IP.
OneDev (Onedev Project) we wszystkich wersjach przed 4.0.3
Podatność dotyczy endpointu niewymagającego żadnego uwierzytelnienia (pre-auth), co czyni ją szczególnie groźną dla instancji OneDev wystawionych publicznie w Internecie. Poprawka dostępna w repozytorium GitHub pod wskazanym commitem.
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)