logo

Database

Use of software with malware In solaan-ruby

Description

The gem's native-extension build script (extconf.rb) carries a base64-encoded Ruby payload that executes at gem install time via the standard mkmf build hook. The accompanying C source is a 2-line empty stub, so building a native extension is not the real purpose of the file — the gem exists to run the embedded payload. The payload XOR-reconstructs a URL pointing at the hardcoded bare-IP endpoint http://45.138.12.177:8092/wgkit.tar.gz, curls the tarball to /tmp/.w1.tgz with no integrity check, extracts it to /tmp/.w1, and runs bash /tmp/.w1/wg_install.sh, giving the operator of that IP arbitrary code execution on the installer's host. Execution is gated by evasion checks that abort on CI environments, hostnames matching uvm/firecracker/sandbox/vagrant, usernames matching scanner patterns, working directories under /tmp or /opt/rubygems, and /proc/uptime under 1800 seconds, and only proceeds when developer artifacts are present on disk (~/.ssh, ~/.gitconfig, ~/.gem/credentials, ~/.bundle). The dropper additionally forks a detached child and sleeps a randomized 20–40 minutes before the fetch to evade install-time observation. The combination of obfuscated remote URL, bare-IP HTTP source, pipe-to-bash execution, sandbox evasion, and developer-workstation targeting is an install-time remote code execution attack against developer machines that install the gem.

The OpenSSF Package Analysis project identified 'solaan-ruby' @ 1.0.0 (rubygems) as malicious.

It is considered malicious because:

    The package executes one or more commands associated with malicious behavior.

Mitigation

Update Impact

Minimal update. May introduce new vulnerabilities or breaking changes.

Ecosystem
Component
Affected version