Description
The General Options plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to and including 1.1.0. This is due to the use of sanitize_text_field() for output escaping in the Contact Number (ad_contact_number) field — a function that strips HTML tags but does not encode double-quote characters to their HTML entity equivalent ("). When the stored value is echoed inside a double-quoted HTML attribute (value="..."), an attacker-supplied double-quote character breaks out of the attribute context. Even with WordPress's wp_magic_quotes mechanism (which prefixes quotes with a backslash), the resulting \" sequence is NOT treated as an escaped quote by HTML parsers — the backslash is rendered as a literal character and the bare double-quote still closes the attribute. This makes it possible for authenticated attackers with Administrator-level access and above to inject arbitrary web scripts in the admin settings page that will execute whenever any administrator visits the General Options settings page.
Problem types
CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Product status
Any version
Timeline
| 2026-05-19: | Disclosed |
Credits
Muhammad Nur Ibnu Hubab
References
www.wordfence.com/...-4feb-477e-b18f-934ece21aff6?source=cve
plugins.trac.wordpress.org/...-options/trunk/direct-main.php
plugins.trac.wordpress.org/...ons/tags/1.1.0/direct-main.php
plugins.trac.wordpress.org/...ptions/trunk/direct-action.php
plugins.trac.wordpress.org/...s/tags/1.1.0/direct-action.php