{"id":"MAL-2026-17795","summary":"Malicious code in sol-mint-utils (RubyGems)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (2940bc600ade9f91afdc44ccc04cdab589d276b0504b3f12ffb4a4e827920bd9)\nThe gem ships a native-extension stub (extconf.rb) that `gem install` executes automatically, but no C/C++ sources accompany it and lib/sol_mint_utils.rb is an inert stub (defines VERSION and returns 'ok'). The README advertises an unrelated package name (`bitcoin-rpc-lite`), confirming the gem's declared purpose is a cover. extconf.rb base64-decodes a Ruby payload and eval's it inside a forked/detached process; the decoded payload opens a TCPSocket to the hardcoded host 45.138.12.177 on port 8089 and bridges a /bin/sh session over the socket via IO.popen and IO.copy_stream, granting the operator an interactive reverse shell on the installer's machine. Execution is gated by anti-analysis checks: CI environment variables, hostname patterns (uvm/firecracker/sandbox/vagrant), generated usernames, analysis working directories (/opt/rubygems, /tmp, /workspace), and short /proc/uptime values all suppress the payload, which fires only when developer artifacts such as ~/.ssh, ~/.gitconfig, and ~/.gem/credentials are present on the host.\n","modified":"2026-10-11T14:30:09.713688004Z","published":"2026-10-11T13:49:30Z","database_specific":{"malicious-packages-origins":[{"source":"amazon-inspector","versions":["0.9.1"],"id":"IN-MAL-2026-021373","import_time":"2026-10-11T14:18:00.247314154Z","modified_time":"2026-10-11T13:49:30Z","sha256":"2940bc600ade9f91afdc44ccc04cdab589d276b0504b3f12ffb4a4e827920bd9"}]},"references":[{"type":"PACKAGE","url":"https://rubygems.org/gems/sol-mint-utils/versions/0.9.1"}],"affected":[{"package":{"name":"sol-mint-utils","ecosystem":"RubyGems","purl":"pkg:gem/sol-mint-utils"},"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":[{"tlsh":"9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe","path":"ext/sol_mint_utils/extconf.rb","sha256":"10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763"},{"path":"README.md","sha256":"c11ea90465c14afe868c0d0028b54d69fbad390a73ddb7779e88becd2957d8f3","tlsh":"b2c02b409c10f00783b09561bbc0019ba800c0cc9000c30b4874063cc0988518e65419"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/rubygems/sol-mint-utils/MAL-2026-17795.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}