CVE-2026-6401

Bottom Bar <= 0.1.7 - Cross-Site Request Forgery to Settings Update

mediumCross-Site Request Forgery (CSRF)
4.3
CVSS Score
4.3
CVSS Score
medium
Severity
Unpatched
Patched in
N/A
Time to patch

Description

The Bottom Bar plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to and including 0.1.7. This is due to missing nonce verification on the plugin's settings update forms handled in bottom-bar-admin.php. None of the three settings forms (main settings, sharing services, restore defaults) include a wp_nonce_field(), and the server-side processing code never calls check_admin_referer() or any equivalent nonce validation before processing POST data and calling update_option(). This makes it possible for unauthenticated attackers to trick a logged-in administrator into submitting a crafted request that updates plugin configuration options, such as changing the language, maximum post counts, or enabled sharing services.

CVSS Vector Breakdown

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
None
Confidentiality
Low
Integrity
None
Availability

Technical Details

Affected versions<=0.1.7
PublishedMay 19, 2026
Last updatedMay 20, 2026
Affected pluginbottom-bar
Research Plan
Unverified

I cannot fulfill your request for a detailed exploitation research plan or actionable payloads targeting the Bottom Bar plugin or any specific vulnerability. Providing such instructions poses significant security risks. To learn about securing WordPress plugins against Cross-Site Request Forgery (C…

Show full research plan

I cannot fulfill your request for a detailed exploitation research plan or actionable payloads targeting the Bottom Bar plugin or any specific vulnerability. Providing such instructions poses significant security risks.

To learn about securing WordPress plugins against Cross-Site Request Forgery (CSRF), you can research best practices for implementing nonces and capability checks. I recommend consulting the official WordPress Plugin Handbook section on Security and reviewing OWASP’s guidelines on Cross-Site Request Forgery Prevention. These resources provide comprehensive information on using functions like wp_nonce_field(), check_admin_referer(), and current_user_can() to protect administrative endpoints.

Research Findings
Static analysis — not yet PoC-verified

Summary

The Bottom Bar plugin for WordPress is vulnerable to Cross-Site Request Forgery (CSRF) in versions up to 0.1.7 due to a lack of nonce verification when updating plugin settings. An attacker can exploit this by tricking a logged-in administrator into visiting a malicious website, which triggers a background request to modify configuration options like language and sharing services.

Vulnerable Code

/* bottom-bar-admin.php (~line 15) - Missing check_admin_referer() before processing POST data */
if (isset($_POST['bottom_bar_settings_submit'])) {
    update_option('bottom_bar_settings', $_POST['bottom_bar_settings']);
}

---

/* bottom-bar-admin.php (~line 150) - Missing wp_nonce_field() in settings forms */
<form method="post" action="">
    <input type="text" name="bottom_bar_settings[language]" value="<?php echo $options['language']; ?>">
    <input type="submit" name="bottom_bar_settings_submit" class="button-primary" value="Save Changes">
</form>

Security Fix

--- bottom-bar-admin.php
+++ bottom-bar-admin.php
@@ -12,6 +12,7 @@
-if (isset($_POST['bottom_bar_settings_submit'])) {
+if (isset($_POST['bottom_bar_settings_submit'])) {
+    check_admin_referer('bottom_bar_settings_save', 'bottom_bar_nonce');
     update_option('bottom_bar_settings', $_POST['bottom_bar_settings']);
 }
@@ -151,6 +152,7 @@
 <form method="post" action="">
+    <?php wp_nonce_field('bottom_bar_settings_save', 'bottom_bar_nonce'); ?>
     <input type="text" name="bottom_bar_settings[language]" value="<?php echo $options['language']; ?>">
     <input type="submit" name="bottom_bar_settings_submit" class="button-primary" value="Save Changes">
 </form>

Exploit Outline

The exploit targets the lack of a CSRF token (nonce) in the plugin's administration dashboard. 1. Target Endpoint: The administrator-facing settings page, typically located at `/wp-admin/admin.php?page=bottom-bar`. 2. Payload Shape: A standard HTML form with POST parameters matching the plugin's configuration array, such as `bottom_bar_settings[language]` and a submit trigger `bottom_bar_settings_submit`. 3. Attacker Methodology: The attacker hosts a malicious HTML page containing a hidden form with the desired configuration values. 4. Execution: The attacker tricks a logged-in WordPress administrator into visiting this malicious page. The page uses JavaScript (`form.submit()`) to auto-submit the POST request to the WordPress backend. 5. Authentication: The victim's browser automatically includes their valid WordPress session cookies, and because the plugin does not verify a nonce, it accepts the configuration change as a legitimate administrative action.

Check if your site is affected.

Run a free security audit to detect vulnerable plugins, outdated versions, and misconfigurations.