Poisoned Pipeline

Poisoned Pipeline / Incidents / AS4

AS4 · 2021-03

php.net git server Zerodium backdoor

Packagist / ComposerGit / GitHub

On 28 March 2021 two malicious commits landed on git.php.net impersonating
PHP developers. The change would execute attacker-supplied code if the
HTTP User-Agent started with "zerodium". The official php.net news post
said the malicious commits were caught before they reached end-user
releases. PHP paused releases, enabled MFA, and later moved canonical
development to GitHub. The inherited text wrongly dated this to 2023.

Mapped techniques

supply-chain git.php.net

T0180 · Initial Access · Compromise services / servers

The self-hosted PHP git server was the point of injection.

T0195 · Defense Evasion · Spoofed commits

Commits impersonated two PHP developers.

T0137 · Initial Access · Weak authentication methods

Post-incident action was to require MFA; git.php.net was retired.

T0111 · Resource Development · Malicious code contribution to an open-source repository

Backdoor committed into php-src.

T0191 · Impact · Malicious code in artifacts

Intended to ship in official PHP tarballs; caught before release.

post-supply-chain PHP users (if it had shipped)

T0172 · Execution · Runtime backdoor

User-Agent zerodium would have run attacker commands on every PHP server.

Sources