CVE-2026-107622
BuddyForms <= 2.10.5 - Unauthenticated Privilege Escalation to Form-Type Confusion via 'bf_post_type' Parameter
The BuddyForms plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.10.5 via a form-type confusion attack through the bf_post_type parameter. This is due to the public frontend submission handler buddyforms_form_response_no_ajax() authorizing logged-out submissions based solely on the target form's public_submit flag while independently trusting the attacker-supplied $_POST['bf_post_type'] to determine the post type of the newly created object — a cross-check introduced in 2.10.2 applies only to existing posts (post_id != 0) and is completely bypassed for new-object creation — combined with the save_post listener buddyforms_edit_form_save_meta_box_data() lacking both a current_user_can() capability check and a form-builder nonce, causing it to unconditionally persist attacker-supplied $_POST['buddyforms_options'] for any newly inserted buddyforms CPT post. This makes it possible for unauthenticated attackers to insert a rogue BuddyForms form configuration with an attacker-controlled new_user_role value into the live global form registry, then submit a registration through that form to create a new WordPress account with administrator-level privileges and achieve full site takeover. Exploitation requires the WordPress site to have "Anyone can register" enabled and at least one public BuddyForms form attached to a page, both of which are standard BuddyForms deployment configurations.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
9.8
BuddyForms <= 2.10.5 - Unauthenticated Privilege Escalation to Form-Type Confusion via 'bf_post_type' Parameter
The BuddyForms plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.10.5 via a form-type confusion attack through the bf_post_type parameter. This is due to the public frontend submission handler buddyforms_form_response_no_ajax() authorizing logged-out submissions based solely on the target form's public_submit flag while independently trusting the attacker-supplied $_POST['bf_post_type'] to determine the post type of the newly created object — a cross-check introduced in 2.10.2 applies only to existing posts (post_id != 0) and is completely bypassed for new-object creation — combined with the save_post listener buddyforms_edit_form_save_meta_box_data() lacking both a current_user_can() capability check and a form-builder nonce, causing it to unconditionally persist attacker-supplied $_POST['buddyforms_options'] for any newly inserted buddyforms CPT post. This makes it possible for unauthenticated attackers to insert a rogue BuddyForms form configuration with an attacker-controlled new_user_role value into the live global form registry, then submit a registration through that form to create a new WordPress account with administrator-level privileges and achieve full site takeover. Exploitation requires the WordPress site to have "Anyone can register" enabled and at least one public BuddyForms form attached to a page, both of which are standard BuddyForms deployment configurations.
- Record
CVE-2026-107622- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-06
EUVDEUVD-2026-118190
9.8
The BuddyForms plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.10.5 via a form-type confusion attack through the bf_post_type parameter. This is due to the public frontend submission handler buddyforms_form_response_no_ajax() authorizing logged-out submissions based solely on the target form's public_submit flag while independently trusting the attacker-supplied $_POST['bf_post_type'] to determine the post type of the newly created object — a cross-check introduced in 2.10.2 applies only to existing posts (post_id != 0) and is completely bypassed for new-object creation — combined with the save_post listener buddyforms_edit_form_save_meta_box_data() lacking both a current_user_can() capability check and a form-builder nonce, causing it to unconditionally persist attacker-supplied $_POST['buddyforms_options'] for any newly inserted buddyforms CPT post. This makes it possible for unauthenticated attackers to insert a rogue BuddyForms form configuration with an attacker-controlled new_user_role value into the live global form registry, then submit a registration through that form to create a new WordPress account with administrator-level privileges and achieve full site takeover. Exploitation requires the WordPress site to have "Anyone can register" enabled and at least one public BuddyForms form attached to a page, both of which are standard BuddyForms deployment configurations.
- Record
EUVD-2026-118190- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-06
GitHub AdvisoriesGHSA-7gvp-gcxq-58g5
9.8
The BuddyForms plugin for WordPress is vulnerable to Privilege Escalation in all versions up to,...
The BuddyForms plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.10.5 via a form-type confusion attack through the bf_post_type parameter. This is due to the public frontend submission handler buddyforms_form_response_no_ajax() authorizing logged-out submissions based solely on the target form's public_submit flag while independently trusting the attacker-supplied $_POST['bf_post_type'] to determine the post type of the newly created object — a cross-check introduced in 2.10.2 applies only to existing posts (post_id != 0) and is completely bypassed for new-object creation — combined with the save_post listener buddyforms_edit_form_save_meta_box_data() lacking both a current_user_can() capability check and a form-builder nonce, causing it to unconditionally persist attacker-supplied $_POST['buddyforms_options'] for any newly inserted buddyforms CPT post. This makes it possible for unauthenticated attackers to insert a rogue BuddyForms form configuration with an attacker-controlled new_user_role value into the live global form registry, then submit a registration through that form to create a new WordPress account with administrator-level privileges and achieve full site takeover. Exploitation requires the WordPress site to have "Anyone can register" enabled and at least one public BuddyForms form attached to a page, both of which are standard BuddyForms deployment configurations.
- Record
GHSA-7gvp-gcxq-58g5- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-06
NVD
9.8
The BuddyForms plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.10.5 via a form-type confusion attack through the bf_post_type parameter. This is due to the public frontend submission handler buddyforms_form_response_no_ajax() authorizing logged-out submissions based solely on the target form's public_submit flag while independently trusting the attacker-supplied $_POST['bf_post_type'] to determine the post type of the newly created object — a cross-check introduced in 2.10.2 applies only to existing posts (post_id != 0) and is completely bypassed for new-object creation — combined with the save_post listener buddyforms_edit_form_save_meta_box_data() lacking both a current_user_can() capability check and a form-builder nonce, causing it to unconditionally persist attacker-supplied $_POST['buddyforms_options'] for any newly inserted buddyforms CPT post. This makes it possible for unauthenticated attackers to insert a rogue BuddyForms form configuration with an attacker-controlled new_user_role value into the live global form registry, then submit a registration through that form to create a new WordPress account with administrator-level privileges and achieve full site takeover. Exploitation requires the WordPress site to have "Anyone can register" enabled and at least one public BuddyForms form attached to a page, both of which are standard BuddyForms deployment configurations.
- Record
CVE-2026-107622- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-06
OSV
9.8
BuddyForms <= 2.10.5 - Unauthenticated Privilege Escalation to Form-Type Confusion via 'bf_post_type' Parameter
The BuddyForms plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.10.5 via a form-type confusion attack through the bf_post_type parameter. This is due to the public frontend submission handler buddyforms_form_response_no_ajax() authorizing logged-out submissions based solely on the target form's public_submit flag while independently trusting the attacker-supplied $_POST['bf_post_type'] to determine the post type of the newly created object — a cross-check introduced in 2.10.2 applies only to existing posts (post_id != 0) and is completely bypassed for new-object creation — combined with the save_post listener buddyforms_edit_form_save_meta_box_data() lacking both a current_user_can() capability check and a form-builder nonce, causing it to unconditionally persist attacker-supplied $_POST['buddyforms_options'] for any newly inserted buddyforms CPT post. This makes it possible for unauthenticated attackers to insert a rogue BuddyForms form configuration with an attacker-controlled new_user_role value into the live global form registry, then submit a registration through that form to create a new WordPress account with administrator-level privileges and achieve full site takeover. Exploitation requires the WordPress site to have "Anyone can register" enabled and at least one public BuddyForms form attached to a page, both of which are standard BuddyForms deployment configurations.
- Record
CVE-2026-107622- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-08
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| references | CVE List, EUVD, NVD, OSV | |
| published | EUVD | |
| published | EUVD, NVD | |
| aliases, references | GitHub Advisories | |
| cwes, severity, title | CVE List | |
| first indexed | EUVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-107622 is a critical vulnerability (CVSS 9.8) in Themekraft Buddyforms, published November 6, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.74%, the 54th percentile. No source names a fixed version.
References
wordfence.com/threat-intel/vulnerabilities/id/2e83e654-f8a6-44a6-a687-92606331309e?source=cve
plugins.trac.wordpress.org/browser/buddyforms/tags/2.10.2/includes/form/form.php
plugins.trac.wordpress.org/browser/buddyforms/tags/2.10.2/includes/admin/register-post-types.php
plugins.trac.wordpress.org/browser/buddyforms/tags/2.10.2/includes/form/form-control.php
plugins.trac.wordpress.org/browser/buddyforms/tags/2.10.2/includes/wp-insert-user.php
github.com/Themekraft/buddyforms/pull/779/files