{"id":"CVE-2026-32931","summary":"Chamilo LMS has Arbitrary File Upload via MIME-Only Validation in Exercise Sound Upload Leads to RCE","details":"Chamilo LMS is a learning management system. Prior to 1.11.38 and 2.0.0-RC.3, an unrestricted file upload vulnerability in the exercise sound upload function allows an authenticated teacher to upload a PHP webshell by spoofing the Content-Type header to audio/mpeg. The uploaded file retains its original .php extension and is placed in a web-accessible directory, enabling Remote Code Execution as the web server user (www-data). This vulnerability is fixed in 1.11.38 and 2.0.0-RC.3.","aliases":["GHSA-863j-h6pf-3xhx"],"modified":"2026-07-15T01:48:55.907226955Z","published":"2026-04-10T17:50:40.176Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-434"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32931.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32931.json"},{"type":"ADVISORY","url":"https://github.com/chamilo/chamilo-lms/security/advisories/GHSA-863j-h6pf-3xhx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-32931"},{"type":"FIX","url":"https://github.com/chamilo/chamilo-lms/commit/8cbe660de267f2b6ed625433bdfcf38dee8752b4"},{"type":"FIX","url":"https://github.com/chamilo/chamilo-lms/commit/d5ef5153df3d1b2de112cbeb190cdd10bea457f3"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/chamilo/chamilo-lms","events":[{"introduced":"0"},{"fixed":"abb5547a46a96339dfe6079e9b7ecd329bca181a"},{"fixed":"8cbe660de267f2b6ed625433bdfcf38dee8752b4"},{"fixed":"d5ef5153df3d1b2de112cbeb190cdd10bea457f3"}],"database_specific":{"cpe":"cpe:2.3:a:chamilo:chamilo_lms:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"1.11.38"}],"source":["CPE_RANGE","REFERENCES"]}}],"versions":["v1.11.36","v2.0.0-RC.2","v2.0.0-RC.1","v2.0.0-beta.3","v2.0.0-beta.1","v2.0.0-alpha.5","v2.0.0-alpha.4","v2.0.0-alpha.3","v1.11.32","v1.11.30","v1.11.30-rc.1","v2.0.0-alpha.2","v1.11.28","v2.0.0-alpha.1","v1.11.26","v1.11.26-rc.1","v1.11.24","v1.11.22","v1.11.22-beta.2","v1.11.22-beta.1","v1.11.20-beta.1","v1.11.20","v1.11.18","v1.11.14","v1.11.14-beta.1","v1.11.12","v1.11.10","v1.11.6","v1.11.6-alpha.1","v1.9.8","CHAMILO_1_9_6_STABLE","CHAMILO_1_9_6_RC_2","CHAMILO_1_9_6_RC_1","CHAMILO_1_9_4_STABLE","CHAMILO_1_9_4_RC_1","CHAMILO_1_9_4_ALPHA_1","CHAMILO_1_9_2_STABLE_QUARTER","CHAMILO_1_9_2_STABLE","CHAMILO_1_9_0_STABLE_3","CHAMILO_1_9_0_STABLE_2","CHAMILO_1_9_0_RC_1","CHAMILO_1_8_8_4_STABLE","CHAMILO_1_9_0_ALPHA_4","CHAMILO_1_9_0_ALPHA_2","CHAMILO_1_9_0_ALPHA_1","CHAMILO_1_9_0_PRE_ALPHA","CHAMILO_1_8_8.3_STABLE_4","CHAMILO_1_8_8_2_STABLE_2","CHAMILO_1_8_8_2_STABLE","CHAMILO_1_8_8_2_RC_1","CHAMILO_1_8_8_BETA_2","CHAMILO_1_8_8_BETA_1","CHAMILO_1_8_8_ALPHA","CHAMILO_1_8_7_STABLE_BIS","CHAMILO_1_8_7_STABLE","CHAMILO_1_8_7_RC2","CHAMILO_1_8_7_RC_1","CHAMILO_1_8_7_ALPHA_2","CHAMILO_1_8_7_ALPHA_1","v1.8.6.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-32931.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}