Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-75816 — Proof-of-concept and lab reproduction for CVE-2026-75816, an unauthenticated WordPress Frontend Admin account takeover via admin-ajax form submission. | Kitploit
Tools/GitHubGitHub/abraxas/cve-2026-75816
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingAuthenticationLabs & Practice
GitHubabraxas/cve-2026-75816

CVE-2026-75816

Proof-of-concept and lab reproduction for CVE-2026-75816, an unauthenticated WordPress Frontend Admin account takeover via admin-ajax form submission.

View Repository
5h 21m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Abraxas Labs — CVE-2026-75816

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-75816

CVE-2026-75816

Frontend Admin by DynamiApps 3.29.11 — shabti

The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to Authentication Bypass to Account Takeover in all versions up to, and including, 3.29.12. This is due to the pre_update_value function lacking any capability or ownership check, and ActionPost::conditions_logic() short-circuiting its current_user_can('edit_post') authorization gate whenever the post ID is non-numeric — such as the string user_1 — allowing unauthenticated form submissions to be routed to arbitrary user records without restriction. This makes it possible for unauthenticated attackers to overwrite any user's registered email address, including an administrator's, and then leverage WordPress's native password-reset flow to fully take over the targeted account.

CVECVE-2026-75816 · CVE.org
CWECWE-287
CVSSCritical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ProductFrontend Admin by DynamiApps
Affectedall versions through 3.29.11 (NVD lists 3.29.12; 3.29.12 added the Email-field edit_user check)
Patched3.29.12 and later
Authnone (see source map)
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 only · vendor/client disclosure pack, not a scanner

Advisory (from the source map)

pre_update_value is the sink, not an ajax action= of that name. HTTP is admin-ajax.php action=frontend_admin/form_submit. Object id is user_1 in _acf_objects, not a numeric post id.


Entry

  • Method: POST
  • Path: /wp-admin/admin-ajax.php
  • Router: wp_ajax_nopriv_frontend_admin/form_submit. Display_Form::get_form_data decrypts _acf_objects. ActionPost::conditions_logic returns early when post_id is non-numeric (user_1), skipping current_user_can('edit_post'). ActionPost::run treats user_email in record['fields']['post'] as a meta and acf_update_value(..., 'user_1', field). user_email::pre_update_value (3.29.11) has no edit_user check and wp_update_user's the email. 3.29.12 added that check.
  • Notes: CVE-2026-75816 CWE-287. NVD says through 3.29.12; changelog 3.29.12 added Email field permission checks. Lab is 3.29.11. idBase/path is admin-ajax form_submit, not parse_array. Witness is [email protected] from GET /?fea_lab_email=1.

Call chain

  • GET /fea-lab/ harvest _acf_form _acf_nonce _acf_objects field key
  • POST /wp-admin/admin-ajax.php action=frontend_admin/form_submit acff[post][field][email protected]
  • check_submit_form nopriv + who_can_see=all
  • get_form_data fea_decrypt(_acf_objects) record[post]=user_1
  • ActionPost::conditions_logic !is_numeric(user_1) skip edit_post
  • ActionPost::run metas acf_update_value value, user_1, user_email field
  • user_email::pre_update_value explode user_ wp_update_user ID=1 [email protected]
  • GET /?fea_lab_email=1 body is that address

Lab preconditions

  • Frontend Admin 3.29.11 (not 3.29.12 — that version added edit_user on the Email field)
  • published admin_form with who_can_see=all, post_id=user_1, user_email field
  • public page /fea-lab/ with [frontend_admin form=ID]
  • mu-plugin probe GET /?fea_lab_email=1 prints user 1 email (observation only)

Witness

GET /?fea_lab_email=1 body is [email protected]. Generic form HTML or [email protected] is not it.

Not success

  • [email protected] still the admin email
  • admin-ajax 0 / -1 / permission JSON without the email change
  • 403/404 without the witness
  • reverse shell or outbound connect
  • real password-reset to an attacker mailbox

Patch / remediation

Do this first: Update Frontend Admin by DynamiApps to 3.29.12 or newer (current is 3.29.13).

Verify after upgrade

  • Re-run CVE-2026-75816-Abraxas-Labs.py against the patched build: the mapped witness must not appear.
  • Confirm the vendor advisory / changeset in the deployed tree (see references).
  • A WAF signature is delay, not a patch.

