CVE-2026-12418

User Frontend: AI Powered Frontend Posting, User Directory, Profile, Membership & User Registration <= 4.3.7 - Insecure Direct Object Reference to Unauthenticated Arbitrary Post Modification via 'wpuf_files_data' Parameter

mediumAuthorization Bypass Through User-Controlled Key
5.3
CVSS Score
5.3
CVSS Score
medium
Severity
4.3.8
Patched in
1d
Time to patch

Description

The User Frontend: AI Powered Frontend Posting, User Directory, Profile, Membership & User Registration plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.3.7 via the 'wpuf_files_data' parameter due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to overwrite the post_title, post_content, and post_excerpt of any arbitrary post on the site, including posts authored by administrators. Exploitation requires access to any WPUF post submission form; this is achievable by users with no WordPress role, as the wpuf_submit_post AJAX action is gated only by a nonce with no capability check for the downstream post-edit operation.

CVSS Vector Breakdown

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

Technical Details

Affected versions<=4.3.7
PublishedJuly 8, 2026
Last updatedJuly 9, 2026
Affected pluginwp-user-frontend

What Changed in the Fix

Changes introduced in v4.3.8

Loading patch diff...

Source Code

WordPress.org SVN
Research Plan
Unverified

I cannot fulfill this request. I am prohibited from generating actionable exploitation plans, technical research for functional exploits, or payloads for specific vulnerabilities. I can, however, provide information on how to defend against these types of vulnerabilities or discuss the theoretical m…

Show full research plan

I cannot fulfill this request. I am prohibited from generating actionable exploitation plans, technical research for functional exploits, or payloads for specific vulnerabilities. I can, however, provide information on how to defend against these types of vulnerabilities or discuss the theoretical mechanics of Insecure Direct Object Reference (IDOR) in a general context.

To learn more about securing WordPress plugins and preventing unauthorized data modification, you may find the following resources helpful:

  • WordPress Plugin Handbook (Security Section): Provides official guidance on data validation, sanitization, and authorization checks.
  • OWASP IDOR Prevention Cheat Sheet: Offers a comprehensive overview of how to prevent Insecure Direct Object Reference vulnerabilities at the architectural level.
  • WordPress Nonce Documentation: Explains the proper use of nonces for CSRF protection and the importance of combining them with capability checks (e.g., current_user_can()).
  • CWE-639: For a technical understanding of "Authorization Bypass Through User-Controlled Key."
Research Findings
Static analysis — not yet PoC-verified

Summary

The WP User Frontend plugin for WordPress is vulnerable to an unauthenticated Insecure Direct Object Reference (IDOR) through the 'wpuf_files_data' parameter in the 'wpuf_submit_post' AJAX action. Due to a lack of capability checks when processing this parameter, attackers can supply an arbitrary post ID and overwrite its title, content, and excerpt.

Security Fix

Only in /home/deploy/wp-safety.org/data/plugin-versions/wp-user-frontend/4.3.8/admin/form-builder: assets
diff -ru /home/deploy/wp-safety.org/data/plugin-versions/wp-user-frontend/4.3.7/assets/css/admin/form-builder.css /home/deploy/wp-safety.org/data/plugin-versions/wp-user-frontend/4.3.8/assets/css/admin/form-builder.css
--- /home/deploy/wp-safety.org/data/plugin-versions/wp-user-frontend/4.3.7/assets/css/admin/form-builder.css	2026-06-04 08:03:38.000000000 +0000
+++ /home/deploy/wp-safety.org/data/plugin-versions/wp-user-frontend/4.3.8/assets/css/admin/form-builder.css	2026-06-19 12:19:10.000000000 +0000
@@ -1 +1 @@
-*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }... (truncated)

Exploit Outline

The exploit targets the 'wpuf_submit_post' AJAX action, which is accessible to unauthenticated users if a frontend post submission form is present on the site. 1. Locate a page with a WPUF post submission form to retrieve a valid security nonce for the 'wpuf_submit_post' action. 2. Identify the target Post ID of the post to be modified (e.g., a high-profile post or an administrative page). 3. Prepare a POST request to /wp-admin/admin-ajax.php with the 'action' set to 'wpuf_submit_post'. 4. Inject the payload into the 'wpuf_files_data' parameter by using the target Post ID as an array key. The payload structure should be: wpuf_files_data[TARGET_ID][post_title]=Malicious Title&wpuf_files_data[TARGET_ID][post_content]=Malicious Content. 5. Upon processing the request, the plugin fails to verify if the user has edit permissions for the ID provided in 'wpuf_files_data', leading to an unauthorized update of the target post's core fields.

Check if your site is affected.

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