CVE-2025-54307
Full vulnerability record from the local CVENow database.
Description
An issue was discovered in the Thermo Fisher Torrent Suite Django application 5.18.1. The /configure/plugins/plugin/upload/zip/ and /configure/newupdates/offline/bundle/upload/ endpoints allow low-privilege users to upload ZIP files to the server. The plupload_file_upload function handles these file uploads and constructs the destination file path by using either the name parameter or the uploaded filename, neither of which is properly sanitized. The file extension is extracted by splitting the filename, and a format string is used to construct the final file path, leaving the destination path vulnerable to path traversal. An authenticated attacker with network connectivity can write arbitrary files to the server, enabling remote code execution after overwriting an executable file. An example is the pdflatex executable, which is executed through subprocess.Popen in the write_report_pdf function after requests to a /report/latex/(\d+).pdf endpoint.
View original CVE JSON
{
"id": "CVE-2025-54307",
"sourceIdentifier": "[email protected]",
"published": "2025-12-04T15:15:59.163",
"lastModified": "2026-11-04T22:10:00.210",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "An issue was discovered in the Thermo Fisher Torrent Suite Django application 5.18.1. The /configure/plugins/plugin/upload/zip/ and /configure/newupdates/offline/bundle/upload/ endpoints allow low-privilege users to upload ZIP files to the server. The plupload_file_upload function handles these file uploads and constructs the destination file path by using either the name parameter or the uploaded filename, neither of which is properly sanitized. The file extension is extracted by splitting the filename, and a format string is used to construct the final file path, leaving the destination path vulnerable to path traversal. An authenticated attacker with network connectivity can write arbitrary files to the server, enabling remote code execution after overwriting an executable file. An example is the pdflatex executable, which is executed through subprocess.Popen in the write_report_pdf function after requests to a /report/latex/(\\d+).pdf endpoint."
},
{
"lang": "es",
"value": "Se descubrió un problema en la aplicación Thermo Fisher Torrent Suite Django 5.18.1. Los endpoints /configure/plugins/plugin/upload/zip/ y /configure/newupdates/offline/bundle/upload/ permiten a usuarios con bajos privilegios cargar archivos ZIP al servidor. La función plupload_file_upload maneja estas cargas de archivos y construye la ruta del archivo de destino utilizando el parámetro ’name’ o el nombre de archivo cargado, ninguno de los cuales se depura correctamente. La extensión del archivo se extrae dividiendo el nombre del archivo, y se utiliza una cadena de formato para construir la ruta final del archivo, dejando la ruta de destino vulnerable a salto de ruta. Un atacante autenticado con conectividad de red puede escribir archivos arbitrarios en el servidor, lo que permite la ejecución remota de código después de sobrescribir un archivo ejecutable. Un ejemplo es el ejecutable pdflatex, que se ejecuta a través de subprocess.Popen en la función write_report_pdf después de solicitudes a un endpoint /report/latex/(\\d+).pdf."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "n/a",
"product": "n/a",
"versions": [
{
"version": "n/a",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.8,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2025-12-05T19:57:05.399563Z",
"id": "CVE-2025-54307",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-22"
}
]
}
],
"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"
]
}
]
}