mal-2026-17794

osv_rubygems
Description

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (fb8d12a066c24d672bf16efe57267c46c727592ee21beb0e2accb3bb6e4bfb3a) The gem declares a native extension but ships no C/C++/Rust source. extconf.rb exists solely to execute at `gem install` time. It decodes a base64-encoded Ruby payload and runs it via eval inside a detached fork (Process.setsid, randomized sleep of 1200+rand(1200) seconds) so execution survives the install process. The decoded payload opens a TCP socket to the hardcoded bare IP 45.138.12.177:8089 and bridges it to /bin/sh, giving an interactive remote shell on the installer's host. Execution is gated by anti-analysis checks that skip CI runners, ephemeral/sandbox hosts, generated usernames, analysis paths, and low-uptime machines, firing only when developer artifacts such as ~/.ssh, ~/.gitconfig, ~/.npmrc, ~/.gem/credentials, or ~/.bundle are present on the host. Package identity is inconsistent: the gem is named seed-phrase-validator, the README is titled bitcoin-rpc-lite, and the makefile target is bitcoin_rpc_lite_native, with no matching native sources in the tree. ## Source: ossf-package-analysis (260c8de6b9fe5e7e977be76b41bc4f7378162aec30f7ef564a9c1760c1b64344) The OpenSSF Package Analysis project identified 'seed-phrase-validator' @ 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/seed_phrase_validator/extconf.rb",
              "sha256": "10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763",
              "tlsh": "9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe"
            },
            {
              "path": "metadata.yaml",
              "sha256": "040908c7f679de85ab5da8186de07b6157de3a34945d871298d9c867a7eac559",
              "tlsh": "4121d3c0e78be836fc04e2f668802247e3e7d20ebd552921d9d783c623c5ab91b07165"
            }
          ]
        },
        "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/rubygems/seed-phrase-validator/MAL-2026-17794.json"
      },
      "package": {
        "ecosystem": "RubyGems",
        "name": "seed-phrase-validator",
        "purl": "pkg:gem/seed-phrase-validator"
      },
      "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-021356",
        "import_time": "2026-10-11T14:17:58.83042015Z",
        "modified_time": "2026-10-11T13:46:51Z",
        "sha256": "fb8d12a066c24d672bf16efe57267c46c727592ee21beb0e2accb3bb6e4bfb3a",
        "source": "amazon-inspector",
        "versions": [
          "0.9.1"
        ]
      },
      {
        "import_time": "2026-10-13T23:14:38.523027353Z",
        "modified_time": "2026-10-11T07:35:30Z",
        "sha256": "260c8de6b9fe5e7e977be76b41bc4f7378162aec30f7ef564a9c1760c1b64344",
        "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 (fb8d12a066c24d672bf16efe57267c46c727592ee21beb0e2accb3bb6e4bfb3a)\nThe gem declares a native extension but ships no C/C++/Rust source. extconf.rb exists solely to execute at `gem install` time. It decodes a base64-encoded Ruby payload and runs it via eval inside a detached fork (Process.setsid, randomized sleep of 1200+rand(1200) seconds) so execution survives the install process. The decoded payload opens a TCP socket to the hardcoded bare IP 45.138.12.177:8089 and bridges it to /bin/sh, giving an interactive remote shell on the installer's host. Execution is gated by anti-analysis checks that skip CI runners, ephemeral/sandbox hosts, generated usernames, analysis paths, and low-uptime machines, firing only when developer artifacts such as ~/.ssh, ~/.gitconfig, ~/.npmrc, ~/.gem/credentials, or ~/.bundle are present on the host. Package identity is inconsistent: the gem is named seed-phrase-validator, the README is titled bitcoin-rpc-lite, and the makefile target is bitcoin_rpc_lite_native, with no matching native sources in the tree.\n\n## Source: ossf-package-analysis (260c8de6b9fe5e7e977be76b41bc4f7378162aec30f7ef564a9c1760c1b64344)\nThe OpenSSF Package Analysis project identified 'seed-phrase-validator' @ 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-17794",
  "modified": "2026-10-13T23:30:06.213000445Z",
  "published": "2026-10-11T07:35:30Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://rubygems.org/gems/seed-phrase-validator/versions/0.9.1"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "Malicious code in seed-phrase-validator (RubyGems)"
}
View JSON API Download JSON