MAL-2026-17802
Malicious code in xrp-ledger-utils (RubyGems)
Published Oct 11, 2026 · updated Oct 13, 2026
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (1d8cf595b60954811e6adfd0c4a241c696d326b42baf1ed2e7b163e720db44c4) The gem's native extension builder ext/extconf.rb decodes a base64-embedded Ruby payload and eval()s it inside a double-forked, detached child after a randomized 20-40 minute sleep. The payload opens a TCP connection to the hardcoded bare-IP C2 at 45.138.12.177:8089, pipes the socket to /bin/sh, and reconnects in a loop, providing an interactive remote shell on the installer's host. Execution is gated by anti-analysis checks that skip CI runners, sandboxed/ephemeral hosts, synthetic usernames, and fresh VMs, and only fires when developer-workstation indicators are present (~/.ssh, ~/.gitconfig, ~/.npmrc, ~/.gem/credentials, ~/.bundle). The shipped library is an inert stub (build_id='ok', healthy?=true), the README is for an unrelated project ('bitcoin-rpc-lite'), and the Makefile target is bitcoin_rpc_lite_native, so the package has no legitimate advertised functionality; the install-time dropper is its sole purpose. ## Source: ossf-package-analysis (0710fa7f9a5c9d736a6305232a414769cc1e5896653a55bb9e3a02f7b7a0c026) The OpenSSF Package Analysis project identified 'xrp-ledger-utils' @ 0.9.1 (rubygems) as malicious. It is considered malicious because: - The package executes one or more commands associated with malicious behavior.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 11, 2026 · OSV.dev
Detected
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (1d8cf595b60954811e6adfd0c4a241c696d326b42baf1ed2e7b163e720db44c4) The gem's native extension builder ext/extconf.rb decodes a base64-embedded Ruby payload and eval()s it inside a double-forked, detached child after a randomized 20-40 minute sleep. The payload opens a TCP connection to the hardcoded bare-IP C2
Oct 13, 2026 · OSV.dev
Updated
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (1d8cf595b60954811e6adfd0c4a241c696d326b42baf1ed2e7b163e720db44c4) The gem's native extension builder ext/extconf.rb decodes a base64-embedded Ruby payload and eval()s it inside a double-forked, detached child after a randomized 20-40 minute sleep. The payload opens a TCP connection to the hardcoded bare-IP C2
Affected
- RubyGems xrp-ledger-utils0.9.1