OVHcloud CLI downloads swapped for a build that steals secrets from disk
An attacker used a developer’s GitHub account to replace release files of OVHcloud CLI, the company’s command-line interface, for versions v0.11.0 through v0.15.0 on Oct 19. OVHcloud’s chief executive, Octave Klaba, says the attacker’s binary retrieves secrets from the user’s disk, and tells anyone affected to change all of them. Downloads from 8:47 to 10:21 a.m. ET got the malicious build on the mainstream platforms, and a clean v0.16.0 followed at 1:16 p.m. ET.
- Affected
- OVHcloud CLI
v0.11.0throughv0.15.0files for macOS, Linux x86_64 and arm64 and Windows x86_64, downloaded Oct 19 from 8:47 to 10:21 a.m. ET. All versions and fixes - Vendor
- OVHcloud
- Published
- Editor
- Austin Simas
Details
OpenSourceMalware, which rebuilt the timeline from GitHub’s server records, says the attacker replaced files on five existing releases through GitHub’s ordinary Releases API. It uploaded each release’s checksum file last, so the published hashes matched the new binaries. The source code was never touched, and no build pipeline ran. The binary was built on a workstation from a later, unreleased commit with uncommitted changes. Built outside the release pipeline, it reports a development version instead of a release tag.
OpenSourceMalware says the malicious files reached anyone who installed or updated on macOS, Linux x86_64 or arm64, or Windows x86_64 during that time. That includes the install script, the Homebrew cask, direct downloads and build jobs that fetch release files. Installs with go install, source builds and the ovhcom/ovhcloud-cli Docker image were unaffected, as were the i386, Windows arm64 and WebAssembly builds and v0.10.0.
A user whose build job pins file hashes caught the swap and reported it in a public issue, since the project had no private reporting channel. OVHcloud deleted the files and published v0.16.0 as an immutable release with a GitHub attestation, uploaded by a service account rather than a person. Klaba says initial checks found no other repository affected, and OVHcloud has promised a post-mortem.
OVHcloud hasn’t said how the developer’s account was taken over, what files the binary reads, where it sends them or how many times the files were downloaded. OpenSourceMalware couldn’t study the binary because the files were deleted before anyone archived them, and it has published only one malicious hash, from the user’s pinned check.
In early March, an attacker used the same account to plant a hidden loader in the developer’s own repositories, OpenSourceMalware found. The loader finds its next stage through a Solana wallet that appears in public GlassWorm indicator lists. OpenSourceMalware calls the link between that intrusion and the October swap its own inference, resting on the shared account.
What to do
7 steps
Affected and fixed versions
| Product | Affected | Fixed |
|---|---|---|
| OVHcloud CLI for macOS, Linux x86_64 and arm64, and Windows x86_64 | v0.11.0 through v0.15.0 files downloaded Oct 19 from 8:47 to 10:21 a.m. ET | v0.16.0 or later |
| OVHcloud CLI, other builds and install routes | Not affected: go install, source builds, the ovhcom/ovhcloud-cli Docker image, i386, Windows arm64 and WebAssembly builds, and v0.10.0 | No action needed |
- Product
- OVHcloud CLI for macOS, Linux x86_64 and arm64, and Windows x86_64
- Affected
v0.11.0throughv0.15.0files downloaded Oct 19 from 8:47 to 10:21 a.m. ET- Fixed
v0.16.0or later
- Product
- OVHcloud CLI, other builds and install routes
- Affected
- Not affected:
go install, source builds, theovhcom/ovhcloud-cliDocker image, i386, Windows arm64 and WebAssembly builds, andv0.10.0 - Fixed
- No action needed
Indicators
| Type | Value | Note |
|---|---|---|
| SHA-256 | Malicious v0.15.0 Linux arm64 archive, the only swapped hash published |
- SHA-256Malicious v0.15.0 Linux arm64 archive, the only swapped hash published
Timeline
- Mar 4–6An attacker uses the developer’s account to plant a hidden loader in four of the developer’s own repositories, OpenSourceMalware says.
- Oct 19The attacker starts replacing release files at 8:47 a.m. ET and finishes about 25 minutes later.
- Oct 19A user whose build job caught the change opens a public issue at 9:50 a.m. ET.
- Oct 19OVHcloud deletes every replaced file at 10:21 a.m. ET.
- Oct 19Klaba tells customers on X to update the tool again or delete it, at 12:52 p.m. ET.
- Oct 19OVHcloud publishes
v0.16.0as an immutable release at 1:16 p.m. ET.
Sources
- OpenSourceMalwarePrimary source opensourcemalware.com
- Octave Klaba on XPrimary source x.com
- The StackReporting thestack.technology