CRITICAL🇬🇧 English

CVE-2026-32892

OS Command Injection w Chamilo LMS — funkcja przenoszenia plików

CVSS 9.1v3.1pub. 2026-04-10upd. 2026-04-17

Chamilo LMS przed wersjami 1.11.38 i 2.0.0-RC.3 zawiera podatność typu OS command injection w funkcji przenoszenia plików. Każdy uwierzytelniony użytkownik posiadający rolę nauczyciela może wykonać dowolne polecenia systemowe jako użytkownik serwera WWW.

Pokaż oryginał (EN)

Chamilo LMS is a learning management system. Prior to 1.11.38 and 2.0.0-RC.3, Chamilo LMS contains an OS Command Injection vulnerability in the file move function. The move() function in fileManage.lib.php passes user-controlled path values directly into exec() shell commands without using escapeshellarg(). When a user moves a document via document.php, the move_to POST parameter — which only passes through Security::remove_XSS() (an HTML-only filter) — is concatenated directly into shell commands such as exec("mv $source $target"). By default, Chamilo allows all authenticated users to create courses (allow_users_to_create_courses = true). Any user who is a teacher in a course (including self-created courses) can move documents, making this vulnerability exploitable by any authenticated user. The attacker must first place a directory with shell metacharacters in its name on the filesystem (achievable via Course Backup Import), then move a document into that directory to trigger arbitrary command execution as the web server user (www-data). This vulnerability is fixed in 1.11.38 and 2.0.0-RC.3.

🤖 Analiza AI
Jak działa

Funkcja move() w pliku fileManage.lib.php przekazuje kontrolowane przez użytkownika wartości ścieżek bezpośrednio do poleceń powłoki wykonywanych przez exec(), bez zastosowania funkcji escapeshellarg(). Parametr POST move_to przechodzi jedynie przez filtr Security::remove_XSS(), który usuwa wyłącznie znaczniki HTML, nie neutralizując metaznaków powłoki. Atakujący musi najpierw umieścić na serwerze katalog zawierający metaznaki powłoki w nazwie (co jest możliwe przez funkcję importu kopii zapasowej kursu), a następnie przenieść do niego dokument — powodując konkatenację złośliwej nazwy ścieżki do polecenia exec("mv $source $target") i tym samym wykonanie dowolnego kodu. Domyślna konfiguracja Chamilo zezwala wszystkim uwierzytelnionym użytkownikom na tworzenie kursów, co sprawia, że wymagany kontekst nauczyciela jest osiągalny przez każdego zalogowanego użytkownika.

Skutki

Atakujący może wykonać dowolne polecenia systemowe w kontekście użytkownika serwera WWW (www-data), co może prowadzić do pełnego przejęcia kontroli nad serwerem, wycieku danych oraz kompromitacji innych systemów dostępnych z poziomu serwera.

Mitygacja

Należy zaktualizować Chamilo LMS do wersji 1.11.38 lub nowszej (gałąź 1.x) albo do wersji 2.0.0-RC.3 lub nowszej (gałąź 2.x). Poprawki dostępne są w referencjach producenta: commit 3597b19b73d73d681e4fb503285e9bbfe71714bf oraz commit 62671e5e268f235cddfba704edee90f35c234df1. Dodatkowo, jako środek zaradczy, można rozważyć wyłączenie możliwości tworzenia kursów przez zwykłych użytkowników (allow_users_to_create_courses = false) oraz ograniczenie dostępu do funkcji importu kopii zapasowych kursów.

Kogo dotyczy

Chamilo LMS w wersjach wcześniejszych niż 1.11.38 (gałąź 1.x) oraz wcześniejszych niż 2.0.0-RC.3 (gałąź 2.x)

Uwagi

Podatność wymaga uwierzytelnienia oraz przeprowadzenia ataku dwuetapowego: najpierw utworzenia katalogu z metaznakami powłoki w nazwie (przez import kopii zapasowej kursu), a następnie wywołania funkcji przenoszenia dokumentu. Szczegółowe informacje dostępne w poradniku bezpieczeństwa GitHub: GHSA-59cv-qh65-vvrr.

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

    APP
    Chamilo
    2.0.0< 1.11.38
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
XSSCommand Injection
CWE
Referencje

Powiązane podatności

CVE-2026-33707CRITICAL9.4PL ✓ten sam produkt

Chamilo LMS — przewidywalny token resetowania hasła (CWE-640)

CVE-2026-33698CRITICAL9.3PL ✓ten sam produkt

Chamilo LMS: ominięcie uwierzytelnienia i modyfikacja plików przez katalog install

CVE-2026-28430CRITICAL9.3PL ✓ten sam produkt

Niezauwytoryzowany SQL injection w Chamilo LMS — przejęcie konta administratora

CVE-2025-59542CRITICAL9.0PL ✓ten sam produkt

Stored XSS w Chamilo LMS — przejęcie kont wyżej uprzywilejowanych użytkowników

CVE-2025-59543CRITICAL9.0PL ✓ten sam produkt

Stored XSS w Chamilo LMS umożliwiający przejęcie kont administratorów