MAL-2026-17784Malicious code in dex-router-abis (RubyGems)
| Ecosystem | Package | Version |
|---|---|---|
| RubyGems | dex-router-abis | 0.9.1 |
{"schema_version":"1.7.4","id":"MAL-2026-17784","published":"2026-10-11T07:15:27Z","modified":"2026-10-13T23:16:33.655157998Z","summary":"Malicious code in dex-router-abis (RubyGems)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (a8f8b62993678b4f720468a05ef91f6fdcc864dd6be78d1ffc6bd14125f18d8f)\nThe gem's extconf.rb (executed automatically during `gem install`) decodes a base64-encoded Ruby payload and executes it via a double-forked, detached process that sleeps 20-40 minutes before opening a TCP reverse shell from /bin/sh to the hardcoded remote host 45.138.12.177:8089. Execution is gated by environment checks that look for CI/sandbox/analysis indicators and probe for developer-secret artifacts (~/.ssh, ~/.gitconfig, ~/.gem/credentials, ~/.npmrc, ~/.bundle) so the payload fires only on real developer workstations with credentials present. The create_makefile stub in extconf.rb is a cover: no matching native source exists in the gem tree, and README/metadata identify the package as 'bitcoin-rpc-lite' (makefile target bitcoin_rpc_lite_native) while the published gem name is dex-router-abis, indicating a reused dropper template. Installing this gem grants the operator at 45.138.12.177:8089 interactive shell access to the installer's host with access to local SSH keys, RubyGems publishing credentials, and other developer secrets.\n\n## Source: ossf-package-analysis (9ff1c050f5a0277e95c568ed9035bfb9eb59ce891534143730d5c13d79d0f11d)\nThe OpenSSF Package Analysis project identified 'dex-router-abis' @ 0.9.1 (rubygems) as malicious.\n\nIt is considered malicious because:\n\n- The package executes one or more commands associated with malicious behavior.\n","affected":[{"package":{"name":"dex-router-abis","ecosystem":"RubyGems"},"versions":["0.9.1"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"ext/dex_router_abis/extconf.rb","sha256":"10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763","tlsh":"9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe"}]}}}],"references":[{"type":"PACKAGE","url":"https://rubygems.org/gems/dex-router-abis/versions/0.9.1"}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-021345","import_time":"2026-10-11T14:17:57.882244732Z","modified_time":"2026-10-11T13:45:11Z","sha256":"a8f8b62993678b4f720468a05ef91f6fdcc864dd6be78d1ffc6bd14125f18d8f","source":"amazon-inspector","versions":["0.9.1"]},{"import_time":"2026-10-13T23:14:40.085581419Z","modified_time":"2026-10-11T07:15:27Z","sha256":"9ff1c050f5a0277e95c568ed9035bfb9eb59ce891534143730d5c13d79d0f11d","source":"ossf-package-analysis","versions":["0.9.1"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"OpenSSF: Package Analysis","contact":["https://github.com/ossf/package-analysis","https://openssf.slack.com/channels/package_analysis"],"type":"FINDER"}]}数据来源:OpenSSF Malicious Packages · Apache-2.0