VYPR
Critical severity9.9OSV Advisory· Published Aug 28, 2025· Updated Apr 15, 2026

CVE-2025-58048

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

1

Patches

2
79b2a5df6a63

fix: 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' => '',
     
    
87c3db42282a

fix: 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

3

News mentions

0

No linked articles in our index yet.