CVE-2023-27891

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers to authorize OAuth applications from logged-out sessions in pretix, potentially granting unauthorized access to user accounts. It affects all pretix instances running versions before 4.15.1, 4.16.1, and 4.17.1. Users of affected pretix installations are at risk of account compromise.

💻 Affected Systems

Products:
  • pretix
Versions: All versions before 4.15.1, 4.16.1, and 4.17.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects pretix installations with OAuth functionality enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain full access to user accounts, including administrative privileges, leading to data theft, financial fraud, and complete system compromise.

🟠

Likely Case

Attackers obtain limited access to user accounts, potentially accessing personal information, event registrations, or performing unauthorized actions.

🟢

If Mitigated

With proper authentication controls and monitoring, impact is limited to isolated account compromises that can be quickly detected and remediated.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires network access to the pretix instance but no authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.15.1, 4.16.1, or 4.17.1

Vendor Advisory: https://pretix.eu/about/en/blog/20230306-release-4171/

Restart Required: Yes

Instructions:

1. Backup your pretix instance. 2. Update to version 4.15.1, 4.16.1, or 4.17.1 using your package manager or deployment method. 3. Restart the pretix service. 4. Verify the update was successful.

🔧 Temporary Workarounds

Disable OAuth functionality

all

Temporarily disable OAuth application authorization until patching is possible

Modify pretix configuration to disable OAuth endpoints

Implement network restrictions

all

Restrict access to OAuth endpoints to trusted networks only

Configure firewall rules to limit access to /oauth/ paths

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate pretix instances
  • Enable detailed logging and monitoring for OAuth authorization attempts

🔍 How to Verify

Check if Vulnerable:

Check pretix version via admin interface or configuration files. If version is below 4.15.1, 4.16.1, or 4.17.1, the system is vulnerable.

Check Version:

Check pretix admin interface or run: python -c "import pretix; print(pretix.__version__)"

Verify Fix Applied:

Verify version is 4.15.1, 4.16.1, or 4.17.1. Test OAuth authorization flow to ensure it requires authentication.

📡 Detection & Monitoring

Log Indicators:

  • OAuth authorization attempts from unauthenticated sessions
  • Multiple failed authentication attempts followed by OAuth requests

Network Indicators:

  • HTTP requests to /oauth/authorize endpoint without authentication headers
  • Unusual OAuth token generation patterns

SIEM Query:

source="pretix" AND (uri_path="/oauth/authorize" AND NOT auth_status="success")

🔗 References

📤 Share & Export