CVE-2025-13317
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedThe Appointment Booking Calendar plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1.3.96. This is due to the plugin exposing an unauthenticated booking processing endpoint (cpabc_appointments_check_IPN_verification) that trusts attacker-supplied payment notifications without verifying their origin, authenticity, or requiring proper authorization checks. This makes it possible for unauthenticated attackers to arbitrarily confirm bookings and insert them into the live calendar via the 'cpabc_ipncheck' parameter, triggering administrative and customer notification emails and disrupting operations.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceThe Appointment Booking Calendar plugin for WordPress versions up to 1.3.96 lack authorization checks on the cpabc_appointments_check_IPN_verification endpoint. This allows unauthenticated attackers to submit arbitrary booking confirmations via the cpabc_ipncheck parameter, injecting fake bookings into the calendar and triggering notification emails to admins and customers.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Confirm plugin installation and versionIn WordPress admin, go to Plugins > Installed Plugins and locate 'Appointment Booking Calendar'. Note the version number displayed under the plugin name.Affected if The plugin is installed and the version listed is 1.3.96 or lower.
-
Compare version to affected rangeReview the version number identified in step 1. The vulnerability affects all versions up to and including 1.3.96.Affected if The installed version is 1.3.96 or any earlier version number.
-
Identify the vulnerable endpointLocate the file handling the cpabc_appointments_check_IPN_verification request. This is typically in the plugin directory, often in files named ipn.php, ipnhandler.php, or similar files containing the IPN verification logic.Affected if The plugin file containing 'cpabc_appointments_check_IPN_verification' or 'cpabc_ipncheck' exists in the installation.
-
Test endpoint accessibilitySend a crafted request to the suspected endpoint (commonly at /?cpabc_ipncheck=1 or similar URL pattern used by the plugin's IPN handler) without providing any authentication credentials.Affected if The endpoint returns a successful response or processes the request without requiring authentication or validation.
-
Audit recent bookings for suspicious activityIn WordPress admin, navigate to the plugin's booking management section and review recent appointment submissions. Look for bookings with unusual timestamps, invalid customer data, or unexpected notification triggers.Affected if There are bookings in the system that were not created through the normal admin or customer-facing booking process, or notification emails were sent without valid bookings.
A user is affected if the Appointment Booking Calendar plugin version is 1.3.96 or lower and the cpabc_appointments_check_IPN_verification endpoint is accessible without authentication.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedUpdate to version 1.3.97 or later which includes proper authorization validation. Alternatively, temporarily disable the plugin or restrict access to the vulnerable endpoint at the web server/firewall level until patching is feasible.
Version 1.3.97 or later
- Update the Appointment Booking Calendar plugin to the latest available version from the WordPress plugin repository
- After updating, verify that the cpabc_appointments_check_IPN_verification endpoint now properly validates payment notifications
- Confirm that unauthorized bookings can no longer be confirmed via the cpabc_ipncheck parameter
- Test that legitimate booking workflows still function correctly including admin and customer notifications
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation4.0 h
- Testing3.0 h
- Review / QA1.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,800.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-13317 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2025-13317 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data