Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Livewire Markdown Editor Laravel Package

mckenziearts/livewire-markdown-editor

View on GitHub
Deep Wiki
Context7
v1.3

⚠️ Security

This release patches a critical arbitrary file upload vulnerability (CWE-434 + CWE-79) in the markdown editor's attachment handler. All users are encouraged to upgrade immediately.

Any authenticated user could upload HTML, SVG, JavaScript, PHP or other executable files to the configured disk. When the disk was a public cloud bucket (S3, Spaces, R2, Scaleway with FILESYSTEM_DISK=s3), uploaded files were served with a guessed Content-Type, enabling stored XSS, phishing page hosting, and malware distribution on the application's storage domain. A real-world exploit has been observed in production.

What's fixed

  • Strict validation (file, image, mimes:, extensions:, max:) is now enforced on every attachment before any store() call
  • Uploaded files are stored under a server-generated random filename with an extension derived from the actual file content (via finfo), never from the client-supplied name
  • The original filename is sanitized (control characters and markdown breakout characters stripped, truncated to 100 chars) before being inserted into the markdown output
  • The file input accept attribute is now derived from the config instead of a hard-coded allowlist that was never enforced server-side

Breaking behavioral change

Only image files are accepted by default. If your application relied on uploading PDF, DOC or other non-image types, publish the config and update the upload section:

php artisan vendor:publish --tag=livewire-markdown-editor-config
// config/livewire-markdown-editor.php
'upload' => [
'max_size' => 4096,
'allowed_extensions' => ['jpg', 'jpeg', 'png', 'gif', 'webp', 'avif', 'pdf', 'doc', 'docx'],
'images_only' => false,
],

If you do not use the attachment feature, disable it entirely via the show-upload prop:

<livewire:markdown-editor wire:model="content" :show-upload="false" />

What's Changed

Full Changelog: https://github.com/mckenziearts/livewire-markdown-editor/compare/v1.2...v1.3

v1.1

What's Changed

New Contributors

Full Changelog: https://github.com/mckenziearts/livewire-markdown-editor/compare/v1.0.1...v1.1

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle