{"schemaVersion":3,"id":"CVE-2026-8840","aliases":[],"status":"published","duplicateOf":null,"title":"Booking calendar, Appointment Booking System <= 3.2.36 - Missing Authorization to Unauthenticated Arbitrary Modification via wpdevart_payment AJAX Action","description":"The Booking calendar, Appointment Booking System plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 3.2.36. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to mark arbitrary reservations as paid or completed, cancel legitimate payments, auto-approve reservations, and trigger transactional booking emails by writing attacker-supplied payment status and transaction data directly into the payments table. The auto-approval of reservations is only triggered when the 'enable_psuccess_approval' site option is enabled, but payment status manipulation and email dispatch are exploitable regardless of that setting.","dates":{"published":"2026-08-15T02:26:16.822Z","modified":"2026-08-17T19:38:57.632Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.3,"severity":"medium","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:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","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},{"version":"3.1","versionLabel":"v3.1","source":"NVD","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},{"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.00547,"percentile":0.45027,"severity":"low","asOf":"2026-10-22T00:00:00.000Z","change":{"pp":0.232,"baselineDate":"2026-09-22T00:00:00.000Z","baselineScore":0.00315},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00547,"percentile":0.45027}],"last30":[{"date":"2026-09-22T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00547,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00547,"percentile":0.45027}]},"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-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":"wordpress","product":"booking-calendar","name":"Booking calendar, Appointment Booking System","label":"booking-calendar","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 3.2.36","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 3.2.36","eol":null,"hubHref":null},{"vendor":"wpdevart","product":"booking calendar, appointment booking system","name":"Booking calendar, Appointment Booking System","label":"booking calendar, appointment booking system","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 3.2.36","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 3.2.36","eol":null,"hubHref":"/vendor/wpdevart/booking_calendar_appointment_booking_system"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/88409bb0-5cb0-4f63-b8f0-d72f54fa17b0?source=cve","label":"www.wordfence.com/threat-intel/vulnerabilities/id/88409bb0-5cb0-4f63-b8f0-d72f54fa17b0?source=cve","hostname":"www.wordfence.com","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.36/admin/controllers/Payment.php#L26","label":"plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.36/admin/controllers/Payment.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.36/admin/controllers/Payment.php#L16","label":"plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.36/admin/controllers/Payment.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.36/booking_calendar.php#L578","label":"plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.36/booking_calendar.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.36/booking_calendar.php#L131","label":"plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.36/booking_calendar.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.35/admin/controllers/Payment.php#L26","label":"plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.35/admin/controllers/Payment.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.35/admin/controllers/Payment.php#L16","label":"plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.35/admin/controllers/Payment.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.35/booking_calendar.php#L578","label":"plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.35/booking_calendar.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.35/booking_calendar.php#L131","label":"plugins.trac.wordpress.org/browser/booking-calendar/tags/3.2.35/booking_calendar.php","hostname":"plugins.trac.wordpress.org","tags":[]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/88409bb0-5cb0-4f63-b8f0-d72f54fa17b0","label":"www.wordfence.com/threat-intel/vulnerabilities/id/88409bb0-5cb0-4f63-b8f0-d72f54fa17b0","hostname":"www.wordfence.com","tags":["Vendor Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-08-15T02:26:16.822Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-08-17T19:38:57.632Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":21,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T19:03:32.148Z","stale":false,"partial":false}}