CVE-2025-58048: Paymenter Vulnerable to Remote Code Execution via Public File Uploads
Impact
The ticket attachments functionality in Paymenter allows a malicious authenticated user to upload arbitrary files.
With the ability to execute arbitrary code, this vulnerability can be exploited in numerous ways, including but not limited to: - Extracting sensitive data from the database (e.g. customer information). - Reading credentials from .env or other configuration files. - Running arbitrary system commands under the web server user context.
This issue is Critical as it allows a low-privilege authenticated user to fully compromise the application and underlying server.
Patches This vulnerability was patched by https://github.com/Paymenter/Paymenter/commit/87c3db42282ada1e3cda54b9a01f846926c0669b and was released under the v1.2.11 tag without any other code modifications compared to v1.2.10.
Work arounds If upgrading is not immediately possible, administrators can mitigate this vulnerability with one or more of the following measures:
- Updating nginx config to download attachments instead of executing them: location ^~ /storage/ { types { } defaulttype application/octet-stream; addheader X-Content-Type-Options nosniff; tryfiles $uri =404; } - Disallow access to /storage/ fully using a WAF such as Cloudflare
These workarounds significantly reduce risk, but the only guaranteed resolution is upgrading to v1.2.11 or later.
Other sources
Paymenter is a free and open-source webshop solution for hostings. Prior to version 1.2.11, the ticket attachments functionality in Paymenter allows a malicious authenticated user to upload arbitrary files. This could result in sensitive data extraction from the database, credentials being read from configuration files, and arbitrary system commands being run under the web server user context. This vulnerability was patched by commit 87c3db4 and was released under the version 1.2.11 tag without any other code modifications compared to version 1.2.10. If upgrading is not immediately possible, administrators can mitigate this vulnerability with one or more of the following measures: updating nginx config to download attachments instead of executing them or disallowing access to /storage/ fully using a WAF such as Cloudflare.
— NVD
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
composer/paymenter/paymenterto a version that resolves this vulnerability.Fixed in 1.2.11 - Configuration
Update nginx configuration to force downloads and prevent execution of uploaded attachments by adding a location ^~ /storage/ block containing: add_header X-Content-Type-Options nosniff; default_type application/octet-stream; try_files $uri =404; types { }
nginx location ^~ /storage/ = add_header X-Content-Type-Options nosniff; default_type application/octet-stream; try_files $uri =404; types { } - Compensating control
Disallow access to /storage/ entirely at the edge (for example, via a WAF such as Cloudflare) to block public access to uploaded files.
Event History
Frequently Asked Questions
What is the severity of CVE-2025-58048?
CVE-2025-58048 has been rated with a severity level that indicates a significant risk due to the potential for arbitrary file uploads.
How do I fix CVE-2025-58048?
To fix CVE-2025-58048, you should upgrade Paymenter to version 1.2.11 or later.
What vulnerabilities does CVE-2025-58048 introduce?
CVE-2025-58048 introduces vulnerabilities that allow authenticated users to upload arbitrary files, potentially leading to sensitive data exposure.
Which versions of Paymenter are affected by CVE-2025-58048?
Paymenter versions prior to 1.2.11 are affected by CVE-2025-58048.
Who can exploit CVE-2025-58048?
CVE-2025-58048 can be exploited by a malicious authenticated user with access to the Paymenter system.