Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister subscriber account
-
DeliveryRead leaked wplr_auth_token from admin page
-
ExploitCall /?wplr-sync-api with crafted hierarchy[].name
-
ExecutionStore unsanitized script payload
-
PersistAdmin/user views injected page
-
ImpactScript executes in victim browser context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker needs an authenticated subscriber-level (or higher) account on the target WordPress site; this is the primary limiting factor, so sites that disable open user registration substantially reduce exposure. The concrete exploitation path is specific to this plugin: the /?wplr-sync-api endpoint authenticates only via the wplr_auth_token usermeta and performs no capability check, and that token is disclosed on every admin page through localized script data because a screen-condition guard was commented out - allowing a subscriber to obtain the token and submit a malicious 'hierarchy[].name' value that is stored without sanitization or output escaping (CWE-79). Payload execution is deferred and requires a user (potentially an administrator) to later view the injected page; the stored script runs in that viewer's browser context. Affected: all versions up to and including 6.5.7; fixed in 6.5.8. |
| Impact | This is a real but moderate-priority issue, consistent with its 6.4 (Medium) CVSS and the 'this_month' decision label rather than an emergency. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) indicates network-reachable, low-complexity exploitation requiring only low privileges and no victim interaction to inject, with a scope change (code executes in other users' browser context) and limited confidentiality/integrity impact. The notable risk amplifier is the privilege barrier being effectively lower than 'subscriber' implies: per the description, the /?wplr-sync-api endpoint authenticates solely via the wplr_auth_token usermeta with no capability check, and that token is leaked on every admin page through localized script data because a screen-condition guard was commented out - so any subscriber can reach a code path that would otherwise look higher-privilege. No EPSS score was provided in the input, and the vulnerability is not listed in CISA KEV, so there is no signal of active exploitation; exploitation status is 'no public exploit identified at time of analysis' (the supplied references are vendor threat-intel and WordPress plugin source-code links, not working exploit code). SSVC-style signals are not fully provided, but technical impact is partial and exploitation is not automatable in the mass-scan sense because an attacker needs a valid subscriber account on the target site. Overall: a legitimately exploitable stored XSS worth patching on a normal cycle, not a drop-everything emergency, and the risk rises for sites that permit open/self-registration of subscriber accounts. |
| Exploit ScenarioDerived | An attacker registers or obtains a subscriber-level account on a WordPress site running Photo Engine (WP/LR Sync) ≤ 6.5.7, retrieves the wplr_auth_token exposed in admin-page localized script data, and calls the /?wplr-sync-api endpoint to submit a malicious 'hierarchy[].name' value containing a web script. The script is stored without sanitization and later executes in the browser of any user - including an administrator - who views the affected page, enabling session/credential theft or actions in that user's context. No public working exploit was identified at time of analysis, though the affected source lines are publicly visible in the plugin repository. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Stored cross-site scripting in the Photo Engine (Media Organizer & Lightroom) WordPress plugin, known in the plugin directory as wplr-sync, affects every version up to and including 6.5.7 and allows an authenticated attacker with only subscriber-level access to plant arbitrary script in the 'hierarchy[].name' field. The subscriber barrier is unusually low here because the plugin's /?wplr-sync-api endpoint authenticates solely on the wplr_auth_token usermeta with no capability check, and that token is exposed in localized script data on every admin page due to a commented-out screen-condition guard, so any registered user can reach the vulnerable write path. The injected script then executes when a victim - potentially an administrator - later views the poisoned page; the issue is rated 6.4 (Medium) on the CVSS 3.1 scale with a scope change, is tracked for remediation this month rather than as an emergency, is fixed in 6.5.8, and no public exploit code has been identified at time of analysis.
RemediationAI
Vendor-released patch: update the Photo Engine (wplr-sync) plugin to version 6.5.8 or later, which is the first tag containing the fix per the Trac changeset comparing 6.5.6 to 6.5.8, and confirm the upgrade through the plugin's Trac browser at https://plugins.trac.wordpress.org/changeset?old_path=/wplr-sync/tags/6.5.6&new_path=/wplr-sync/tags/6.5.8 alongside the Wordfence advisory. Because the exploitation prerequisite is an authenticated subscriber-level account, the most effective exposure reduction available before or alongside patching is to disable open user registration on affected WordPress sites and to remove or review existing low-privilege subscriber accounts, which substantially reduces the attack surface for this specific chain; note that this does not remove the vulnerable code path for legitimate low-privileged users who already hold accounts. No public exploit code has been identified at time of analysis, and the issue is prioritized for remediation this month rather than as an emergency, so scheduling the 6.5.8 upgrade within normal monthly patch cadence is appropriate while registration controls are applied in the interim.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the stored variant: the 'hierarchy[].name' parameter is written to the database without adequate sanitization and later rendered without output escaping, so markup supplied by a low-privileged user is persisted and replayed to other users' browsers. What makes this instance more than a routine self-XSS is the authentication design of the plugin's api.php endpoint, which relies exclusively on the wplr_auth_token usermeta value and performs no capability check, combined with the presence of that same token in localized script data emitted on admin screens because a screen-condition guard in the related code path was commented out. The plugin code paths referenced in the advisory trace this chain across api.php, core.php, explorer.php and admin.php in the 6.5.6 tag. The CVSS vector AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N reflects network reachability, low privileges required, no user interaction needed to inject, and a scope change because the stored payload executes in the security context of whichever user views the injected page rather than in the injector's context; confidentiality, integrity and availability impacts are each bounded to Low.
Know when Wordpress Plugin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Network-reachable API with a weak token-based auth bypass gives low-privilege access (PR:L), no attacker-side UI needed to inject, stored script crosses into victim browser context (S:C) with partial C/I impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Photo Engine (Media Organizer & Lightroom) plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'hierarchy[].name' parameter in all versions up to, and including, 6.5.7 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is exploitable by Subscribers because the /?wplr-sync-api endpoint authenticates solely via wplr_auth_token usermeta with no capability check, and the current user's token is exposed on every admin page via localized script data due to a commented-out screen-condition guard.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-115670
GHSA-m49q-p734-466h
NVD
CVE.org
EPSS
Exploit-DB