Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-exposed REST endpoint, low complexity, Author-level credential required (PR:L); full CIA impact from arbitrary PHP execution on the server.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The LightSync Pro plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the rest_replace_media() function in all versions up to, and including, 2.1.6. This makes it possible for authenticated attackers, with Author-level access and above, to upload arbitrary files on the affected site's server which may make remote code execution possible.
AnalysisAI
Arbitrary file upload in LightSync Pro WordPress plugin (all versions through 2.1.6) enables authenticated attackers with Author-level access to upload executable files - including PHP webshells - via the unvalidated rest_replace_media() REST API function, with remote code execution as a realistic outcome. The root cause is CWE-434: missing file type validation on the server side, allowing any file extension to be accepted. No public exploit code has been identified at time of analysis and the vulnerability is not listed in CISA KEV, but the CVSS score of 8.8 reflects the high post-exploitation impact given the minimal privilege bar (Author role).
Technical ContextAI
LightSync Pro is a WordPress plugin designed to synchronize and replace media assets sourced from cloud platforms including Lightroom, Canva, Figma, Dropbox, and Shutterstock (CPE: cpe:2.3:a:lightsyncpro:lightsync_pro_-_connect_&_sync_cloud_assets_|_lightroom,_canva,_figma,_dropbox_&_shutterstock:*:*:*:*:*:*:*:*). The vulnerable function rest_replace_media() - located at approximately line 6755 and 6814 of includes/admin/class-admin.php in the 2.0.1 tag, per WordPress Trac - is exposed as a REST API endpoint. CWE-434 (Unrestricted Upload of File with Dangerous Type) describes the root cause: the function accepts user-supplied file content and stores it without checking the MIME type or file extension against an allowlist. WordPress core provides utility functions (e.g., wp_check_filetype_and_ext()) for this purpose, and their absence here is the structural defect. A fix was committed in WordPress Trac changeset 3507389 (diff against 3476495), indicating the validation logic was added upstream, but a formally released plugin version containing the fix is not confirmed in the provided data.
RemediationAI
Upstream fix available via WordPress Trac changeset 3507389 (https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3507389%40lightsyncpro%2Ftrunk&old=3476495%40lightsyncpro%2Ftrunk); a formally tagged plugin release version containing this fix was not confirmed in the available data - verify with the WordPress Plugin Directory and update to any version newer than 2.1.6 once a patched release is published. As a compensating control while awaiting the patch, administrators should restrict Author-level user registration if it is not operationally required, as this eliminates the low-privilege attack surface entirely. Alternatively, a WAF rule blocking file uploads containing PHP-executable extensions (.php, .phtml, .php5, etc.) to the REST endpoint rest_replace_media will block the most dangerous payloads, though this does not address the underlying validation gap. Disabling the LightSync Pro plugin entirely is the most reliable interim mitigation for environments where cloud sync functionality is not critical.
Same technique File Upload
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53180
GHSA-3675-4vjh-249r