CVE-2026-40291
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
W Chamilo LMS przed wersją 2.0.0-RC.3 wykryto podatność na niebezpieczną modyfikację obiektów w punkcie końcowym PUT /api/users/{id}. Każdy uwierzytelniony użytkownik z rolą ROLE_STUDENT może eskalować swoje uprawnienia do ROLE_ADMIN poprzez modyfikację pola roles we własnym rekordzie użytkownika.
Ocena ryzyka
Udana eksploatacja daje pełną kontrolę administracyjną nad platformą, w tym dostęp do wszystkich kursów, danych użytkowników, ocen i ustawień administracyjnych.
Rekomendacja
Zaktualizuj Chamilo LMS do wersji 2.0.0-RC.3 lub nowszej, która zawiera poprawkę.
Inne podatności w Chamilo LMS
Zobacz wszystkie- CVE-2026-45143Krytyczne
W Chamilo LMS od wersji 2.0.0 do co najmniej 2.1.0 prywatna treść wiadomości (Message.content) jest przechowywana bez sanityzacji po stronie serwera i renderowana jako HTML w MessageShow.vue oraz view_message.html.twig. Uwierzytelniony użytkownik o niskich uprawnieniach, w tym student, może wysłać spreparowaną wiadomość do administratora, która wykona się w przeglądarce odbiorcy po otwarciu skrzynki odbiorczej lub widoku wiadomości.
- CVE-2026-45140Krytyczne
W Chamilo LMS przed wersją 2.0.1 nieuwierzytelniony zdalny atakujący może wykonać dowolny kod na serwerze. Autorytatywne źródło nie wskazuje dotkniętego endpointu, komponentu, danych wejściowych ani mechanizmu wykorzystania.
- CVE-2026-39878Krytyczne
Chamilo LMS w wersjach 1.11.38 i wcześniejszych zawiera podatność przechowywanego skryptowania między witrynami w formularzu rejestracji użytkownika. Nieuwierzytelniony atakujący może wykonać dowolny JavaScript w sesji administratora, prowadząc do pełnego przejęcia konta administratora platformy.
- CVE-2026-32892Krytyczne
Chamilo LMS zawiera podatność OS Command Injection w funkcji przenoszenia plików, gdzie wartości ścieżek kontrolowane przez użytkownika są przekazywane bezpośrednio do poleceń powłoki exec() bez escapeshellarg(). Każdy uwierzytelniony użytkownik będący nauczycielem w kursie może przenieść dokument i wywołać wykonanie dowolnego polecenia jako użytkownik serwera web. Podatność naprawiono w wersjach 1.11.38 i 2.0.0-RC.3.
- CVE-2026-45145Wysokie
W Chamilo LMS przed wersją 2.0.1 pliki career.lib.php i import_csv.php wywołują natywną funkcję unserialize() na danych user_career.extra_data z bazy bez opcji allowed_classes: false. Atakujący mogący zapisać spreparowane obiekty PHP może wywołać łańcuchy POP gadget w komponentach Symfony, Doctrine lub Monolog, prowadząc do wykonania dowolnych poleceń systemowych. Podatność naprawiono w wersji 2.0.1.
- CVE-2026-45144Wysokie
W Chamilo LMS od wersji 2.0.0 do 2.0.1 endpoint GET /user/{username} jest dostępny anonimowo i renderuje sześć edytowalnych pól profilu w bloku {% autoescape false %} bez sanityzacji po stronie serwera. Atakujący z rolą ROLE_STUDENT może umieścić HTML w swoim profilu, który wykonuje się w przeglądarce odwiedzających, w tym administratorów. Podatność naprawiono w wersji 2.0.1.
- CVE-2026-45141Średnie
Chamilo LMS to open-source'owy system zarządzania nauczaniem. Przed wersją 2.0.1 akcje add, delete_gradebook_from_skill, save_profile i delete_profile w public/main/inc/ajax/skill.ajax.php wykonują mutacje bazy danych bez walidacji Security::check_token(). Atakujący może wykorzystać cross-site request forgery, aby zmusić uwierzytelnionego administratora lub DRH odwiedzającego złośliwą stronę do tworzenia, modyfikowania lub usuwania rekordów umiejętności i profili albo usuwania powiązań umiejętności z dziennikiem ocen. Problem naprawiono w wersji 2.0.1.
- CVE-2026-44344Średnie
Chamilo LMS to open-source'owy system zarządzania nauczaniem. W linii 1.x przed 1.11.40 i w linii 2.x przed 2.0.1 wiele wywołań eval() w dołączonych bibliotekach PEAR HTML_QuickForm może wykonać dowolny kod PHP, jeśli nazwy elementów formularza zawierają dane pod wpływem atakującego. Standardowe formularze Chamilo używają zakodowanych na stałe nazw elementów; wykorzystanie wymaga specyficznej dla dewelopera wtyczki lub błędnej konfiguracji, która pozwala danym wejściowym użytkownika dotrzeć do tych nazw elementów. Tam, gdzie ta warunkowa ścieżka istnieje, wpływ może być pełnym przejęciem serwera. Problem naprawiono w wersjach 1.11.40 i 2.0.1.
- CVE-2026-114390Średnie
Chamilo LMS w wersjach od 2.0.0-alpha.1 do przed 2.0.0-RC.3 zawiera podatność braku autoryzacji w starszych handlerach AJAX w katalogu public/main/inc/ajax/. Nieuwierzytelnieni lub nisko uprzywilejowani użytkownicy mogą wywoływać akcje takie jak get_users_by_group_course, user_by_all_roles i export_all_certificates, aby pozyskiwać nazwy użytkowników oraz pliki PDF certyfikatów innych kursantów.
- CVE-2026-114389Średnie
Chamilo LMS od wersji 2.0.0-alpha.4 przed 2.0.0-RC.3 zawiera podatność braku autoryzacji w AiController::openAnswerGrade, która pozwala każdemu uwierzytelnionemu użytkownikowi uzyskać ocenę AI prób egzaminacyjnych innych studentów. Atakujący mogą wyliczać wartości exeId i questionId wysyłane do punktu końcowego open_answer_grade, aby ujawnić odpowiedzi innych studentów poprzez informację zwrotną i zużyć limit AI.
Oryginalny opis (angielski, źródło NVD)
Chamilo LMS is an open-source learning management system. In versions prior to 2.0.0-RC.3, an insecure direct object modification vulnerability in the PUT /api/users/{id} endpoint allows any authenticated user with ROLE_STUDENT to escalate their privileges to ROLE_ADMIN by modifying the roles field on their own user record. The API Platform security expression is_granted('EDIT', object) only verifies record ownership, and the roles field is included in the writable serialization group, enabling any user to set arbitrary roles such as ROLE_ADMIN. Successful exploitation grants full administrative control of the platform, including access to all courses, user data, grades, and administrative settings. This issue has been fixed in version 2.0.0-RC.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

