Salon Booking System <= 10.30.32 - Cross-Site Request Forgery to Remote Code Execution via 'value' Parameter
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Tampering
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-352.
Summary
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().
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Dimitri Grassi | Salon Booking System – Free Version | up to 10.30.32 | — | No fix listed | CNA |
- Salon Booking System – Free Version VendorDimitri Grassi Affected up to 10.30.32 Fixed in — No fix listed CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:salonbookingsystem:salon_booking_system:*:*:*:*:*:*:*:* | — | — | Dimitri Grassi |
- cpe:2.3:a:salonbookingsystem:salon_booking_system:*:*:*:*:*:*:*:* Versions — — ·Dimitri Grassi
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-15070
- 2026-10-03 Alias added: GHSA-77ww-fvvh-5297
References
Other 6
- https://www.wordfence.com/threat-intel/vulnerabilities/id/301ad19a-f99c-45c8-83a7-d74e1a260556?source=cve
- https://plugins.trac.wordpress.org/browser/salon-booking-system/tags/10.30.32/src/SLN/Settings.php#L335
- https://plugins.trac.wordpress.org/browser/salon-booking-system/tags/10.30.32/src/SLN/Action/Ajax/SetCustomText.php#L17
- https://plugins.trac.wordpress.org/browser/salon-booking-system/tags/10.30.32/src/SLN/Plugin.php#L407
- https://plugins.trac.wordpress.org/browser/salon-booking-system/tags/10.30.32/src/SLN/Action/Init.php#L628
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3600791%40salon-booking-system&new=3600791%40salon-booking-system
More Dimitri Grassi vulnerabilities
- TI-2024-01952 WordPress Plugin Salon Booking System < 9.6.3 - Unauthenticated Stored Cross-Site Scripting (XSS) CVSS 3.1MEDIUM 5.7
- TI-2024-09168 Salon Booking System < 10.9.4 - Admin+ Stored XSS CVSS 3.1MEDIUM 4.8
- TI-2024-01953 Salon booking system < 9.6.3 - Unauthenticated Stored XSS CVSS 3.1MEDIUM 4.7
- TI-2024-02257 Salon booking system <= 9.6.5 - Settings Update via CSRF CVSS 3.1MEDIUM 4.3
- TI-2026-47207 WordPress Salon booking system plugin <= 10.30.26 - Broken Authentication vulnerability CVSS 3.1CRITICAL 9.8
- TI-2024-20234 WordPress Salon booking system plugin <= 9.5 - Arbitrary File Upload vulnerability CVSS 3.1CRITICAL 10.0
Sources
- CVE-2026-15070 · CVE Program
- CVE-2026-15070 · NVD
- FIRST EPSS
- GHSA-77ww-fvvh-5297 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences