Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister low-privilege Subscriber account
-
ExploitRead leaked wplr_auth_token from profile.php source
-
ExecutionSend cookie-less request to /?wplr-sync-api
-
ImpactDelete or upload arbitrary media attachments
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an attacker to obtain a valid wplr_auth_token. The documented path requires a Subscriber-level account (practical only where open user registration is enabled), who reads the token directly from the profile.php page source; the token leaks because the admin-screen guard in Meow_WPLR_Sync_Admin::__construct() is commented out, causing wp_localize_script to emit it on every admin page view. The token is then replayed in a cookie-less HTTP session against the /?wplr-sync-api endpoint to invoke wp_delete_attachment and upload actions. Limiting factors: all versions up to and including 6.5.6 are affected; impact is scoped to media attachments (destruction and unauthorized upload) rather than full site takeover; exploitation realistically depends on either self-registration being open or an existing low-trust account, which constrains fully anonymous exploitation despite the PR:N label. |
| Impact | Signals are mixed and point to a moderate, situational risk rather than a top-tier emergency. The vendor (Wordfence) CVSS 3.1 base score is 6.8 (Medium) with vector AV:N/AC:H/PR:N/UI:R, i.e. network-reachable, no privileges, but high attack complexity and required user interaction. No EPSS score, no CISA KEV listing, and no public POC were provided, so by the precision rules this is 'no public exploit identified at time of analysis' - there is no evidence of active or widespread exploitation. SSVC inputs (exploitation status, automatable, technical impact) were not supplied and cannot be asserted. A key internal conflict must be flagged: the vendor marks this PR:N/UI:R/AC:H, yet the only concrete exploitation path in the description is a Subscriber-level (authenticated, low-privilege) user reading their own wplr_auth_token from profile.php and then invoking destructive actions from a cookie-less session with no user interaction - that path reads more like PR:L/UI:N/AC:L. In other words, the headline 'unauthenticated attackers' claim is accurate for the final API call (the token works without a session cookie), but acquiring the token as documented requires at least a Subscriber account on a site with open registration. Technical impact is genuinely high for integrity and availability (permanent deletion of arbitrary media attachments and unauthorized uploads, I:H/A:H) with no confidentiality impact. Net: a real but not critical priority - prioritize on WordPress sites that allow self-registration or host low-trust users; deprioritize on locked-down single-admin installs. |
| Exploit ScenarioDerived | On a WordPress site running Photo Engine (WP/LR Sync) <= 6.5.6 that permits self-registration, an attacker creates a Subscriber account, opens profile.php, and copies the wplr_auth_token leaked into the page source by wp_localize_script (because the admin-screen guard in Meow_WPLR_Sync_Admin::__construct() is commented out). Using that token in a cookie-less HTTP request to /?wplr-sync-api, the attacker calls wp_delete_attachment to permanently destroy arbitrary media or uploads new files - actions that should require upload_files/edit_others_posts. No public exploit code was identified at the time of analysis, and the high attack complexity reflects the token-acquisition step rather than the trivial API call itself. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
An authorization bypass in the Photo Engine (Media Organizer & Lightroom) plugin for WordPress, affecting all versions up to and including 6.5.6, allows a lower-privileged account to permanently delete arbitrary media attachments and upload new ones without holding the required upload_files or edit_others_posts capabilities. The root problem is that the admin-screen guard in Meow_WPLR_Sync_Admin::__construct() is commented out, so wp_localize_script leaks the wplr_auth_token into every admin page view; a Subscriber can read their own token straight from the profile.php page source and replay it in a cookie-less HTTP session against the /?wplr-sync-api endpoint. No public exploit code has been identified at time of analysis, and although the published vector is PR:N, exploitation realistically depends on either open self-registration or an existing low-trust account, which constrains fully anonymous abuse; EPSS and KEV signals are absent, so this is a moderate, situational risk rather than an emergency.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. The vendor changeset at https://plugins.trac.wordpress.org/changeset/3737477/wplr-sync (with the API change at https://plugins.trac.wordpress.org/changeset/3737477/wplr-sync/trunk/classes/api.php) restores the missing authorization logic, so site owners should upgrade the wplr-sync plugin past 6.5.6 as soon as a tagged release containing that changeset is published, and validate the installed version rather than assuming. If upgrading is not immediately possible, the highest-value compensating control is to close the account path the attack depends on: disable WordPress self-registration (Settings > General > Membership) and audit existing Subscriber accounts, since exploitation realistically requires a low-trust authenticated user able to load an admin page. Additionally restrict or block access to the /?wplr-sync-api endpoint at the web server or WAF (deny requests carrying the wplr-sync-api query parameter from untrusted sources), accepting that this may break legitimate Lightroom synchronization until the patch is applied; the trade-off is reduced functionality for Media Organizer/Lightroom clients. Deactivating the plugin entirely removes the exposure at the cost of losing media organization features, and enabling 2FA or restricting wp-admin/profile.php access does not fully mitigate the token leak because the token is also emitted on other admin screens. Rollback and off-site backups of the media library remain important because the flaw permits permanent deletion of attachments.
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
CWE-862 (Missing Authorization) in the WordPress plugin wplr-sync, distributed by vendor Tigroumeow as Photo Engine (Media Organizer & Lightroom), CPE cpe:2.3:a:tigroumeow:photo_engine_(media_organizer_&_lightroom):*:*:*:*:*:*:*. The plugin exposes an AJAX-style endpoint accessed as /?wplr-sync-api, implemented in classes/api.php (referenced lines 32, 116, 201 and 309), which performs privileged media operations including wp_delete_attachment and attachment uploads. These operations are core WordPress functions normally gated by the upload_files and edit_others_posts capabilities, but the plugin's own authorization check is missing or ineffective, so possession of a valid wplr_auth_token alone is sufficient. The token is minted and localized to the browser by classes/core.php (line 923) and classes/admin.php (lines 56 and 155); because the admin screen guard in Meow_WPLR_Sync_Admin::__construct() is commented out, wp_localize_script emits the token on every admin page render, including profile.php, which any logged-in Subscriber can view. The design intent was evidently capability-based access control, but the guard removal turns a per-page token into a broadly readable secret, enabling token replay from a session with no cookies - meaning no nonce or session binding protects the endpoint. The EPSS score is not elevated and there is no CISA KEV entry, so the practical exposure depends on attacker access to an account capable of loading an admin page.
Know when PHP 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:H/PR:N/UI:R/S:U/C:N/I:H/A:H
The only documented token-acquisition path needs a Subscriber account (PR:L) but reading the leaked token and calling the API is trivial and attacker-driven (AC:L, UI:N); high integrity/availability impact from media deletion and upload, no confidentiality impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Photo Engine (Media Organizer & Lightroom) plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 6.5.6 This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to permanently delete arbitrary media attachments via wp_delete_attachment and upload new attachments to the site, actions that require the upload_files or edit_others_posts capabilities. A Subscriber-level user can obtain their own wplr_auth_token directly from the profile.php page source, because the admin screen guard in Meow_WPLR_Sync_Admin::__construct() is commented out, causing wp_localize_script to leak the token into every admin page view; this token can then be used from a cookie-less HTTP session to invoke destructive actions on the /?wplr-sync-api endpoint.
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
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-102787
GHSA-567q-wwf7-9p59
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB