{"schemaVersion":3,"id":"CVE-2026-17023","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"The Salon Booking System  WordPress plugin through 10.30.33 does not perform any capability check or validate an OAuth state value on its Google Calendar authorization callback, which is also hooked for unauthenticated users, allowing an unauthenticated attacker to overwrite the site's stored Google Calendar connection tokens with attacker-controlled ones and hijack the integration. Exploitation requires the site to have configured its own Google OAuth client for the calendar feature.","dates":{"published":"2026-08-10T06:00:18.178Z","modified":"2026-08-11T20:55:17.873Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.3,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"wordfence","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":4.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":4.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"wordfence","score":5.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00272,"percentile":0.18384,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0.10100000000000002,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00171},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00272,"percentile":0.18384}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00171,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00272,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00272,"percentile":0.18384}]},"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":[{"id":"REF_C8C7FD3E8F0465E2","name":"Exploit Reference (wpscan.com)","source":"reference","url":"https://wpscan.com/vulnerability/a116db0a-38ea-43e3-a9cd-991768ce3e07/","maturity":"unknown","reliabilityScore":0.2,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-284","name":"Improper Access Control","description":"The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.","type":"weakness","status":"Incomplete","abstraction":"Pillar","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/284.html"},{"id":"CWE-862","name":"Missing Authorization","description":"The product does not perform an authorization check when an actor attempts to access a resource or perform an action.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/862.html"}],"affected":[{"vendor":"unknown","product":"salon booking system","name":"Salon Booking System","label":"salon booking system","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 10.30.33","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 10.30.33","eol":null,"hubHref":"/vendor/unknown/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":"< 10.31.3","noFixRecorded":false,"fixedIn":"10.31.3"}],"versionsText":"< 10.31.3","eol":null,"hubHref":null}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://wpscan.com/vulnerability/a116db0a-38ea-43e3-a9cd-991768ce3e07/","label":"wpscan.com/vulnerability/a116db0a-38ea-43e3-a9cd-991768ce3e07/","hostname":"wpscan.com","tags":["Exploit","VDB Entry","Technical Description"]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/2950465d-a030-4003-8751-c93e3a678eb1","label":"www.wordfence.com/threat-intel/vulnerabilities/id/2950465d-a030-4003-8751-c93e3a678eb1","hostname":"www.wordfence.com","tags":["Vendor Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-08-10T06:00:18.178Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-08-11T20:55:17.873Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":31,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T20:53:23.684Z","stale":false,"partial":false}}