CVE-2026-92619
Booking Calendar <= 11.8.2 - Authenticated (Editor+) Privilege Escalation to 'data_name' Parameter
The Booking Calendar plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 11.8.2 via the wpbc_ajax_option_save AJAX action. The vulnerability exists because the handle_ajax_save() function applies per-option safeguards only to names explicitly registered via register_option_policy(), causing get_option_policy() to return an empty policy — bypassing all can_save, force_mode, and allowed_keys checks — for any unregistered option name, including core WordPress options, while an attacker-controlled data_name parameter passes through sanitize_key() and is written directly to update_option() without restriction. This makes it possible for authenticated attackers with Editor-level access and above to escalate their privileges to Administrator by writing core WordPress options such as default_role=administrator and users_can_register=1, then self-registering a new Administrator account. The nonce check does not meaningfully restrict this attack, as both the nonce value and nonce action are attacker-supplied POST parameters, and a valid nonce is trivially obtainable via admin-ajax.php?action=rest-nonce.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- High
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.2
Booking Calendar <= 11.8.2 - Authenticated (Editor+) Privilege Escalation to 'data_name' Parameter
The Booking Calendar plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 11.8.2 via the wpbc_ajax_option_save AJAX action. The vulnerability exists because the handle_ajax_save() function applies per-option safeguards only to names explicitly registered via register_option_policy(), causing get_option_policy() to return an empty policy — bypassing all can_save, force_mode, and allowed_keys checks — for any unregistered option name, including core WordPress options, while an attacker-controlled data_name parameter passes through sanitize_key() and is written directly to update_option() without restriction. This makes it possible for authenticated attackers with Editor-level access and above to escalate their privileges to Administrator by writing core WordPress options such as default_role=administrator and users_can_register=1, then self-registering a new Administrator account. The nonce check does not meaningfully restrict this attack, as both the nonce value and nonce action are attacker-supplied POST parameters, and a valid nonce is trivially obtainable via admin-ajax.php?action=rest-nonce.
- Record
CVE-2026-92619- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-02
EUVDEUVD-2026-82729
7.2
The Booking Calendar plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 11.8.2 via the wpbc_ajax_option_save AJAX action. The vulnerability exists because the handle_ajax_save() function applies per-option safeguards only to names explicitly registered via register_option_policy(), causing get_option_policy() to return an empty policy — bypassing all can_save, force_mode, and allowed_keys checks — for any unregistered option name, including core WordPress options, while an attacker-controlled data_name parameter passes through sanitize_key() and is written directly to update_option() without restriction. This makes it possible for authenticated attackers with Editor-level access and above to escalate their privileges to Administrator by writing core WordPress options such as default_role=administrator and users_can_register=1, then self-registering a new Administrator account. The nonce check does not meaningfully restrict this attack, as both the nonce value and nonce action are attacker-supplied POST parameters, and a valid nonce is trivially obtainable via admin-ajax.php?action=rest-nonce.
- Record
EUVD-2026-82729- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-jrfx-j7fq-9588
7.2
The Booking Calendar plugin for WordPress is vulnerable to Privilege Escalation in all versions...
The Booking Calendar plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 11.8.2 via the wpbc_ajax_option_save AJAX action. The vulnerability exists because the handle_ajax_save() function applies per-option safeguards only to names explicitly registered via register_option_policy(), causing get_option_policy() to return an empty policy — bypassing all can_save, force_mode, and allowed_keys checks — for any unregistered option name, including core WordPress options, while an attacker-controlled data_name parameter passes through sanitize_key() and is written directly to update_option() without restriction. This makes it possible for authenticated attackers with Editor-level access and above to escalate their privileges to Administrator by writing core WordPress options such as default_role=administrator and users_can_register=1, then self-registering a new Administrator account. The nonce check does not meaningfully restrict this attack, as both the nonce value and nonce action are attacker-supplied POST parameters, and a valid nonce is trivially obtainable via admin-ajax.php?action=rest-nonce.
- Record
GHSA-jrfx-j7fq-9588- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-02
NVD
7.2
The Booking Calendar plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 11.8.2 via the wpbc_ajax_option_save AJAX action. The vulnerability exists because the handle_ajax_save() function applies per-option safeguards only to names explicitly registered via register_option_policy(), causing get_option_policy() to return an empty policy — bypassing all can_save, force_mode, and allowed_keys checks — for any unregistered option name, including core WordPress options, while an attacker-controlled data_name parameter passes through sanitize_key() and is written directly to update_option() without restriction. This makes it possible for authenticated attackers with Editor-level access and above to escalate their privileges to Administrator by writing core WordPress options such as default_role=administrator and users_can_register=1, then self-registering a new Administrator account. The nonce check does not meaningfully restrict this attack, as both the nonce value and nonce action are attacker-supplied POST parameters, and a valid nonce is trivially obtainable via admin-ajax.php?action=rest-nonce.
- Record
CVE-2026-92619- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-92619 is a high vulnerability (CVSS 7.2) in Wpdevelop Booking Calendar, published September 18, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.66%, the 51st percentile. No source names a fixed version.
References
wordfence.com/threat-intel/vulnerabilities/id/ab68a6b2-e9b0-4efa-bd01-c6e3e11011db?source=cve
plugins.trac.wordpress.org/browser/booking/tags/11.8.2/includes/save-load-option/save-load-option.php
plugins.trac.wordpress.org/browser/booking/tags/11.8.2/includes/page-form-builder/ajax/bfb-ajax.php
plugins.trac.wordpress.org/changeset?reponame=&old=3699185%40booking&new=3699185%40booking
nvd.nist.gov/vuln/detail/CVE-2026-92619
github.com/advisories/GHSA-jrfx-j7fq-9588