CVE-2026-34160
HighCVSS 8.6Exploitation Probability (EPSS)
Low risk27th percentile - higher than 27% of all known CVEs
Summary
Chamilo LMS before version 2.0.0-RC.3 has a Server-Side Request Forgery (SSRF) vulnerability in the PENS plugin endpoint. The endpoint is accessible without authentication and accepts a package-url parameter that the server fetches without filtering private IP addresses.
Risk Assessment
An unauthenticated attacker can scan internal network services, access cloud metadata endpoints (e.g., 169.254.169.254) to steal IAM credentials, and trigger state-changing operations on internal services.
Recommendation
Update Chamilo LMS to version 2.0.0-RC.3 or later.
Other vulnerabilities in Chamilo LMS
See all- CVE-2026-39878Critical
Chamilo LMS versions 1.11.38 and earlier contain a stored cross-site scripting vulnerability in the user registration form. An unauthenticated attacker can execute arbitrary JavaScript in an administrator's browser session, leading to full platform admin account takeover.
- CVE-2026-40291High
In Chamilo LMS prior to version 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.
- CVE-2026-35196High
In Chamilo LMS prior to 2.0.0-RC.3, an OS command injection exists in main/inc/ajax/gradebook.ajax.php in the export_all_certificates action. The course code from the session is concatenated into shell_exec() without sanitization, allowing arbitrary command execution via session manipulation.
- CVE-2026-34602High
An Insecure Direct Object Reference (IDOR) vulnerability in the /api/course_rel_users endpoint of Chamilo LMS prior to version 2.0.0-RC.3. An authenticated attacker can modify the user parameter in the request to enroll any arbitrary user into any course without proper authorization. The backend trusts user-supplied input and does not verify if the requester has permission to act on behalf of other users.
- CVE-2026-34370Medium
Chamilo LMS versions prior to 2.0.0-RC.3 have an IDOR vulnerability in the notebook module. An authenticated student can read private notes of any other user by manipulating the notebook_id parameter in the editnote action. The application fetches note content without ownership verification.
- CVE-2026-34161Medium
Chamilo LMS is an open-source learning management system. In versions prior to 2.0.0-RC.3, a Stored Cross-Site Scripting (XSS) vulnerability exists in the social post attachment upload functionality. An authenticated user can upload a malicious HTML file containing JavaScript via the /api/social_post_attachments endpoint. The file is served without sanitization, content type restrictions, or Content-Disposition header, causing JavaScript execution in the application context. This can lead to session hijacking, account takeover, privilege escalation, and other actions. This issue has been fixed in version 2.0.0-RC.3.
- CVE-2026-33715High
Chamilo LMS version 2.0-RC.2 has an unauthenticated endpoint install.ajax.php that accepts arbitrary Symfony Mailer DSN, enabling SSRF into internal networks via SMTP. An unauthenticated attacker can also use the server as an open email relay.
- CVE-2023-39582Medium
SQL Injection vulnerability in Chamilo LMS versions 1.11 through 1.11.20 allows a remote privileged attacker to obtain sensitive information via the import sessions functions.
- CVE-2023-31807Medium
A Cross-Site Scripting vulnerability was found in Chamilo LMS version 1.11.18. It allows a local attacker to execute arbitrary code via a crafted payload in the personal notes function.
- CVE-2023-31806Medium
A Cross-Site Scripting (XSS) vulnerability was found in Chamilo LMS version 1.11.18 in the 'My Progress' function. A local attacker can execute arbitrary JavaScript code via a crafted payload.
Original NVD description (English source)
Chamilo LMS is an open-source learning management system. In versions prior to 2.0.0-RC.3, the PENS (Package Exchange Notification Services) plugin endpoint at public/plugin/Pens/pens.php is accessible without authentication and accepts a user-controlled package-url parameter that the server fetches using curl without filtering private or internal IP addresses, enabling unauthenticated Server-Side Request Forgery (SSRF). An attacker can exploit this to probe internal network services, access cloud metadata endpoints (such as 169.254.169.254) to steal IAM credentials and sensitive instance metadata, or trigger state-changing operations on internal services via the receipt and alerts callback parameters. No authentication is required to exploit either SSRF vector, significantly increasing the attack surface. This issue has been fixed in version 2.0.0-RC.3.

