{"id":"CVE-2025-34031","state":"PUBLISHED","title":"Moodle LMS Jmol Plugin Path Traversal","description":"A path traversal vulnerability exists in the Moodle LMS Jmol plugin version 6.1 and prior via the query parameter in jsmol.php. The script directly passes user input to the file_get_contents() function without proper validation, allowing attackers to read arbitrary files from the server's filesystem by crafting a malicious query value. This vulnerability can be exploited without authentication and may expose sensitive configuration data, including database credentials. Exploitation evidence was observed by the Shadowserver Foundation on 2025-02-02 UTC.","publishedAt":"2025-06-24T00:58:57.345Z","updatedAt":"2026-05-14T02:07:24.308Z","severity":{"score":8.7,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["Moodle Jmol Plugin"],"affected":[{"vendor":"Moodle","product":"Jmol Plugin","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"6.1","versionType":"custom"}],"modules":["Moodle filter_jmol plugin (jsmol.php proxy script)"]}],"references":["https://www.dionach.com/moodle-jmol-plugin-multiple-vulnerabilities/","https://www.exploit-db.com/exploits/46881","https://vulncheck.com/advisories/moodle-lms-jmol-plugin-path-traversal"],"weaknesses":["CWE-22"],"ingestedAt":"2026-10-29T20:09:03.054Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/34xxx/CVE-2025-34031.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-34031","state":"PUBLISHED","datePublished":"2025-06-24T00:58:57.345Z","dateUpdated":"2026-05-14T02:07:24.308Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2025-04-15T19:15:22.546Z"},"containers":{"cna":{"title":"Moodle LMS Jmol Plugin Path Traversal","descriptions":[{"lang":"en","value":"A path traversal vulnerability exists in the Moodle LMS Jmol plugin version 6.1 and prior via the query parameter in jsmol.php. The script directly passes user input to the file_get_contents() function without proper validation, allowing attackers to read arbitrary files from the server's filesystem by crafting a malicious query value. This vulnerability can be exploited without authentication and may expose sensitive configuration data, including database credentials. Exploitation evidence was observed by the Shadowserver Foundation on 2025-02-02 UTC."}],"affected":[{"vendor":"Moodle","product":"Jmol Plugin","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"6.1","versionType":"custom"}],"modules":["Moodle filter_jmol plugin (jsmol.php proxy script)"]}],"references":[{"url":"https://www.dionach.com/moodle-jmol-plugin-multiple-vulnerabilities/","tags":["exploit","technical-description"]},{"url":"https://www.exploit-db.com/exploits/46881","tags":["third-party-advisory","exploit"]},{"url":"https://vulncheck.com/advisories/moodle-lms-jmol-plugin-path-traversal","tags":["third-party-advisory"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"NONE","attackVector":"NETWORK","baseScore":8.7,"baseSeverity":"HIGH","exploitMaturity":"NOT_DEFINED","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-22","description":"CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-05-14T02:07:24.308Z"},"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:a:geoffrowland:jmol:*:*:*:*:*:moodle:*:*","versionEndIncluding":"6.1","versionStartIncluding":"0","vulnerable":true}],"negate":false,"operator":"OR"}],"operator":"OR"}],"credits":[{"lang":"en","type":"finder","value":"Dionach by Nomios"}],"impacts":[{"capecId":"CAPEC-126","descriptions":[{"lang":"en","value":"CAPEC-126 Path Traversal"}]}],"source":{"discovery":"UNKNOWN"},"tags":["x_known-exploited-vulnerability"],"x_generator":{"engine":"vulncheck"},"datePublic":"2019-05-21T00:00:00.000Z"},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://www.exploit-db.com/exploits/46881","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-06-25T12:37:56.527120Z","id":"CVE-2025-34031","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-06-25T12:43:16.632Z"}}]}}}