CVE-2023-3285

7.7 HIGH

📋 TL;DR

This CVE describes a Broken Object Level Authorization (BOLA) vulnerability in the Easy!Appointments scheduling system. It allows any authenticated low-privileged user to create appointments for any other user in the system, including administrators. All users of affected Easy!Appointments installations are potentially impacted.

💻 Affected Systems

Products:
  • Easy!Appointments
Versions: Versions prior to the fix
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations using the vulnerable code path in the appointments endpoint.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could create appointments for administrators or other high-privileged users, potentially disrupting operations, creating denial of service through appointment spam, or using appointments to deliver malicious content to targeted users.

🟠

Likely Case

Low-privileged users creating unauthorized appointments for other users, leading to data integrity issues, confusion, and potential service disruption.

🟢

If Mitigated

With proper authorization checks, users can only create appointments for themselves or users they have explicit permission to manage.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but minimal technical skill - essentially making a POST request with a modified user ID parameter.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check the GitHub repository for the latest patched version

Vendor Advisory: https://github.com/alextselegidis/easyappointments

Restart Required: No

Instructions:

1. Backup your current installation
2. Download the latest version from GitHub
3. Replace the vulnerable files with patched versions
4. Verify the fix by testing appointment creation

🔧 Temporary Workarounds

Implement Authorization Middleware

all

Add server-side authorization checks to verify users can only create appointments for themselves or authorized users

Rate Limiting

all

Implement rate limiting on the appointments endpoint to prevent mass exploitation

🧯 If You Can't Patch

  • Implement strict access controls and monitoring on the appointments endpoint
  • Consider disabling appointment creation for low-privileged users until patched

🔍 How to Verify

Check if Vulnerable:

Test if a low-privileged user can create an appointment with another user's ID in the POST request to /appointments

Check Version:

Check the version in your Easy!Appointments installation files or admin panel

Verify Fix Applied:

Verify that low-privileged users can only create appointments for themselves after applying the patch

📡 Detection & Monitoring

Log Indicators:

  • Multiple appointment creation requests from single low-privileged user
  • Appointments created for users by unauthorized accounts

Network Indicators:

  • Unusual patterns of POST requests to /appointments endpoint

SIEM Query:

source="web_logs" AND uri_path="/appointments" AND http_method="POST" AND user_role="low_privilege" AND target_user_id != user_id

🔗 References

📤 Share & Export