Use of software with malware In tron-rb
Description
The gem advertises TRON protocol helpers but ships only a 45-byte empty C stub (ext/tron-rb/tron-rb.c) and a hardcoded word-list library module; its sole operative code path is in ext/tron-rb/extconf.rb. On gem install, extconf.rb base64-decodes and eval's a Ruby payload that reconstructs a destination URL by XOR'ing a hex byte array against a 4-byte key, resolving to http://45.138.17.177:8092/wgkit.tar.gz. Before firing, the payload applies sandbox/analysis evasion: it bails out on CI environment variables, ephemeral hostnames matching uvm/firecracker/sandbox/vagrant, generated-looking usernames (uA\d+/sandbox/tester/analys/scanner), analysis working-directory prefixes (/opt/rubygems, /tmp/, /workspace/), machine uptime under 30 minutes, and hosts missing developer artifacts (~/.ssh, ~/.gitconfig, ~/.npmrc, ~/.gem/credentials, ~/.bundle). If the gating passes, it double-forks a detached, I/O-nulled process that sleeps 20-40 minutes, then runs curl against the bare-IP URL to download /tmp/.w1.tgz, extracts it to /tmp/.w1, and executes bash /tmp/.w1/wg_install.sh - all before create_makefile is called. The declared native extension is a cover story: there is no real C source for the stub to build, so the extension exists solely to trigger extconf.rb execution during install. Indicators: 45.138.17.177:8092, /tmp/.w1.tgz, /tmp/.w1/wg_install.sh.
Mitigation
Update Impact
Minimal update. May introduce new vulnerabilities or breaking changes.
Ecosystem | Component | Affected version |
|---|---|---|
rubygems |
Aliases
References