Not php.net · Not NVD · Not CISA

PHP Vulnerability Tracker

Unofficial briefing on PHP security vulnerabilities

English简体中文日本語DeutschFrançaisNederlandsEspañol

Security alert

PHP2Shell: upgrade PHP. That is the only complete fix.

CVE-2026-109618 and CVE-2026-109619 are critical, unauthenticated remote-code-execution bugs in PHP itself. The PHP project shipped fixes on 21 October 2026 for the supported 8.2–8.5 branches. Restart PHP after you upgrade. A firewall is not a substitute.

Remediation steps

Related incident · Composer / Packagist supply chain · April–May 2026

laravel-lang and Packagist supply chain attacks (2026): check your composer.lock

Attackers used stolen GitHub access to publish malicious tags for real Packagist packages. In the laravel-lang case the payload ran on every PHP request once installed.

Last updated

What happened

Packages reported as compromised
PackageWhenHow it executedSource
laravel-lang/lang, http-statuses, attributes, actions22–23 May 2026Injected src/helpers.php in autoload.files, so it runs on every request and CLI commandSnyk
intercom/intercom-php 5.0.230 April 2026Turned into a Composer plugin that ran a script on install/updateSocket
Eight packages including devdojo/wave and devdojo/genesis (dev branches)Reported 23 May 2026postinstall hook in package.json that downloaded a Linux binaryThe Hacker News

Packagist says these attacks used taken-over GitHub accounts and stolen tokens to publish new tags on packages the attackers had no legitimate access to, and that the team pulled affected versions within minutes of detection.

Is my application affected?

Check lockfiles and Composer version
# Did a project ever resolve one of the affected packages?
grep -n -E '"name": "(laravel-lang/(lang|http-statuses|attributes|actions)|intercom/intercom-php)"' composer.lock
composer show --locked | grep -E 'laravel-lang|intercom'
composer --version          # 2.10+ adds dependency policies for malware-flagged versions
composer audit

How to fix it

FAQ

How do I know if my app pulled a malicious version?

Search composer.lock in every branch and every built image for the package names on this page, and compare the install date with the attack window. A lockfile resolved before the malicious tags appeared would have kept the old commit reference.

Is composer update enough?

No. Updating replaces the package, but the laravel-lang payload ran a credential stealer. Treat the machine or container as compromised and rotate cloud keys, database passwords, CI tokens and SSH keys it could access.

What did Packagist change?

Packagist’s 27 May 2026 post describes malware flags from Aikido shown in metadata, stable version immutability so tags cannot be silently rewritten, and Composer 2.10 dependency policies that cover malware-flagged versions.

Sources

Outbound links leave this site. We do not host exploit code.

  1. An update on Composer & Packagist supply chain security (27 May 2026) — Packagist blog
  2. Laravel Lang supply chain advisory — Snyk
  3. Mini Shai-Hulud spreads to Packagist: malicious Intercom PHP package — Socket
  4. Packagist supply chain attack infects 8 packages using GitHub-hosted Linux malware (23 May 2026) — The Hacker News