mal-2026-17789

osv_rubygems
Description

--- _-= Per source details. Do not edit below this line.=-_ ## 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. ## Source: ossf-package-analysis (c08d2f81c67c979fda86b30b0b5b2beae51023a7cd219c12df286a6c6d9cf6cc) The OpenSSF Package Analysis project identified 'hd-wallet-generator' @ 0.9.1 (rubygems) as malicious. It is considered malicious because: - The package executes one or more commands associated with malicious behavior.

Timeline
Published
unknown
Last Modified
unknown
CVSS Details

CVSS details not available.

Affected Products

No product information available.

Weaknesses (CWE)
References
Linked Vulnerabilities

No linked vulnerabilities found.

{
  "affected": [
    {
      "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/hd_wallet_generator/extconf.rb",
              "sha256": "10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763",
              "tlsh": "9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe"
            }
          ]
        },
        "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/rubygems/hd-wallet-generator/MAL-2026-17789.json"
      },
      "package": {
        "ecosystem": "RubyGems",
        "name": "hd-wallet-generator",
        "purl": "pkg:gem/hd-wallet-generator"
      },
      "versions": [
        "0.9.1"
      ]
    }
  ],
  "credits": [
    {
      "contact": [
        "inspector-research@amazon.com"
      ],
      "name": "Amazon Inspector",
      "type": "FINDER"
    },
    {
      "contact": [
        "https://github.com/ossf/package-analysis",
        "https://openssf.slack.com/channels/package_analysis"
      ],
      "name": "OpenSSF: Package Analysis",
      "type": "FINDER"
    }
  ],
  "database_specific": {
    "malicious-packages-origins": [
      {
        "id": "IN-MAL-2026-021349",
        "import_time": "2026-10-11T14:17:58.222601564Z",
        "modified_time": "2026-10-11T13:45:45Z",
        "sha256": "5d6925082b6aa5db29d0569324b4485976add2368c78635d4be5c52270ee3771",
        "source": "amazon-inspector",
        "versions": [
          "0.9.1"
        ]
      },
      {
        "import_time": "2026-10-13T23:14:39.574891917Z",
        "modified_time": "2026-10-11T07:25:28Z",
        "sha256": "c08d2f81c67c979fda86b30b0b5b2beae51023a7cd219c12df286a6c6d9cf6cc",
        "source": "ossf-package-analysis",
        "versions": [
          "0.9.1"
        ]
      }
    ]
  },
  "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (5d6925082b6aa5db29d0569324b4485976add2368c78635d4be5c52270ee3771)\nThe 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.\n\n## Source: ossf-package-analysis (c08d2f81c67c979fda86b30b0b5b2beae51023a7cd219c12df286a6c6d9cf6cc)\nThe OpenSSF Package Analysis project identified 'hd-wallet-generator' @ 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",
  "id": "MAL-2026-17789",
  "modified": "2026-10-13T23:30:06.057913216Z",
  "published": "2026-10-11T07:25:28Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://rubygems.org/gems/hd-wallet-generator/versions/0.9.1"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "Malicious code in hd-wallet-generator (RubyGems)"
}
View JSON API Download JSON