CVE-2026-34239
Chamilo vulnerability analysis and mitigation

Overview

CVE-2026-34239 is an authenticated remote code execution (RCE) vulnerability in Chamilo LMS affecting version 1.11.40 and earlier. The flaw resides in the main/inc/ajax/lang.ajax.php endpoint (translate_portfolio_category action), which is insufficiently protected, allowing any authenticated course-enrolled user to trigger code execution. It was published on July 20, 2026, with the GitHub Security Advisory (GHSA-4hwq-pv7c-3928) originally published July 7, 2026. The CVE carries a CVSS v4.0 base score of 7.5 (High) (GitHub Advisory, Feedly).

Technical details

The root cause is improper authorization (CWE-285): the vulnerable endpoint main/inc/ajax/lang.ajax.php is guarded only by api_protect_course_script(true) (line 9), which verifies only that the user is authenticated and enrolled in a course — it does not enforce administrative or elevated role checks. This means students, teachers, and DRH (Human Resources Directors) can all reach the endpoint and potentially trigger server-side code execution. The attack vector is network-based, requires high privileges (a valid course-enrolled account), and has high attack complexity, suggesting some non-trivial exploitation steps are involved. No public PoC code has been identified at this time (GitHub Advisory, Feedly).

Impact

Successful exploitation results in full compromise of the vulnerable Chamilo LMS system, with high impact to confidentiality, integrity, and availability. An attacker with a course-enrolled account could execute arbitrary code on the server, potentially exfiltrating sensitive student and institutional data, modifying course content or system files, and disrupting platform availability. Subsequent system impact (lateral movement to other infrastructure) is rated as none in the CVSS scoring, but server-level code execution could still enable further post-exploitation depending on the deployment environment (GitHub Advisory).

Exploitability

As of the publication date, no active in-the-wild exploitation has been reported, and the NVD SSVC assessment lists exploitation as "none." The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.0029 (0.29%), indicating a low near-term probability of exploitation. No exploit kits or weaponized PoC code have been publicly identified (Feedly, GitHub Advisory).

Exploitation steps

  1. Reconnaissance: Identify internet-facing Chamilo LMS instances running version 1.11.40 or earlier using search engines (e.g., Shodan, Censys) or by inspecting version disclosure in the application footer or source.
  2. Obtain a valid account: Register or obtain credentials for any course-enrolled user account (student, teacher, or DRH role) on the target Chamilo instance.
  3. Authenticate: Log in to the Chamilo LMS platform to obtain a valid session cookie.
  4. Target the vulnerable endpoint: Send a crafted HTTP request to main/inc/ajax/lang.ajax.php using the translate_portfolio_category action, leveraging the authenticated session. The endpoint does not enforce admin-level authorization beyond course enrollment.
  5. Trigger code execution: Craft the request payload to exploit the insufficient authorization and inject server-side executable content or commands, achieving remote code execution on the host server (GitHub Advisory).

Indicators of compromise

  • Network: Unusual or repeated HTTP POST/GET requests to /main/inc/ajax/lang.ajax.php from non-administrative user sessions; outbound connections from the web server to unexpected external IPs following such requests.
  • Logs: Web server access logs showing requests to main/inc/ajax/lang.ajax.php with the translate_portfolio_category action from low-privilege user accounts (students, DRH); PHP error logs indicating unexpected code execution or file write operations.
  • File System: Newly created or modified PHP files in the Chamilo web root or upload directories; unexpected scripts or web shells placed in writable directories.
  • Process: Unusual child processes spawned by the web server process (e.g., php, apache2, nginx) such as bash, curl, wget, or reverse shell processes.

Mitigation and workarounds

The GitHub Security Advisory lists version 1.11.40 as the patched version; administrators should verify they are running the fixed release by checking the Chamilo changelog and applying the latest available update. As a workaround, restrict access to main/inc/ajax/lang.ajax.php at the web server level (e.g., via .htaccess or Nginx location rules) to administrative IP ranges only. Additionally, enforce the principle of least privilege by auditing course enrollment and user roles to minimize the attack surface (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Chamilo vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-39878CRITICAL9.3
  • Chamilo logoChamilo
  • cpe:2.3:a:chamilo:chamilo_lms
NoNoJul 20, 2026
CVE-2026-40291HIGH8.8
  • Chamilo logoChamilo
  • cpe:2.3:a:chamilo:chamilo_lms
NoNoApr 14, 2026
CVE-2026-35196HIGH8.8
  • Chamilo logoChamilo
  • cpe:2.3:a:chamilo:chamilo_lms
NoNoApr 14, 2026
CVE-2026-34239HIGH7.5
  • Chamilo logoChamilo
  • cpe:2.3:a:chamilo:chamilo_lms
NoNoJul 20, 2026
CVE-2026-34602HIGH7.1
  • Chamilo logoChamilo
  • cpe:2.3:a:chamilo:chamilo_lms
NoYesApr 14, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management