{"schemaVersion":3,"id":"CVE-2024-4442","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"The Salon booking system plugin for WordPress is vulnerable to arbitrary file deletion in all versions up to, and including, 9.8. This is due to the plugin not properly validating the path of an uploaded file prior to deleting it. This makes it possible for unauthenticated attackers to delete arbitrary files, including the wp-config.php file, which can make site takeover and remote code execution possible. This was partially patched in 9.9, and sufficiently patched in 10.0. CVE-2024-37231 appears to be a duplicate of this issue.","dates":{"published":"2024-05-21T06:49:55.436Z","modified":"2026-04-08T17:31:03.779Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.1,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"wordfence","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.01236,"percentile":0.68794,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.01236},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.01236,"percentile":0.68794}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01236,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.01236,"percentile":0.68794}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"salonbookingsystem","product":"salon_booking_system","name":"salon booking system","label":"salon_booking_system","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 10.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 10.0","eol":null,"hubHref":"/vendor/salonbookingsystem/salon_booking_system"},{"vendor":"wordpress","product":"salon-booking-system","name":"Salon Booking System – Appointment Booking for Salons, Barbershops & Spas","label":"salon-booking-system","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 9.9 (fixed in 10.0)","noFixRecorded":false,"fixedIn":"10.0"}],"versionsText":"≤ 9.9 (fixed in 10.0)","eol":null,"hubHref":null},{"vendor":"wordpresschef","product":"salon booking system – free version","name":"Salon Booking System – Free Version","label":"salon booking system – free version","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 9.9","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 9.9","eol":null,"hubHref":"/vendor/wordpresschef/salon_booking_system_-_free_version"}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/eaafeadd-f44c-49b1-b900-ef40800c629e?source=cve","label":"www.wordfence.com/threat-intel/vulnerabilities/id/eaafeadd-f44c-49b1-b900-ef40800c629e?source=cve","hostname":"www.wordfence.com","tags":["Third Party Advisory"]},{"url":"https://plugins.trac.wordpress.org/changeset/3088196/salon-booking-system#file14","label":"plugins.trac.wordpress.org/changeset/3088196/salon-booking-system","hostname":"plugins.trac.wordpress.org","tags":["Patch"]},{"url":"https://plugins.trac.wordpress.org/browser/salon-booking-system/tags/9.8/src/SLN/Action/Ajax/RemoveUploadedFile.php#L5","label":"plugins.trac.wordpress.org/browser/…","hostname":"plugins.trac.wordpress.org","tags":["Product"]},{"url":"https://plugins.trac.wordpress.org/changeset/3098413/salon-booking-system/trunk/src/SLN/Action/Ajax/RemoveUploadedFile.php","label":"plugins.trac.wordpress.org/changeset/…","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/eaafeadd-f44c-49b1-b900-ef40800c629e","label":"www.wordfence.com/threat-intel/vulnerabilities/id/eaafeadd-f44c-49b1-b900-ef40800c629e","hostname":"www.wordfence.com","tags":["Vendor Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2024-05-21T06:49:55.436Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-04-08T17:31:03.779Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T20:20:25.157Z","stale":false,"partial":false}}