Vulnerability 8 min read

Critical Livewire RCE Vulnerability (CVE-2025-54068): What You Need to Know

A critical remote code execution vulnerability in Livewire v3 allows unauthenticated attackers to execute arbitrary code on your server. With 130,000+ applications affected, here's how to check if you're vulnerable and what to do about it.

Matt King
Matt King
March 19, 2026
Last updated: March 19, 2026
Critical Livewire RCE Vulnerability (CVE-2025-54068): What You Need to Know

On March 13, 2026, a critical security advisory was published for Livewire, the reactive frontend framework used by over 130,000 Laravel applications. The vulnerability, tracked as CVE-2025-54068, carries a CVSS score of 9.2 (Critical) and allows unauthenticated remote code execution on any server running an affected version.

This is not a theoretical risk. A proof-of-concept exploit has been publicly released, and there are confirmed cases of active exploitation in the wild.

If you are running Livewire v3, you need to check your version and upgrade immediately.


What happened

Security researchers at Synacktiv discovered a flaw in Livewire's hydration mechanism — the system that serialises and deserialises component state between the browser and server on every request.

The vulnerability allows an attacker to smuggle synthesizers (internal Livewire objects that handle type casting and data transformation) through the updates field in Livewire's POST requests. By crafting a malicious payload, an attacker can inject arbitrary PHP objects into the deserialization pipeline, achieving full remote code execution.

The critical details:

  • CVE: CVE-2025-54068
  • CVSS Score: 9.2 (Critical)
  • Attack Vector: Network (no authentication required)
  • Affected Versions: v3.0.0-beta.1 through v3.6.3
  • Fixed In: v3.6.4+
  • Workaround: None available

Why this is so dangerous

Three factors make this vulnerability exceptionally severe:

1. No authentication required

The attacker does not need to be logged in, have an account, or even know anything about your application. Any publicly accessible Livewire endpoint can be targeted. Since Livewire registers its update route automatically, every Livewire v3 application exposes this attack surface by default.

2. Full server compromise

This is not a data leak or privilege escalation — it is arbitrary code execution. An attacker can:

  • Read and exfiltrate your .env file (database credentials, API keys, encryption keys)
  • Install backdoors and web shells
  • Pivot to other services on your network
  • Deploy cryptocurrency miners (confirmed in the wild)
  • Encrypt your data for ransomware
  • Modify your application code to inject malicious content served to your users

3. Massive attack surface

Livewire v3 has been downloaded millions of times and is used across 130,000+ applications. The public proof-of-concept means that any script kiddie can now scan the internet for vulnerable targets. Automated exploitation is likely already underway.


The ecosystem response

The severity of this vulnerability triggered an unprecedented response across the Laravel ecosystem:

  • Laravel Cloud blocked deployments of applications running vulnerable Livewire versions, preventing teams from deploying new code until they upgraded
  • Packagist flagged the affected versions as insecure, causing Composer to warn during install and update operations
  • GitHub generated automated security advisories for repositories with vulnerable composer.lock files

This level of coordinated response is rare and reflects how seriously the Laravel community is treating this issue.


How to check if you're vulnerable

Run this command in your Laravel project:

composer show livewire/livewire

If the version shown is between v3.0.0-beta.1 and v3.6.3, you are vulnerable.

You can also check your composer.lock file directly:

grep -A 2 '"name": "livewire/livewire"' composer.lock

How to fix it

Upgrade Livewire to v3.6.4 or later:

composer require livewire/livewire:^3.6.4

Or update all dependencies:

composer update livewire/livewire

After upgrading, verify the fix:

composer show livewire/livewire | grep versions

Then deploy immediately. Every hour your application remains unpatched is an hour it's exposed to automated scanning and exploitation.

If you can't upgrade immediately

There is no workaround for this vulnerability. If you absolutely cannot upgrade right now:

  1. Take the application offline until you can upgrade
  2. Block all POST requests to /livewire/update at the web server or load balancer level (this will break all Livewire functionality but prevent exploitation)
  3. Upgrade and redeploy as soon as possible

Checking for signs of compromise

If you were running a vulnerable version, you should check for signs that your server may have been compromised:

  1. Check for unexpected processes: Look for cryptocurrency miners or reverse shells

    ps aux | grep -E "(xmrig|minerd|cryptonight|nc -e|bash -i)"
    
  2. Check for new cron jobs: Attackers often install persistence via crontab

    crontab -l
    for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l 2>/dev/null; done
    
  3. Check for modified files: Look for recently changed PHP files

    find /path/to/your/app -name "*.php" -mtime -7 -not -path "*/vendor/*"
    
  4. Review your .env file: If compromised, rotate all credentials — database passwords, API keys, APP_KEY, mail credentials, and any third-party service tokens

  5. Check your web server access logs: Look for POST requests to /livewire/update with unusually large payloads or from suspicious IPs


What this means for Laravel security

This vulnerability highlights several important truths about Laravel application security:

Dependencies are part of your attack surface

Your application's security is only as strong as its weakest dependency. Livewire is deeply integrated into most applications that use it — it handles form submissions, real-time updates, file uploads, and more. A vulnerability in Livewire is effectively a vulnerability in your application.

Internal dependency auditing is essential

This vulnerability cannot be detected from the outside. Tools like StackShield that perform external security monitoring — scanning your live application for misconfigurations, exposed debug tools, missing headers, and other externally visible issues — are a critical layer of defence. But dependency vulnerabilities like CVE-2025-54068 live inside your composer.lock file, invisible to external scanners.

That means you need both layers: external monitoring for what's visible to attackers, and internal tooling (composer audit, GitHub Dependabot, local-php-security-checker) for what's hidden inside your codebase.

Response time matters

Between the public disclosure and proof-of-concept release, the window for safe patching was narrow. Teams with automated dependency auditing in their CI/CD pipeline were patched within hours. Teams relying on manual composer update may still be vulnerable a week later.


Protecting your Laravel application

Dependency vulnerabilities like this one are just one part of your attack surface. While you need internal tools to catch insecure packages, your externally visible attack surface is just as important — and often overlooked.

StackShield focuses on the things an attacker can see from the outside:

  • Debug mode detection: Is APP_DEBUG=true leaking stack traces and credentials?
  • Exposed .env files: Can an attacker download your secrets directly?
  • Missing security headers: Are you missing HSTS, CSP, X-Frame-Options?
  • Exposed development tools: Are Telescope, Ignition, or Horizon accessible in production?
  • SSL/TLS configuration: Are your certificates valid and properly configured?

These are the misconfigurations that attackers combine with vulnerabilities like CVE-2025-54068 to maximise damage. A compromised server with an exposed .env file means the attacker gets your database credentials, API keys, and encryption keys in seconds.

Run a free scan to check your external attack surface, and use composer audit to check your dependencies. The Laravel Security Checklist covers both internal and external security across 30 checks.


Timeline

Date Event
Early March 2026 Synacktiv discovers the vulnerability
March 12, 2026 Livewire v3.6.4 released with fix
March 13, 2026 CVE-2025-54068 published with CVSS 9.2
March 13, 2026 GitHub security advisory created
March 14, 2026 Laravel Cloud blocks vulnerable deployments
March 15, 2026 Proof-of-concept exploit published
March 17, 2026 First confirmed in-the-wild exploitation (crypto mining)

Bottom line

If you use Livewire v3, upgrade to v3.6.4+ today. Not tomorrow, not next sprint — today.

This vulnerability is:

  • Trivial to exploit (public PoC available)
  • Devastating in impact (full RCE, no auth required)
  • Actively being exploited in the wild
  • Not mitigable without upgrading

Run composer require livewire/livewire:^3.6.4 and deploy. Then run composer audit to confirm you have no other vulnerable dependencies, and scan your external attack surface to make sure the rest of your application is locked down.

Frequently Asked Questions

What is CVE-2025-54068?

CVE-2025-54068 is a critical remote code execution (RCE) vulnerability in Laravel Livewire v3 with a CVSS score of 9.2. It allows unauthenticated attackers to execute arbitrary code on your server by exploiting the hydration mechanism in Livewire's update requests. The vulnerability was discovered by Synacktiv and patched in Livewire v3.6.4.

Which versions of Livewire are affected?

All Livewire v3 versions from v3.0.0-beta.1 through v3.6.3 are affected. Livewire v2 is not affected. If you are running any v3 release prior to v3.6.4, you must upgrade immediately.

Is there a workaround for CVE-2025-54068?

No. There is no workaround available for this vulnerability. The only fix is to upgrade Livewire to v3.6.4 or later. The vulnerability exists in the core hydration mechanism, which cannot be mitigated by middleware, WAFs, or configuration changes.

How do I check if my application is vulnerable?

Run "composer show livewire/livewire" to see your installed version. If it shows any version between v3.0.0-beta.1 and v3.6.3, you are vulnerable. You can also use StackShield's dependency scanning to automatically detect insecure packages in your Laravel application.

Has this vulnerability been exploited in the wild?

Yes. There have been confirmed cases of exploitation in the wild, including at least one instance of servers being compromised for cryptocurrency mining. A proof-of-concept exploit has been publicly released, making this vulnerability actively dangerous for any unpatched application.

Related Security Terms

Stay Updated on Laravel Security

Get actionable security tips, vulnerability alerts, and best practices for Laravel apps.