Stored XSS in Embed Google Photos album threatens WordPress up to 2.2.1

Step by step
How the attack unfolded
Click a phase for details – or let the animation play through.
PHASE 1/5 · Initial Access

An attacker uses a legitimate account with at least Contributor privileges to create content in the WordPress system.

T1078 – Valid Accounts
  • CVSS vector PR:H – requires elevated privileges (Contributor or higher)
  • Affected: external editors, freelance authors or multiple editorial accounts
  • Plugin 'Embed Google Photos album' (slug: embed-google-photos-album-easily) up to version 2.2.1
PHASE 2/5 · Injection & Persistence

The attacker creates a post with a manipulated shortcode whose malicious code is permanently stored in the database.

T1505.003 – Server Software Component: Web Shell T1059.007 – Command and Scripting Interpreter: JavaScript
  • Stored XSS via the link attribute of the [embed-google-photos-album] shortcode
  • CVE-2026-14290, CWE-79, CVSS 6.8 (Medium)
  • link parameter was not escaped with esc_attr()/esc_url()
  • Malicious code remains permanently stored in the post
PHASE 3/5 · Execution

When an administrator opens the post, the embedded JavaScript is automatically executed in their browser.

T1204.001 – User Execution: Malicious Link T1059.007 – Command and Scripting Interpreter: JavaScript
  • CVSS vector UI:R – requires user interaction (opening the post)
  • Code runs in the browser context of the logged-in administrator
  • Network-based attack (AV:N), low complexity (AC:L)
PHASE 4/5 · Privilege Escalation

Through the code running in the admin browser, the attacker can perform higher-privileged actions on behalf of the administrator.

T1548 – Abuse Elevation Control Mechanism
  • Abuse of the administrator session in the browser context
  • Execution of actions on behalf of the admin
  • CVSS: C:H/I:H/A:H – high impact on confidentiality, integrity and availability
PHASE 5/5 · Collection & Impact

The attacker can hijack the admin session, exfiltrate data and compromise the website.

T1539 – Steal Web Session Cookie T1005 – Data from Local System
  • Abuse of the session to exfiltrate data
  • Over 3,000 active installations (as of 16 Aug 2026)
  • EPSS 0.29% (22nd percentile), not in the CISA KEV catalog
  • WPScan announced PoC release for 25 Aug 2026
Short & clear answers
Frequently asked questions about this incident
Am I affected by CVE-2026-14290?
Affected WordPress sites have the "Embed Google Photos album" plugin (slug: embed-google-photos-album-easily) installed and active in any version up to and including 2.2.1. In addition, there must be user accounts with Contributor rights or higher. Check the exact version under Plugins > Installed Plugins and confirm the exact slug, as similarly named plugins exist.
What should I do right now?
First create a full backup of your files and database and verify it can be restored. Then update the plugin to at least version 2.2.2, which fixes the flaw according to the vendor changelog. If you cannot update promptly, temporarily deactivate or remove the plugin.
How dangerous is this vulnerability really?
The flaw is rated CVSS 6.8 ("Medium"). An attacker needs an account with at least Contributor rights, and someone must open the crafted post. If the malicious code runs in a logged-in administrator's browser, it can hijack their session, perform actions in the admin's name, or steal data.
Are there already attacks exploiting this flaw?
At the time of research there was no confirmed evidence of active exploitation, and the CVE was not listed in CISA's KEV catalog. The EPSS score was only 0.29%. However, WPScan announced it would publish its proof of concept on August 25, 2026 – after that date the likelihood of attackers using the public exploit increases.
How can I tell if my posts have already been tampered with?
Search your posts, pages, drafts, and revisions for the shortcode [embed-google-photos-album and check the link parameter. It should only contain expected, public Google Photos URLs; any unexpected quotation marks, event handlers, or script fragments are suspicious. Never test suspected malicious code on your live system, and preserve suspicious posts with timestamp and author info before cleaning them up.
More security news
You might also be interested in
Critical Elementor Pro Flaw: Attackers Can Fully Take Over WordPress Sites
A file upload bug in Elementor Pro up to 4.2.1 allows RCE without login. Version 4.2.2 fixes the flaw – update now!
Pods Plugin: Critical Flaw Enables Admin Takeover, No Login
A critical flaw in the WordPress plugin Pods lets attackers overwrite admin passwords without login. Over 100,000 sites are affected.
miniOrange SAML SSO: Critical Bypass Turns Attackers Into Admins
Two critical auth bypasses in the miniOrange SAML SSO plugin allow forged SAML assertions—up to full WordPress admin access.