Laravel Lang: the PHP packages used by thousands of developers had malware inside
On May 22, 2026, at 22:32 UTC, an attacker compromised the publishing infrastructure of Laravel Lang — a set of PHP localization packages used by tens of thousands of Laravel projects worldwide. What followed was a poisoned supply chain built on a technique that standard security filters do not catch: the official source code was never touched. The GitHub version tags were.
🔍 Suspicious message?
Analyze senders, links or files in real time with our scanner.
What is Laravel Lang and why does it matter
Laravel Lang is not part of the official Laravel framework, but it is practically indispensable in any Laravel project with multilingual support. Its packages provide validation messages, HTTP statuses, and form attributes already translated into dozens of languages.
The four affected packages are:
- laravel-lang/lang
- laravel-lang/http-statuses
- laravel-lang/attributes
- laravel-lang/actions
They are installed via Composer, PHP's dependency manager, and in many projects they are updated automatically inside CI/CD pipelines. That is exactly what the attacker exploited.
The technique: poison the GitHub tags, not the code
This is the forensic key to the case. The attacker did not modify any file in the official Laravel Lang repositories. That would have been detected immediately by any code review or hash comparison.
What they did instead was exploit a GitHub feature: version tags can point to commits from external forks, not only from the main repository.
The attack flow was as follows:
- The attacker obtained access to the Laravel Lang organization credentials on GitHub — likely through an automation token or compromised release credentials.
- They created a malicious fork of each repository containing the infected code.
- They rewrote all existing version tags to point to commits in their fork instead of the official code.
- The tags were published in rapid bursts on May 22 and 23, many seconds apart from each other, indicating automation.
- When a developer ran
composer installorcomposer update, Composer downloaded the version specified in thecomposer.lock— which now silently pointed to the attacker's code.
Aikido Security confirmed 233 compromised versions across three repositories. Socket raised the figure to approximately 700 affected historical versions.
The payload: what the malware did once inside
The infected file was src/helpers.php. Composer loaded it automatically on every application bootstrap thanks to the autoload.files directive in composer.json — without the developer ever needing to call it explicitly.
This file acted as a dropper: it contacted the command-and-control server at flipboxstudio[.]info and downloaded the actual credential stealer, adapted to the detected operating system. The malware was cross-platform: it ran on Linux, macOS, and Windows.
What it stole
The list of targets was exhaustive:
- Cloud credentials: AWS keys, Google Cloud service account JSON, Azure credentials
- Infrastructure secrets: Kubernetes tokens, CI/CD environment configurations
- Developer tokens: GitHub tokens, SSH keys
- Browsers: stored passwords, cookies, and sessions
- Cryptocurrency wallets: seeds and private keys
- Environment variables: Laravel
.envfiles, where database credentials and API keys are typically stored
The Windows component: DebugElevator
On Windows systems the dropper additionally downloaded an executable called DebugElevator, designed specifically to extract App-Bound Encryption keys from Chrome, Brave, and Edge — the protection Google introduced in 2024 to make session cookie theft harder. The internal attacker name found inside the binary was Mero.
Timeline
| Date / Time | Event |
|---|---|
| 22/05/2026 22:32 UTC | Attack begins — first malicious tag published |
| 22–23/05/2026 | ~700 tags rewritten in automated burst |
| 22/05/2026 | Aikido Security detects the attack and notifies maintainers |
| 23/05/2026 | BleepingComputer, Socket and StepSecurity publish alerts |
| 24/05/2026 | Packagist removes malicious versions and temporarily de-indexes the packages |
I use Laravel Lang. What do I do now?
If your project uses any of the four affected packages and you ran an installation or update after 22:32 UTC on May 22, 2026, assume the system was exposed.
Immediate steps:
- Rotate all environment credentials: AWS keys, GitHub tokens, database credentials from
.env, API tokens, SSH keys. - Check outbound network connections from affected servers to flipboxstudio[.]info — if it appears in your logs, exfiltration was real.
- Update Composer to a clean version of the packages. Packagist has already removed the malicious versions.
- Review the project's
composer.lockto identify which version was installed during the attack window. - Audit CI/CD logs — if the pipeline updated dependencies automatically during that period, all build environment secrets must be considered compromised.
Why this technique is especially dangerous
Supply chain attacks are harder to detect than classic phishing because the vector is not a fraudulent email or a suspicious link — it is a dependency the developer deliberately installed and considers trustworthy.
In this case the GitHub tag rewriting technique adds an extra layer of invisibility: the official repository has no malicious commits. A manual review of the source code on GitHub would show clean code. The poison was in the distribution system, not in the visible code.
Tools like Aikido Security, Socket, or Dependabot that monitor anomalous behavior in dependencies — not just the code itself — are what detected this attack. Manual review would have arrived too late.
Conclusion
The Laravel Lang case is a reminder that in modern software security, trusting the code is not enough — you must also trust the infrastructure that distributes it. A legitimate package with years of history can become an attack vector if its publishing system is compromised.
If you use Composer in production projects, now is the time to review what tools you have in place to detect unexpected changes in dependencies before they reach your server.
Sources: Aikido Security, Socket, BleepingComputer, The Hacker News — May 2026.
Forensic analysis: Oscar Orts · Judicial Computer Expert · ORTSLAB.ES