CVE-2025-58048
Description
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.
Affected products
1Patches
279b2a5df6a63fix: revert version number
2 files changed · +2 −2
composer.json+1 −1 modified@@ -7,7 +7,7 @@ "framework" ], "license": "MIT", - "version": "1.2.10", + "version": "dev-master", "require": { "php": "^8.2 || ^8.3", "ext-intl": "*",
config/app.php+1 −1 modified@@ -17,7 +17,7 @@ 'name' => env('APP_NAME', 'Paymenter'), - 'version' => '1.2.10', + 'version' => 'development', 'commit' => '',
87c3db42282afix: disable ticket attachments
3 files changed · +1 −49
app/Livewire/Tickets/Create.php+0 −18 modified@@ -8,15 +8,10 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\Storage; -use Livewire\Features\SupportFileUploads\WithFileUploads; #[DisabledIf('tickets_disabled')] class Create extends Component { - use WithFileUploads; - - public array $attachments = []; - public string $message; public string $subject; @@ -27,19 +22,6 @@ class Create extends Component public string $priority; - public function completeUpload($filename) - { - // Find the attachment by its name - foreach ($this->attachments as $key => $attachment) { - if ($attachment->getFilename() === $filename) { - $url = $attachment->store('public/ticket-attachments'); - $url = Storage::url($url); - - return url($url); - } - } - } - public function create() { // Add rules for the department
app/Livewire/Tickets/Show.php+0 −18 modified@@ -9,34 +9,16 @@ use Illuminate\Support\Facades\Storage; use Livewire\Attributes\Locked; use Livewire\Attributes\Rule; -use Livewire\Features\SupportFileUploads\WithFileUploads; #[DisabledIf('tickets_disabled')] class Show extends Component { - use WithFileUploads; - #[Locked] public Ticket $ticket; - public array $attachments = []; - #[Rule('required', 'string')] public string $message; - public function completeUpload($filename) - { - // Find the attachment by its name - foreach ($this->attachments as $key => $attachment) { - if ($attachment->getFilename() === $filename) { - $url = $attachment->store('public/ticket-attachments'); - $url = Storage::url($url); - - return url($url); - } - } - } - public function save() { $this->validate();
themes/default/views/components/easymde-editor.blade.php+1 −13 modified@@ -8,7 +8,7 @@ element: document.getElementById('editor'), spellChecker: false, previewImagesInEditor: true, - uploadImage: true, + uploadImage: false, autoDownloadFontAwesome: false, status: [{ className: 'upload-image', @@ -45,11 +45,6 @@ className: 'upload-image', name: 'ordered-list', action: EasyMDE.toggleOrderedList, }, '|', - { - name: 'upload-image', - action: EasyMDE.drawUploadedImage, - title: 'Upload Image', - }, '|', { name: 'undo', action: EasyMDE.undo, @@ -59,13 +54,6 @@ className: 'upload-image', }, ], - imageUploadFunction: async (file, onSuccess, onError) => { - @this.upload('attachments', file, (url) => { - @this.completeUpload(url).then((url) => { - onSuccess(url); - }); - }); - }, }); editor.codemirror.on('change', function() {
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
3News mentions
0No linked articles in our index yet.