Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Salon Staff user
-
DeliverySubmit attacker-controlled image URL
-
ExploitServer fetches internal resource / stores malicious SVG
-
ExecutionVictim opens stored file
-
ImpactScript executes in site origin, internal data disclosed
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account with the plugin's 'Salon Staff' role or higher on a site running Salon Booking System before 10.31.11; the attacker abuses the image-URL fetch feature that does not validate the supplied URL before fetching it server-side and writing the response to a publicly accessible location under an attacker-chosen filename. The SSRF/disclosure path works on exploitation of this feature directly, while the stored-XSS path additionally requires a victim to open the planted SVG file (UI:R). Limiting factors: the privileged-role requirement (no anonymous exploitation) and, for the XSS, the need for victim interaction to open the malicious file. |
| Impact | This is a moderate-priority issue rather than a top-tier emergency, driven primarily by its privilege prerequisite. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R, C:H/I:H/A:H, score 6.8) shows a network-reachable, low-complexity flaw but gated behind an authenticated account - the description specifies the attacker must hold the 'Salon Staff' role or higher, and exploitation of the stored-SVG XSS path additionally requires a victim to open the planted file (UI:R). Publicly available exploit code exists (WPScan), which raises practical risk, but there is no CISA KEV listing and no EPSS score was supplied, so there is no evidence of active or widespread exploitation - the POC signal and the absence-of-exploitation signal point to opportunistic/targeted rather than mass exploitation. Two distinct weaknesses are bundled: a server-side request forgery / arbitrary file-write that discloses internal-only resources, and a stored XSS via malicious SVG; note the assigned CWE is only CWE-79 (XSS) and does not capture the SSRF/information-disclosure component, which defenders should account for. The PR:H rating is debatable - 'Salon Staff' is a custom, relatively low plugin role, not WordPress administrator, so the real barrier to entry may be lower than PR:H implies; verify the exact capability required against the vendor/WPScan advisory. |
| Exploit ScenarioDerived | An attacker who has obtained or been granted a Salon Staff (or higher) account on a WordPress site running a vulnerable Salon Booking System plugin supplies a crafted 'image URL' pointing at an internal-only resource (e.g. a cloud metadata endpoint or internal service), causing the server to fetch it and write the response to a public path they can then read, disclosing internal data. The same feature lets them store a malicious SVG at an attacker-chosen filename; when any user (including an administrator) opens that file, embedded script executes in the site's origin. Publicly available exploit code (WPScan) lowers the effort required to reproduce both paths. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 18, 2026
WordPress sites running the Salon Booking System plugin before 10.31.11 expose an image-import routine that fetches a caller-supplied URL server-side without validation, letting authenticated accounts with the Salon Staff role or higher pull internal-only resources back through the site and plant attacker-named files in a publicly reachable directory. The same write primitive allows storing a malicious SVG that executes JavaScript in the site's origin for anyone who opens it, giving a staff-level account a path to scripts running against higher-privileged users. Publicly available exploit code exists per the WPScan reference, but the privileged-role prerequisite and the victim interaction needed for the script-execution path keep this a moderate-priority issue rather than an emergency; a vendor patch is available in 10.31.11.
RemediationAI
Vendor-released patch: upgrade Salon Booking System to 10.31.11 or later, deployed through the WordPress plugin dashboard or your normal dependency pipeline, and confirm the reported version on every site where the plugin is active. If the update cannot be applied immediately, reduce exposure by auditing and pruning accounts holding the Salon Staff role or above so only staff who genuinely need booking administration retain it, and by disabling the plugin's remote image-URL import path (a small mu-plugin that unhooks or rejects the fetch handler works, at the cost of breaking legitimate URL-based image imports that staff may rely on). Add egress filtering on the WordPress host to deny outbound HTTP/HTTPS to loopback, RFC1918, and link-local ranges including 169.254.169.254 - this contains the SSRF/disclosure leg but may break other plugins that legitimately call internal services. To blunt the stored-XSS leg, block SVG uploads or serve uploaded files with a non-rendering Content-Type plus X-Content-Type-Options: nosniff so a planted SVG cannot execute in the site origin; this will break legitimate SVG media in the booking UI. Cross-check any indicators against the WPScan advisory at https://wpscan.com/vulnerability/6c8f3d74-7aa6-4b4e-96d0-ee89fc47a255/, and note that publicly available exploit code exists, so staging environments running pre-10.31.11 builds should be treated as compromised if untrusted staff accounts had access.
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 flaw sits in the plugin's image handling: a user-controlled image URL is passed to a server-side fetcher with no allow-list, scheme restriction, or resolution check against private/link-local address space, so the WordPress host can be steered at internal-only endpoints (localhost services, RFC1918 hosts, cloud metadata addresses such as 169.254.169.254) and the response is then written to a web-accessible upload path using a filename the attacker chooses. That is a classic server-side request forgery (CWE-918) chained with unrestricted upload of active content (CWE-434); the source record classifies the issue under CWE-79 because the practical payload is a stored cross-site scripting attack - an SVG uploaded into the site's own origin runs embedded script in that origin when a victim opens the file, bypassing the cross-origin boundary that would otherwise protect session cookies, nonces, and admin-ajax actions. The CPE string (cpe:2.3:a:unknown:salon_booking_system) confirms the affected component is the plugin itself with no vendor namespace resolved, and EUVD records the affected range as all versions from 0 up to but excluding 10.31.11. Exploitation requires a real WordPress account holding the Salon Staff capability or above, so the attack surface is the staff-facing booking administration rather than anonymous visitors.
Know when Salon Booking System 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:H/UI:R/S:U/C:H/I:H/A:H
Network-reachable, low-complexity feature abuse requiring an authenticated staff account (PR:L, not admin-level PR:H); SSRF yields C:H, stored XSS yields I:H, with limited availability impact (A:L); victim must open the SVG (UI:R).
Primary rating from Vendor (WPScan).
CVSS VectorVendor: WPScan
Lifecycle Timeline
3DescriptionCVE.org
The Salon Booking System WordPress plugin before 10.31.11 does not validate a user-supplied image URL before fetching it server-side and writing the response to a publicly accessible location under an attacker-chosen filename, allowing users with the Salon Staff role or higher to force the server to read internal-only resources and disclose them, and to store a malicious SVG that runs arbitrary scripts in the site's origin for anyone who opens it.
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 Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
More in Salon Booking System
View allThe Salon booking system plugin for WordPress is vulnerable to arbitrary file deletion in all versions up to, and includ
Cross-site request forgery in the Salon Booking System WordPress plugin (versions before 10.31.9) allows unauthenticated
The Salon booking system plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validatio
Unauthenticated booking record disclosure in the Salon Booking System WordPress plugin (through version 10.30.33) expose
The Salon booking system Free and Pro WordPress plugins before 7.6.3 do not have proper authorisation in some of its end
Privilege escalation in the Salon Booking System WordPress plugin (10.17 through versions before 10.31.11) lets authenti
The Salon booking system WordPress plugin through 9.6.5 does not sanitise and escape some of its settings, which could a
Unrestricted Upload of File with Dangerous Type vulnerability in Salon Booking System Salon booking system.5. Rated crit
The Salon booking system WordPress plugin before 6.3.1 does not properly sanitise and escape the First Name field when b
Authentication bypass in the Salon Booking System WordPress plugin (versions 10.30.26 and earlier) allows remote unauthe
The Salon booking system WordPress plugin before 9.6.3 does not properly sanitize and escape the 'Mobile Phone' field wh
Broken access control in the Salon Booking System WordPress plugin before 10.31.11 lets authenticated users who hold the
EUVD-2026-103394
GHSA-6fxp-r7r3-93x6
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB