CVE-2025-54068
PHP vulnerability analysis and mitigation

Overview

CVE-2025-54068 is a critical code injection vulnerability in Laravel Livewire v3 that allows unauthenticated remote attackers to achieve remote command execution (RCE) in specific deployment scenarios. It affects all Livewire v3 releases from v3.0.0-beta.1 through v3.6.3 and is unique to the v3 major version — prior versions are not affected. The vulnerability was disclosed on July 17, 2025, with a patch released the same day in v3.6.4. It carries a CVSS v3.1 base score of 9.8 (Critical) and a CVSS v4.0 base score of 9.2 (Critical) (GitHub Advisory, CISA KEV).

Technical details

The root cause is improper control of code generation (CWE-94) during the hydration of Livewire component property updates. When a Livewire component receives a property update request, the framework's hydrateForUpdate method in HandleComponents.php previously passed synthetic tuple data directly to the generic hydrate() method without sufficient validation, allowing an attacker to supply a crafted synthetic tuple that causes the framework to instantiate and invoke arbitrary PHP objects or code during deserialization-like hydration (GitHub Advisory, Patch Commit). The fix introduced a dedicated hydratePropertyUpdate() method that restricts which synthesizers can be invoked during property updates, preventing arbitrary class instantiation. Exploitation requires the target application to have a Livewire component mounted and configured in a specific way (e.g., exposing certain property types), but requires no authentication or user interaction. A detailed technical write-up and PoC tool were published by Synacktiv (Synacktiv Research).

Impact

Successful exploitation grants an unauthenticated remote attacker full command execution on the underlying server running the vulnerable Laravel/Livewire application. This results in complete compromise of confidentiality (access to application secrets, database credentials, user data), integrity (modification of application files, planting of web shells or backdoors), and availability (service disruption or resource hijacking). Real-world exploitation has included deployment of cryptocurrency miners and web shell backdoors in the public directory of compromised Laravel applications, as well as use as an initial access vector for further lateral movement into internal infrastructure (5balloons.info, dev.to).

Exploitation steps

  1. Reconnaissance: Use Shodan, Censys, or similar tools to identify internet-facing Laravel applications running Livewire v3 (versions 3.0.0-beta.1 through 3.6.3). Look for HTTP responses containing Livewire-specific JavaScript or component markers (e.g., wire:id, livewire/livewire.js).
  2. Identify vulnerable component: Browse the target application to find pages that render Livewire components with updatable properties. Components that accept complex typed properties (e.g., objects, collections) are more likely to be exploitable.
  3. Intercept Livewire update request: Using a proxy (e.g., Burp Suite), capture a legitimate Livewire component update request (typically a POST to /livewire/update or similar endpoint) that includes the component's snapshot and property update payload in JSON format.
  4. Craft malicious payload: Modify the property update payload to include a crafted synthetic tuple ([$value, $meta]) where the $meta['s'] (synthesizer key) references a PHP class or gadget chain that, when instantiated and hydrated by the server, triggers arbitrary code execution. The Synacktiv Livepyre tool automates this payload generation (Synacktiv Research).
  5. Submit exploit request: Send the crafted POST request to the Livewire update endpoint. The server's hydrateForUpdate method processes the malicious tuple, invoking the attacker-controlled synthesizer and executing the injected command.
  6. Achieve RCE: The server executes the attacker's command (e.g., a reverse shell, web shell drop, or cryptominer installation) as the web server process user. Observed post-exploitation activity includes dropping PHP web shells in the public/ directory and deploying cryptocurrency mining software (5balloons.info).

Indicators of compromise

  • Network: Unusual or automated POST requests to /livewire/update (or equivalent Livewire AJAX endpoints) with anomalous JSON payloads containing unexpected s (synthesizer) keys or deeply nested synthetic tuples; outbound connections from the web server to unknown external IPs (reverse shell callbacks or miner pool connections).
  • File System: Unexpected PHP files (web shells) in the public/ directory or other web-accessible paths; new or modified files in the Laravel application root with obfuscated PHP code; presence of cryptocurrency miner binaries (e.g., xmrig) in /tmp/ or world-writable directories.
  • Logs: Laravel/web server access logs showing repeated POST requests to Livewire update endpoints with large or malformed JSON bodies; PHP error logs showing unexpected class instantiation or synthesizer errors; entries referencing unusual class names in Livewire hydration context.
  • Process: Unexpected child processes spawned by the web server process (e.g., php-fpm, apache2, nginx) such as bash, sh, curl, wget, or cryptocurrency miner processes with high CPU usage.
  • Behavioral: Sudden spike in CPU usage on web servers (indicative of cryptomining); HTTP redirects to unrelated domains for Google-only traffic (SEO spam injection); new cron jobs or scheduled tasks created under the web server user account (5balloons.info, Honeypot Research).

Mitigation and workarounds

The only available remediation is upgrading to Livewire v3.6.4 or later, released July 17, 2025 — no configuration-based workarounds exist (GitHub Advisory, Release Notes). Organizations should run composer update livewire/livewire and verify the installed version is ≥ 3.6.4. While patching is underway, consider implementing WAF rules to inspect and rate-limit POST requests to Livewire update endpoints, and apply network segmentation to limit outbound connections from web servers. CISA mandated federal agencies patch by April 3, 2026 (CISA KEV). Downstream projects using Livewire (e.g., Snipe-IT) have also released updated versions incorporating the fix.

Community reactions

The vulnerability generated significant attention across the security community. Synacktiv published a detailed technical write-up and released the Livepyre exploitation tool, providing deep insight into the unmarshaling-based RCE mechanism (Synacktiv Research). The Laravel security blog securinglaravel.com published multiple advisories urging immediate upgrades and providing guidance on detecting vulnerable packages (Securing Laravel). The Hacker News covered CISA's KEV addition, noting the vulnerability alongside Apple and Craft CMS flaws (The Hacker News). Community discussion on Reddit's r/laravel and r/CVEWatch highlighted the broad exposure of the Laravel ecosystem, with one developer sharing a real-world incident where their server was compromised for cryptomining via this vulnerability. Security researchers noted that approximately 130,000 Livewire-powered applications were potentially at risk.

Additional resources


SourceThis report was generated using AI

Related PHP vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-53599HIGH7.5
  • PHP logoPHP
  • redaxo/source
NoYesJul 31, 2026
CVE-2026-54768MEDIUM6.9
  • PHP logoPHP
  • wp-graphql/wp-graphql
NoNoJul 31, 2026
CVE-2026-55825LOW3.1
  • PHP logoPHP
  • composer://contao/contao
NoYesJul 31, 2026
CVE-2026-57232LOW3.1
  • PHP logoPHP
  • composer://contao/core-bundle
NoYesJul 31, 2026
CVE-2026-55824LOW2.6
  • PHP logoPHP
  • composer://contao/contao
NoYesJul 31, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management