W systemie zarządzania treścią UCMS w wersji 1.4.8 istnieje podatność umożliwiająca atakującemu wykonanie dowolnych poleceń systemowych. Luka jest krytyczna, ponieważ nie wymaga uwierzytelnienia ani interakcji użytkownika, a jej wykorzystanie może prowadzić do pełnego przejęcia kontroli nad serwerem.
▸ Pokaż oryginał (EN)
An arbitrary command execution vulnerability exists in the fopen() function of file writes of UCMS v1.4.8, where an attacker can gain access to the server.
Podatność występuje w funkcji fopen() odpowiedzialnej za operacje zapisu plików w aplikacji UCMS. Błąd jest sklasyfikowany jako CWE-434 (Unrestricted Upload of File with Dangerous Type), co wskazuje, że aplikacja nie weryfikuje w wystarczający sposób zawartości lub typu zapisywanych plików. Atakujący może wykorzystać tę lukę do umieszczenia na serwerze pliku zawierającego złośliwy kod i doprowadzić do jego wykonania w kontekście serwera.
Skuteczne wykorzystanie podatności pozwala atakującemu na uzyskanie nieautoryzowanego dostępu do serwera i wykonanie dowolnych poleceń systemowych, co może skutkować pełnym przejęciem serwera, kradzieżą danych lub dalszym lateral movement w sieci.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się ograniczenie dostępu do funkcji zapisu plików na poziomie serwera oraz wdrożenie restrykcyjnych reguł firewall blokujących nieautoryzowany dostęp do panelu administracyjnego.
UCMS w wersji 1.4.8 (projekt Ucms Project)
Podatność została opisana publicznie przez badacza sunian19 w serwisie GitHub (wpis z 2020-09-08), przed oficjalną datą publikacji CVE (2020-10-23).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HUcms Project Ucms
APPUcms Project1.4.8
Powiązane podatności
UCMS v1.6.0 — pominięcie uwierzytelnienia poprzez cookie poisoning
UCMS 1.6 — podatność arbitrary file upload w panelu administracyjnym
UCMS v1.6 — podatność umożliwiająca usuwanie dowolnych plików
Nieograniczony upload plików w UCMS 1.5.0 umożliwiający przejęcie serwera
SQL injection w UCMS 1.4.6 podczas instalacji (mysql_dbname)