CVE-2025-66033

5.3 MEDIUM

📋 TL;DR

The Okta Java Management SDK versions 21.0.0 through 24.0.0 have a memory management vulnerability in multithreaded implementations where threads are not properly cleaned up after requests. This can cause performance degradation and potential denial-of-service in long-running applications under sustained load. Only applications using the affected SDK versions in multithreaded, long-running contexts are impacted.

💻 Affected Systems

Products:
  • Okta Java Management SDK
Versions: 21.0.0 through 24.0.0
Operating Systems: All platforms running Java applications
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using ApiClient in multithreaded, long-running applications. Single-threaded or short-lived applications are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Application becomes unresponsive due to memory exhaustion, causing complete denial-of-service for all users.

🟠

Likely Case

Gradual performance degradation over time requiring application restarts to maintain functionality.

🟢

If Mitigated

Minor performance impact with no service disruption if proper monitoring and restart procedures are in place.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires sustained legitimate traffic to trigger the memory issue, not a traditional security exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 24.0.1

Vendor Advisory: https://github.com/okta/okta-sdk-java/security/advisories/GHSA-qhr6-6cgv-6638

Restart Required: Yes

Instructions:

1. Update Maven/Gradle dependency to okta-sdk-java version 24.0.1 or later. 2. Rebuild your application. 3. Redeploy the updated application. 4. Restart the application service.

🔧 Temporary Workarounds

Implement application restart schedule

all

Schedule regular application restarts to clear accumulated memory before degradation becomes critical

# Example cron job for daily restart
0 2 * * * systemctl restart your-application.service

Implement memory monitoring and alerts

all

Set up monitoring for memory usage and thread counts with alerting thresholds

# Example monitoring configuration
# Monitor JVM heap usage and thread count
# Alert when >80% heap usage or thread count > baseline + 50%

🧯 If You Can't Patch

  • Implement aggressive memory monitoring with automated restart triggers when thresholds are exceeded
  • Reduce application load or implement rate limiting to minimize thread creation frequency

🔍 How to Verify

Check if Vulnerable:

Check your project's dependency file (pom.xml or build.gradle) for okta-sdk-java version between 21.0.0 and 24.0.0 inclusive

Check Version:

grep -i 'okta-sdk-java' pom.xml build.gradle || mvn dependency:tree | grep okta-sdk-java

Verify Fix Applied:

Verify okta-sdk-java version is 24.0.1 or later in your dependency file and rebuilt application

📡 Detection & Monitoring

Log Indicators:

  • Increasing JVM memory usage over time without corresponding load increase
  • Frequent garbage collection events
  • OutOfMemoryError exceptions
  • Increasing thread count without corresponding decrease

Network Indicators:

  • Gradually increasing response times for API calls
  • Timeout errors under sustained load

SIEM Query:

source="application.logs" ("OutOfMemoryError" OR "java.lang.OutOfMemoryError" OR "GC overhead limit exceeded") AND "okta"

🔗 References

📤 Share & Export