If you cannot update immediately

  • Disable or isolate the affected component.
  • Hunt for the witness condition on production (new privileged users, unexpected files, injected rows — whatever this CVE's map names).

Reproduction (authorized lab)

Target only http://127.0.0.1:8088 (or the loopback you bound). Do not point this script at the internet.

root@kitploit:~
python3 CVE-2026-75816-Abraxas-Labs.py

Success is the witness above in the response body. Generic 200 HTML is not it.


Lab images

Loopback stack used to reproduce. Official images unless a Dockerfile in this folder builds from source.

  • lab/docker-compose.yml
  • lab/docker-compose.override.yml
  • lab/Dockerfile
root@kitploit:~
cd lab
docker compose up --force-recreate

Bind the vulnerable product tree next to Compose if the YAML mounts a local directory (plugin zip / source tag from the version table). Publish nothing except 127.0.0.1.


References

  • CVE-2026-75816 · NVD

  • CVE-2026-75816 · CVE.org

  • plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/fields/user/class-user-email.php#L127

  • plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/actions/post.php#L1001

  • plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/actions/post.php#L1224

  • plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/display.php#L26

  • plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/submit.php#L125

  • plugins.trac.wordpress.org/changeset/3664865/acf-frontend-form-element

  • www.wordfence.com/threat-intel/vulnerabilities/id/f1637a3b-7b0f-485d-9d19-4f711f8c671b?source=cve

  • github.com/advisories/GHSA-pv54-wq7v-wf7v

  • nvd.nist.gov/vuln/detail/CVE-2026-75816

  • Plugin directory: acf-frontend-form-element

  • Trac browser: plugins.trac.wordpress.org/acf-frontend-form-element

  • SVN tags: plugins.svn.wordpress.org/acf-frontend-form-element

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


Records (structured)

root@kitploit:~
# CVE-2026-75816  (structured records)

- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-75816`
- CWE: CWE-287
- published: 2026-09-06T03:17:16.607

## NVD description

The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to Authentication Bypass to Account Takeover in all versions up to, and including, 3.29.12. This is due to the pre_update_value function lacking any capability or ownership check, and ActionPost::conditions_logic() short-circuiting its current_user_can('edit_post') authorization gate whenever the post ID is non-numeric — such as the string user_1 — allowing unauthenticated form submissions to be routed to arbitrary user records without restriction. This makes it possible for unauthenticated attackers to overwrite any user's registered email address, including an administrator's, and then leverage WordPress's native password-reset flow to fully take over the targeted account.

## MITRE description

The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to Authentication Bypass to Account Takeover in all versions up to, and including, 3.29.12. This is due to the pre_update_value function lacking any capability or ownership check, and ActionPost::conditions_logic() short-circuiting its current_user_can('edit_post') authorization gate whenever the post ID is non-numeric — such as the string user_1 — allowing unauthenticated form submissions to be routed to arbitrary user records without restriction. This makes it possible for unauthenticated attackers to overwrite any user's registered email address, including an administrator's, and then leverage WordPress's native password-reset flow to fully take over the targeted account.

## Affected

- shabti Frontend Admin by DynamiApps 0 affected

## References (JSON sources only)

- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/fields/user/class-user-email.php#L127
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/actions/post.php#L1001
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/actions/post.php#L1224
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/display.php#L26
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/submit.php#L125
- https://plugins.trac.wordpress.org/changeset/3664865/acf-frontend-form-element
- https://www.wordfence.com/threat-intel/vulnerabilities/id/f1637a3b-7b0f-485d-9d19-4f711f8c671b?source=cve
- https://github.com/advisories/GHSA-pv54-wq7v-wf7v
- https://nvd.nist.gov/vuln/detail/CVE-2026-75816

## GitHub advisory

The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to Authentication Bypass to...

The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to Authentication Bypass to Account Takeover in all versions up to, and including, 3.29.12. This is due to the pre_update_value function lacking any capability or ownership check, and ActionPost::conditions_logic() short-circuiting its current_user_can('edit_post') authorization gate whenever the post ID is non-numeric — such as the string user_1 — allowing unauthenticated form submissions to be routed to arbitrary user records without restriction. This makes it possible for unauthenticated attackers to overwrite any user's registered email address, including an administrator's, and then leverage WordPress's native password-reset flow to fully take over the targeted account.

License

This disclosure pack is licensed under the GNU Affero General Public License v3.0. See LICENSE.


Disclaimer

This pack is for the vendor, the site owner, and licensed labs. The script talks to 127.0.0.1. Using it against systems you do not own is not authorized by Abraxas Labs. No warranty.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

Download Tool