Skip to main content

Booking Package CVE-2026-15335

| EUVDEUVD-2026-43143 HIGH
SQL Injection (CWE-89)
2026-07-11 Wordfence GHSA-3h3p-33f5-225r
7.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send POST to /wp-json/booking-package/v1/request
  2. Delivery
    Craft is_email-passing 'email' payload
  3. Exploit
    Append SQL past unprepared query
  4. Execution
    Bypass unauthenticated permission_callback
  5. Impact
    Extract limited database data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Reachable against default installations because the /wp-json/booking-package/v1/request REST endpoint is registered with permission_callback: __return_true (no authentication, nonce, or capability check) and REST $_POST values skip wp_magic_quotes escaping, so a single quote in the 'email' field reaches the SQL query. The exploit requires the plugin to be installed and active and a form (form<N>) to be present. The decisive limiting factor is that the injected value must first satisfy WordPress's is_email() validation, which rejects most SQL syntax and metacharacters - this is why the vendor describes impact as severely limited, and it is the primary control constraining real-world data extraction.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, base 7.5) rates this High on the basis of unauthenticated network reachability and high confidentiality impact, and the unauthenticated REST endpoint is confirmed. However, this raw score materially overstates practical risk: the CVE description itself states impact is 'severely limited' because the injectable parameter must pass is_email(), which forbids most characters and syntax needed for effective UNION-based or boolean/time-based extraction, dramatically raising real attack complexity. No EPSS score was supplied, the CVE is not in CISA KEV, and no proof-of-concept is referenced (no public exploit identified at time of analysis). There is no SSVC decision data provided. Net assessment: reachability is real and unauthenticated, but the is_email() constraint means this is closer to a constrained/low-yield injection than a turnkey database dump - I independently down-rate confidentiality to Low and complexity to High. Note the tension explicitly: CVSS marks C:H while the vendor description calls impact severely limited - treat the 7.5 as an upper bound, not the expected real-world outcome.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted POST request to /wp-json/booking-package/v1/request with a malicious 'email' form parameter that passes is_email() format checks yet embeds appended SQL, aiming to read data such as user records or credentials from the WordPress database. Given AV:N/AC:L reachability the request needs no authentication or user interaction, but the is_email() filter forces the attacker into a heavily constrained payload, limiting what can realistically be exfiltrated; no public proof-of-concept is currently identified.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 11, 2026

Unauthenticated SQL injection in the Booking Package WordPress plugin (versions up to and including 1.7.20, by developer masaakitanaka) lets remote attackers append SQL to an existing query via the 'email' form parameter on the /wp-json/booking-package/v1/request REST endpoint, enabling extraction of sensitive database contents. The endpoint is registered with permission_callback __return_true and REST-sourced $_POST values bypass wp_magic_quotes, so single quotes reach the SQL sink without authentication. Exploitability is severely constrained because the parameter is filtered through WordPress's is_email() before use, and there is no public exploit identified at time of analysis.

RemediationAI

Upgrade to the first Booking Package release published after 1.7.20 that incorporates the referenced trac changeset (3602166); an upstream fix is available per the WordPress.org changeset but a specific tagged patched version is not independently confirmed from the provided data, so verify the fixed version on the plugin's WordPress.org page and the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/8bc86a29-cb1f-4711-925c-51dbbf682477?source=cve) before relying on it. Until patched, restrict or block POST access to the /wp-json/booking-package/v1/request REST route at the WAF or web-server layer (Wordfence/ModSecurity rules or a location block), accepting that this may break legitimate booking-request submissions; alternatively disable the plugin if booking functionality is non-essential. Because the endpoint is unauthenticated by design, IP allow-listing is impractical for a public booking form, so a WAF rule inspecting the 'email' parameter for SQL metacharacters is the most targeted stopgap.

Affected VersionsENISA

Booking Package 0 ≤1.7.20

Affected Packages

euvd booking_package no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is a classic CWE-89 SQL Injection in a PHP/WordPress plugin. The root cause is that the 'email' value from a numbered form field (form<N>) is concatenated into a SQL statement in lib/Schedule.php (around lines 9365 and 12793) without wpdb->prepare() and without adequate escaping. Two WordPress-specific mechanics amplify reachability: the plugin registers its REST route with permission_callback: __return_true (no capability or nonce check), and WordPress's wp_magic_quotes()/magic-quotes escaping is not applied to $_POST data sourced through the REST API, so single quotes in the payload survive intact to the query sink. The only inbuilt sanitizer in the path is is_email(), a format validator (not a security control), which restricts the character set an attacker can inject. Affected package per CPE is cpe:2.3:a:masaakitanaka:booking_package.

Know when Booking Package gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 3.7 LOW

Unauthenticated network endpoint (PR:N/AV:N), but the is_email() filter forces constrained payloads (AC:H) and severely limits data extraction (C:L); no integrity or availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The Booking Package plugin for WordPress is vulnerable to generic SQL Injection via 'email' Form Parameter (form<N>) in all versions up to, and including, 1.7.20 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. The vulnerable REST API endpoint /wp-json/booking-package/v1/request is registered with permission_callback: __return_true and wp_magic_quotes does not apply to REST-sourced $_POST values, meaning single quotes in the payload reach the SQL sink intact without any authentication requirement. The impact of this is severely limited as the vulnerable parameter goes through is_email.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Low
niche third-party WordPress booking plugin, limited install base
Social Media
3
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2022-0709 HIGH POC
7.5 Apr 04

The Booking Package WordPress plugin before 1.5.29 requires a token for exporting the ical representation of it's bookin

CVE-2026-16986 MEDIUM POC
5.3 Aug 26

Payment amount manipulation in the Booking Package WordPress plugin (versions before 1.7.25) allows unauthenticated remo

CVE-2026-105999 MEDIUM POC
5.3 Oct 21

Unauthenticated information disclosure in the WordPress Booking Package plugin before 1.7.31 exposes calendar-account co

CVE-2026-105998 MEDIUM POC
5.3 Oct 21

Booking Package WordPress plugin before 1.7.31 allows unauthenticated remote attackers to reset its premium subscription

CVE-2026-105996 MEDIUM POC
4.8 Oct 21

Insecure cancellation-token generation in the Booking Package WordPress plugin before 1.7.31 allows unauthenticated atta

CVE-2026-103423 HIGH
7.5 Oct 14

Unauthenticated PII disclosure in the Booking Package WordPress plugin through version 1.7.29 lets remote attackers retr

CVE-2026-40774 HIGH
7.5 Jun 15

Unauthenticated broken access control in the SaaSProject Booking Package WordPress plugin versions 1.7.06 and earlier al

CVE-2026-9851 HIGH
7.2 Jun 06

Privilege escalation in the Booking Package plugin for WordPress (versions up to and including 1.7.16) allows authentica

CVE-2026-103425 MEDIUM
6.4 Oct 14

Stored cross-site scripting in the Booking Package WordPress plugin (versions up to and including 1.7.29) allows authent

CVE-2023-39918 MEDIUM
6.1 Sep 04

Unauth. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no authentication required, low at

CVE-2021-20840 MEDIUM
6.1 Nov 24

Cross-site scripting vulnerability in Booking Package - Appointment Booking Calendar System versions prior to 1.5.11 all

CVE-2026-4911 MEDIUM
5.3 Apr 28

Booking Package plugin for WordPress up to version 1.7.06 allows unauthenticated attackers to manipulate booking prices

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy