Skip to content

Malicious code in hd-wallet-generator (RubyGems)

Malware Published Oct 11, 2026 to the GitHub Advisory Database • Updated Oct 14, 2026

Package

bundler hd-wallet-generator (RubyGems)

Affected versions

= 0.9.1

Patched versions

None

Description

Source: amazon-inspector (5d6925082b6aa5db29d0569324b4485976add2368c78635d4be5c52270ee3771)

The gem's declared native extension build script ext/hd_wallet_generator/extconf.rb executes a Base64-encoded payload via eval() during gem install. The decoded payload opens a TCP socket to the hardcoded remote host 45.138.12.177:8089 and pipes /bin/sh over it (TCPSocket.new + IO.popen(['/bin/sh'],'r+') + IO.copy_stream), granting a remote operator an interactive shell on the installer's host. Execution is wrapped in a double-forked, detached child with a 20–40 minute sleep to decorrelate the connection from the install event. The payload runs only when a battery of evasion checks pass: no CI environment variables, hostname does not match sandbox/firecracker/vagrant/uvm patterns, username does not match generated/analyst patterns (uA\d+, sandbox, tester, analys, scanner), cwd is not under /tmp or /opt/rubygems, machine uptime exceeds 30 minutes, and developer-signal paths exist on disk (~/.ssh, ~/.gitconfig, ~/.gem/credentials, ~/.bundle, ~/.npmrc). No native source files are shipped; create_makefile is a cover stub so the extension-build pretext never actually builds anything. The package metadata name (hd-wallet-generator) and the README description (bitcoin-rpc-lite) disagree, consistent with a disguised dropper.


Credit: OpenSSF (source)

References

Published to the GitHub Advisory Database Oct 11, 2026
Reviewed Oct 11, 2026
Last updated Oct 14, 2026

EPSS score

Weaknesses

Embedded Malicious Code

The product contains code that appears to be malicious in nature. Learn more on MITRE.

GHSA ID

GHSA-539m-69r6-rw3m

Source code

No known source code
Improvements are not currently accepted on this advisory because this package is malware and has no patched versions. If there is something to change, please open an issue at https://github.com/github/advisory-database/issues.