CVE-2026-107757: Gallery Custom Links <= 2.3.3 - Authenticated (Subscriber+) Stored Cross-Site Scripting via Comment Author Display Name + Comment HTML Comment Body
The Gallery Custom Links plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'displayname (profile.php) + comment (wp-comments-post.php)' parameter in all versions up to, and including, 2.3.3 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. The exploit requires two coordinated inputs from the same authenticated attacker: an HTML comment payload stored in a comment body (preserved verbatim by WordPress comment kses) and a matching simplehtmldom noise key placed in the attacker's displayname (which survives escattr() intact), with substitution occurring after both filters have run during the plugin's default-on output-buffering pass over the full rendered page.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue?
An attacker needs an authenticated WordPress account with at least Subscriber-level access. They must be able to submit a comment and modify their own display name.
What conditions are required for exploitation?
The attacker must coordinate two inputs from the same account: an HTML payload in a comment body and a matching simple_html_dom noise key in their display name. The malicious script runs when someone accesses a page containing the injected content.
Is a non-default configuration required?
No. The affected behavior occurs during the plugin's default-on output-buffering pass over the fully rendered page.
Which plugin versions are affected?
All Gallery Custom Links versions up to and including 2.3.3 are affected.