CVE-2024-9342

9.8 CRITICAL

📋 TL;DR

CVE-2024-9342 allows attackers to perform unlimited brute-force login attempts against Eclipse GlassFish servers, potentially compromising administrator or user accounts. This affects all deployments using GlassFish 7.0.16 or earlier with authentication enabled. The vulnerability stems from missing rate limiting on login attempts.

💻 Affected Systems

Products:
  • Eclipse GlassFish
Versions: 7.0.16 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with authentication enabled. Default installations with authentication are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise through successful brute-force of administrative credentials, leading to data theft, application takeover, or deployment of backdoors.

🟠

Likely Case

Account takeover of user or administrative accounts through automated brute-force attacks, resulting in unauthorized access to sensitive data and application functionality.

🟢

If Mitigated

Limited impact if strong password policies, account lockouts, or network-level protections are implemented, though the vulnerability still presents an attack surface.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires no authentication and can be performed with basic brute-force tools. No special conditions needed beyond network access to login endpoints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.0.17 or later

Vendor Advisory: https://gitlab.eclipse.org/security/cve-assignement/-/issues/33

Restart Required: Yes

Instructions:

1. Download GlassFish 7.0.17 or later from Eclipse repository. 2. Backup current configuration. 3. Stop GlassFish server. 4. Replace installation with patched version. 5. Restore configuration. 6. Start server.

🔧 Temporary Workarounds

Implement Web Application Firewall (WAF) Rules

all

Configure WAF to rate-limit login attempts to the GlassFish authentication endpoints.

Configure Reverse Proxy Rate Limiting

linux

Use nginx or Apache as reverse proxy to implement rate limiting on /j_security_check and other login endpoints.

# nginx example: limit_req_zone $binary_remote_addr zone=glassfishlogin:10m rate=5r/m;
# Then in location block: limit_req zone=glassfishlogin burst=10 nodelay;

🧯 If You Can't Patch

  • Implement network-level controls like IP-based rate limiting at firewall or load balancer.
  • Enforce strong password policies (minimum 12 characters, complexity requirements) to increase brute-force difficulty.

🔍 How to Verify

Check if Vulnerable:

Check GlassFish version via admin console or command: asadmin version. If version is 7.0.16 or earlier, system is vulnerable.

Check Version:

asadmin version

Verify Fix Applied:

Verify version is 7.0.17 or later using asadmin version command. Test login endpoint with rapid consecutive failed attempts to confirm rate limiting is active.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed login attempts from same IP address in short time period
  • Unusual authentication patterns in server.log

Network Indicators:

  • High volume of POST requests to /j_security_check endpoint
  • Traffic patterns showing login attempts at regular intervals

SIEM Query:

source="glassfish.log" AND "javax.enterprise.system.core.security" AND "FAILED" | stats count by src_ip | where count > 10

🔗 References

📤 Share & Export