CVE-2024-45160

9.1 CRITICAL

📋 TL;DR

This vulnerability allows attackers to bypass OAuth2 client authentication in LemonLDAP::NG by sending an empty client_password parameter. Attackers can impersonate legitimate OAuth2 clients without valid credentials. Organizations using affected LemonLDAP::NG versions as an identity provider with OAuth2 are impacted.

💻 Affected Systems

Products:
  • LemonLDAP::NG
Versions: 2.18.x and 2.19.x before 2.19.2
Operating Systems: All platforms running LemonLDAP::NG
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects OAuth2 client authentication functionality; other authentication methods remain unaffected.

⚠️ 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

Attackers gain unauthorized access to protected resources, impersonate legitimate users, and potentially compromise entire authentication infrastructure.

🟠

Likely Case

Unauthorized access to applications relying on LemonLDAP::NG OAuth2 authentication, leading to data breaches and privilege escalation.

🟢

If Mitigated

Limited impact with proper network segmentation, monitoring, and additional authentication layers.

🌐 Internet-Facing: HIGH - OAuth2 endpoints are typically internet-facing, making them directly accessible to attackers.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this to bypass authentication controls.

🎯 Exploit Status

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

Exploitation requires sending specially crafted OAuth2 requests with empty client_password parameter.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.19.2

Vendor Advisory: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/tags

Restart Required: Yes

Instructions:

1. Backup current configuration and data
2. Update LemonLDAP::NG to version 2.19.2 or later
3. Restart LemonLDAP::NG service
4. Verify OAuth2 authentication is working correctly

🔧 Temporary Workarounds

Disable OAuth2 client authentication

all

Temporarily disable OAuth2 client authentication until patching is complete

Edit LemonLDAP::NG configuration to remove or comment out OAuth2 client authentication settings

Network access restrictions

linux

Restrict access to OAuth2 endpoints using firewall rules

iptables -A INPUT -p tcp --dport [oauth2-port] -s [trusted-networks] -j ACCEPT
iptables -A INPUT -p tcp --dport [oauth2-port] -j DROP

🧯 If You Can't Patch

  • Implement Web Application Firewall (WAF) rules to block requests with empty client_password parameters
  • Enable additional authentication factors for OAuth2 clients

🔍 How to Verify

Check if Vulnerable:

Check LemonLDAP::NG version and test OAuth2 authentication with empty client_password parameter

Check Version:

perl -MLemonldap::NG::Portal -e 'print $Lemonldap::NG::Portal::VERSION'

Verify Fix Applied:

Test OAuth2 authentication with empty client_password parameter - should be rejected after patch

📡 Detection & Monitoring

Log Indicators:

  • OAuth2 authentication attempts with empty client_password parameter
  • Successful authentications from unexpected clients

Network Indicators:

  • HTTP POST requests to OAuth2 token endpoint with empty password field
  • Unusual authentication patterns

SIEM Query:

source="lemonldap.log" AND "client_password=" AND ("" OR "null" OR "empty")

🔗 References

📤 Share & Export