CVE-2026-104800: AGE-GATE <= 1.0 - Unauthenticated Remote Code Execution via PHP Code Injection via 'width'/'height' Parameters to Standalone admin.php
The AGE-GATE plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1.0 via the 'width (and height)' parameter parameter. This is due to missing authentication, capability checks, and nonce verification on the standalone admin.php endpoint, combined with unsanitized injection of POST parameters directly into generated PHP source written to an included file. This makes it possible for unauthenticated attackers to execute code on the server. This is possible because admin.php does not load WordPress and carries no ABSPATH guard, making it a fully unauthenticated entry point regardless of the decorative capability arguments registered via the plugin's simulated menu API.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue?
Any remote, unauthenticated attacker can exploit it. No WordPress account, administrative capability, nonce, or user interaction is required.
Are sites affected by default?
The vulnerable standalone admin.php endpoint does not load WordPress and has no ABSPATH guard, so WordPress capability arguments do not protect it. Any installation running AGE-GATE version 1.0 or earlier is affected according to the available data.
What input is used to trigger code execution?
The standalone admin.php endpoint accepts POST width and height parameters. These values are inserted unsanitized into generated PHP source that is written to an included file, enabling server-side code execution.
How can defenders identify likely exploitation attempts?
Review web-server and application logs for POST requests to the plugin's standalone admin.php endpoint, particularly requests supplying width or height parameters. Also investigate unexpected changes to generated or included PHP files, since attacker-controlled input is written into PHP source.