mal-2026-17796

osv_rubygems
Description

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (405ab5b9651b8e8817ae91290042ec22673c5c99c1b58f45747e47cbb85aeacf) The gem declares a native extension whose build script (extconf.rb) decodes a base64-embedded Ruby payload and executes it via eval during `gem install`. The payload double-forks a detached background process that opens a TCP connection to the hardcoded host 45.138.12.177:8089 and bidirectionally copies between that socket and a locally spawned /bin/sh, giving the operator of that endpoint interactive shell access on the installer's machine. Execution is gated by anti-analysis checks: the payload only fires when the environment does not look like CI, an ephemeral/sandbox VM (patterns matching uvm/firecracker/sandbox/vagrant), a generated analyst user (patterns matching uA\d+/sandbox/tester/analys/scanner), or a known analysis path (/opt/rubygems, /tmp/, /workspace/), and only when system uptime exceeds 1800 seconds and developer-identifying files exist (~/.ssh, ~/.gitconfig, ~/.gem/credentials, ~/.bundle, ~/.npmrc). The gem's advertised identity is a cover story: it is published as `staking-apr-fetcher` with a staking-related summary, but the README is titled `bitcoin-rpc-lite`, the extension's generated makefile is `bitcoin_rpc_lite_native`, no C sources are shipped for that native target, and the Ruby library (lib/staking_apr_fetcher.rb) is an inert stub defining only VERSION/build_id/healthy?. The package has no legitimate functionality; its sole purpose is to deliver the install-time backdoor. ## Source: ossf-package-analysis (77e16e0b65be41b278edbb76b9a9d73b9567d78d302a6b568dc037ced7efce7f) The OpenSSF Package Analysis project identified 'staking-apr-fetcher' @ 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/staking_apr_fetcher/extconf.rb",
              "sha256": "10218e975f54a4f11fe3954e1b584a5f05054003bf5773c3c2b8cceaa74ba763",
              "tlsh": "9751775acf8359e55aa1c0c045798012faa3ab0a50646875f3ee0868ff59b26c0f12fe"
            },
            {
              "path": "metadata.yaml",
              "sha256": "512430b24b502e71911f0b3f86fd3ae17514fceef9c91fb21763382955c0b086",
              "tlsh": "1f11ada0a9c3f437f512e3f698403303f3e3d618fe756904a9ab8592438a56e37570a2"
            }
          ]
        },
        "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/rubygems/staking-apr-fetcher/MAL-2026-17796.json"
      },
      "package": {
        "ecosystem": "RubyGems",
        "name": "staking-apr-fetcher",
        "purl": "pkg:gem/staking-apr-fetcher"
      },
      "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-021368",
        "import_time": "2026-10-11T14:17:59.809936671Z",
        "modified_time": "2026-10-11T13:48:43Z",
        "sha256": "405ab5b9651b8e8817ae91290042ec22673c5c99c1b58f45747e47cbb85aeacf",
        "source": "amazon-inspector",
        "versions": [
          "0.9.1"
        ]
      },
      {
        "import_time": "2026-10-13T23:14:38.21108378Z",
        "modified_time": "2026-10-11T07:35:32Z",
        "sha256": "77e16e0b65be41b278edbb76b9a9d73b9567d78d302a6b568dc037ced7efce7f",
        "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 (405ab5b9651b8e8817ae91290042ec22673c5c99c1b58f45747e47cbb85aeacf)\nThe gem declares a native extension whose build script (extconf.rb) decodes a base64-embedded Ruby payload and executes it via eval during `gem install`. The payload double-forks a detached background process that opens a TCP connection to the hardcoded host 45.138.12.177:8089 and bidirectionally copies between that socket and a locally spawned /bin/sh, giving the operator of that endpoint interactive shell access on the installer's machine. Execution is gated by anti-analysis checks: the payload only fires when the environment does not look like CI, an ephemeral/sandbox VM (patterns matching uvm/firecracker/sandbox/vagrant), a generated analyst user (patterns matching uA\\d+/sandbox/tester/analys/scanner), or a known analysis path (/opt/rubygems, /tmp/, /workspace/), and only when system uptime exceeds 1800 seconds and developer-identifying files exist (~/.ssh, ~/.gitconfig, ~/.gem/credentials, ~/.bundle, ~/.npmrc). The gem's advertised identity is a cover story: it is published as `staking-apr-fetcher` with a staking-related summary, but the README is titled `bitcoin-rpc-lite`, the extension's generated makefile is `bitcoin_rpc_lite_native`, no C sources are shipped for that native target, and the Ruby library (lib/staking_apr_fetcher.rb) is an inert stub defining only VERSION/build_id/healthy?. The package has no legitimate functionality; its sole purpose is to deliver the install-time backdoor.\n\n## Source: ossf-package-analysis (77e16e0b65be41b278edbb76b9a9d73b9567d78d302a6b568dc037ced7efce7f)\nThe OpenSSF Package Analysis project identified 'staking-apr-fetcher' @ 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-17796",
  "modified": "2026-10-13T23:30:06.109130457Z",
  "published": "2026-10-11T07:35:32Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://rubygems.org/gems/staking-apr-fetcher/versions/0.9.1"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "Malicious code in staking-apr-fetcher (RubyGems)"
}
View JSON API Download JSON