Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconHost malicious page with forged setCustomText form
-
DeliveryLure logged-in admin to click link
-
ExploitBrowser sends CSRF request with admin session
-
InstallPayload breaks out of PHP string literal
-
C2Plugin writes PHP into translate-constants.php
-
ExecuteRequest the file to execute code
-
ImpactFull server compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that a logged-in WordPress administrator (someone authorized to trigger the setCustomText AJAX action) be tricked into performing an action such as clicking an attacker-supplied link or visiting a malicious page while authenticated - this admin interaction is mandatory (CVSS UI:R) and is the primary limiting factor. The attacker themselves needs no account (PR:N) and no special server configuration: any default install of the Salon Booking System - Free Version plugin at version ≤ 10.30.32 is vulnerable because the flaw is missing/incorrect nonce validation on the setCustomText handler plus insufficient sanitization that fails to neutralize ' ( ) ; $ and [] characters, and the plugin directory must be web-accessible for the written translate-constants.php to be reachable and executed. The window closes if the admin is not logged in when the forged request fires. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H = 8.8 High) accurately captures a network-reachable, low-complexity flaw with no attacker authentication (PR:N) but mandatory administrator interaction (UI:R) that yields full confidentiality, integrity, and availability loss via code execution. The UI:R requirement is the dominant limiting factor: exploitation is not automatable/wormable at scale because it depends on social-engineering a specific privileged user, which is why an EPSS-style mass-exploitation signal would be expected to be low. No EPSS score, SSVC decision, KEV entry, or public POC was provided, so this is not confirmed as actively exploited - it is a genuinely high-impact CSRF-to-RCE that in practice ranks as a targeted rather than spray-and-pray threat. Priority is high for any site running the plugin, but the practical bar (tricking an admin) is meaningfully higher than a pure unauthenticated RCE. |
| Exploit ScenarioDerived | An attacker crafts a malicious web page or email link containing a hidden auto-submitting form that POSTs a setCustomText request with a 'value' payload engineered to break out of the PHP string literal (using quotes, parentheses, $ and semicolons). When a logged-in site administrator visits the page, their browser silently sends the forged request with valid session cookies, causing the plugin to write attacker PHP into translate-constants.php. The attacker then requests that file directly to execute their code on the server. No public POC is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 10, 2026
Remote code execution in the Salon Booking System - Free Version WordPress plugin (all versions ≤ 10.30.32) lets a remote attacker write attacker-controlled PHP into the plugin's web-accessible translate-constants.php file by abusing the unprotected setCustomText AJAX handler. Because the handler lacks proper nonce validation (CWE-352 CSRF), an unauthenticated attacker who tricks a logged-in administrator into clicking a crafted link can achieve full server-side code execution. Reported by Wordfence with a CVSS of 8.8; there is no public exploit identified at time of analysis and it is not on CISA KEV.
RemediationAI
Upstream fix available (changeset 3600791 in the WordPress plugin SVN repository); a released patched version number is not independently confirmed from the provided data, so update to the latest available Salon Booking System - Free Version release above 10.30.32 and verify via the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/301ad19a-f99c-45c8-83a7-d74e1a260556) that the setCustomText handler now enforces nonce validation. If you cannot upgrade immediately, apply compensating controls: block or restrict web access to the plugin's translate-constants.php file (and ideally the whole plugin directory) at the web server or WAF layer so an injected PHP file cannot be executed - note this may break the plugin's custom-text/translation feature; deploy a WAF rule enforcing referer/nonce checks on the admin-ajax setCustomText action; and instruct administrators to log out of wp-admin when not actively managing the site and avoid clicking untrusted links while authenticated, since the exploit rides an active admin session. Consider temporarily deactivating the plugin on high-value sites until patched.
Affected VersionsENISA
Affected Packages
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 affected component is a WordPress plugin (cpe:2.3:a:wordpresschef:salon_booking_system_-_free_version) that manages salon appointments and exposes AJAX actions through WordPress's admin-ajax dispatch. The setCustomText action (SetCustomText.php) feeds a POST 'value' into SLN Settings logic that persists translated UI constants by writing a PHP file (translate-constants.php) to disk via file_put_contents(). The root-cause class is CWE-352 Cross-Site Request Forgery: the handler performs a state-changing, file-writing operation without a valid, verified nonce, so any forged request carrying the administrator's ambient session cookies is honored. A secondary weakness compounds it - sanitize_text_field() is applied to 'value' but does not strip the single quotes, parentheses, semicolons, $, and [] characters needed to break out of the PHP single-quoted string literal the value is interpolated into, turning a settings write into arbitrary PHP injection.
Know when PHP 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
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Unauthenticated attacker (PR:N) exploits a network CSRF but needs admin to click (UI:R); reliable string-literal breakout keeps AC:L, and RCE yields full C/I/A.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Salon Booking System - Free Version plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 10.30.32. This is due to missing or incorrect nonce validation on the setCustomText function. This makes it possible for unauthenticated attackers to inject arbitrary PHP code into the web-accessible translate-constants.php file within the plugin directory, enabling remote code execution on the server via a forged request granted they can trick a site administrator into performing an action such as clicking on a link. sanitize_text_field() is applied to the POST 'value' parameter but does not neutralize the characters - single quotes, parentheses, semicolons, $, and [] - required to break out of the PHP string literal into which the value is interpolated before being written to disk via file_put_contents().
Executive ViewAI
The Salon Booking System WordPress plugin (versions ≤10.30.32) contains a critical vulnerability enabling remote code execution when an attacker tricks an administrator into clicking a malicious link, leading to complete server compromise. No public exploit identified at time of analysis, but the vulnerability's ease of exploitation and high prevalence of WordPress plugins create significant organizational risk.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) immediately disable and remove the plugin; (2) if removal is not possible, configure WAF rules to block /wp-admin/admin-ajax.php requests with action=setCustomText; (3) implement file integrity monitoring for the plugin directory, specifically tracking translate-constants.php for unauthorized creation or modification; (4) enable enhanced logging of all AJAX requests and PHP file write operations; (5) restrict WordPress administrative access to specified IP addresses only.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-42784
GHSA-77ww-fvvh-5297
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB