# All-in-One Video Gallery <= 4.9.7 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'embedcode' Post Meta

- **ID:** WPSEC-2026-1495
- **Plugin:** All-in-One Video Gallery – Video Player & Galleries for YouTube, Vimeo & Self-Hosted Videos (`all-in-one-video-gallery`), https://wordpress.org/plugins/all-in-one-video-gallery/
- **Affected versions:** all versions before 5.0.0
- **Fixed in:** 5.0.0 (Update to 5.0.0 or later.)
- **Severity:** Medium 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-10-23)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/all-in-one-video-gallery
- **Fix released:** 2026-10-22
- **Published:** 2026-10-23
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1495/

## Description

The All-in-One Video Gallery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'embedcode' and 'trailer_src' post meta in all versions up to, and including, 4.9.7. The cause is that these meta values were sanitized only by the plugin's own video editor form and were not registered with a sanitize callback. Values written another way, such as through XML-RPC custom fields, were stored unfiltered and later printed as raw HTML by the player. Because the plugin grants subscribers the capability to create and edit their own videos, 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.

## References

- https://wpsec.com/vuln/WPSEC-2026-1495/
- https://plugins.svn.wordpress.org/all-in-one-video-gallery/tags/5.0.0/
- https://wordpress.org/plugins/all-in-one-video-gallery/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-1495/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
