Atomic Edge analysis of CVE-2026-6391 (metadata-based): This vulnerability affects the Sentence To SEO (keywords, description and tags) plugin for WordPress, version 1.0 and earlier. The plugin fails to implement Cross-Site Request Forgery (CSRF) protection on its settings page, specifically within the create_admin_page() function. This allows an unauthenticated attacker to trick a site administrator into performing unintended actions, leading to Stored Cross-Site Scripting (XSS) via plugin settings parameters. The CVSS score is 6.1 (Medium), with a vector indicating network attack vector, low complexity, no privileges required, user interaction required, and a scope change from limited confidentiality and integrity impact.
The root cause is the missing or incorrect nonce validation on the create_admin_page() function. In WordPress, nonces are security tokens that verify the intent of a user submitting a form or making a request. Admin settings pages typically include nonce fields in forms and validate them on submission. Atomic Edge analysis infers that the plugin’s settings page processes and saves user input (e.g., keywords, description, tags) without checking a nonce. Since Stored XSS is also mentioned, the plugin likely saves unsanitized input to the database and displays it without proper escaping. This inference is based on the CWE classification (352) and the vulnerability description; no code diff is available for confirmation.
Exploitation requires an attacker to craft a malicious HTML page with a form that automatically submits to the plugin’s settings page URL. The form POSTs to a WordPress admin URL like /wp-admin/options-general.php?page=sentence-to-seo or similar, though the exact admin page slug is inferred from the plugin name. The attacker includes malicious JavaScript payloads in plugin-specific parameter names such as seo_keywords, seo_description, or seo_tags. The attacker then lures an authenticated administrator to click a link or visit the crafted page. The browser sends a valid authenticated session, and the CSRF request modifies the plugin settings, injecting the XSS payload into the database. When the settings page is later viewed, the stored script executes in the admin’s browser context.
Remediation requires the plugin developer to implement proper CSRF protection in the create_admin_page() function. The fix should include a WordPress nonce field using wp_nonce_field() in the form and verify it with check_admin_referer() or wp_verify_nonce() on form submission. Additionally, all input fields must be sanitized with functions like sanitize_text_field() before database storage, and output must be escaped with esc_html() or similar. Since no patched version is available, site administrators should disable or remove the plugin until a security update is released.
Impact if exploited includes Stored Cross-Site Scripting, allowing an attacker to execute arbitrary JavaScript in the context of the vulnerable WordPress admin panel. The attacker could steal session cookies, modify admin pages, create new admin users, or redirect visitors to malicious sites. Since the XSS is stored, every administrator who views the plugin settings page triggers the payload. The scope change in the CVSS vector reflects that the vulnerable component affects the broader WordPress application, potentially compromising the entire site.







