Toutes les vulnérabilités
CRITICALSupply chainexploited in the wild

SC-WEBMIN-BUILD-2019

CI/CD · Build server · Webmin

Résumé

Disclosed in August 2019, CVE-2019-15107 was an unauthenticated remote code execution backdoor in Webmin, a widely deployed web-based system administration tool that runs with root privileges. The backdoor existed in the password_change.cgi feature: a Perl qx() statement passed the unsanitized old (and in some versions expired) parameter from the password-change request straight to a shell, letting an unauthenticated attacker run arbitrary commands as root, with version 1.890 exploitable in its default configuration and 1.900 through 1.920 exploitable when password expiry was enabled. Critically, the malicious code was never present in Webmin's GitHub source, which remained clean; it was inserted directly into the build infrastructure that produced the official SourceForge release packages, so users who installed signed official builds were backdoored while anyone auditing the public Git source saw nothing wrong. Webmin later confirmed the code was added on its build server on two separate occasions, in April 2018 producing the 1.890 release and again in July 2018 reintroducing it into 1.900 through 1.920, meaning backdoored builds were distributed for over a year. The project released 1.930 on August 17, 2019 to remove the backdoor.

Comment l’éviter dans votre code

  • Build release artifacts from verified source in clean, ephemeral CI and compare against Git.
  • Publish and verify reproducible builds so packages match auditable source.
  • Sign artifacts and verify provenance (SLSA) before installation.
  • Harden and monitor build servers; treat them as high-value targets.
  • Diff distributed packages against repository source to detect build-time injection.

Références

Vulnérabilités liées

Tout Supply chain →