MAL-2026-17808
Vulnerability from ossf_malicious_packages
Published
2026-10-12 05:27
Modified
2026-10-12 05:27
Summary
Malicious code in @s4yhiitestpoc/r2-https-b (npm)
Details

-= Per source details. Do not edit below this line.=-

Source: amazon-inspector (e89449bafb4f816bd8605f45cedf0fec8ec0cff9088007a7a38aaea0a9db91ec)

On npm install, postinstall.js automatically collects installer-side identifying data — hostname, username, home directory, non-internal network interface addresses, DNS servers, current working directory, install directory, and the value of npm_config_registry (which discloses the installer's internal/private npm registry URL) — and POSTs it as JSON over HTTPS to the hardcoded author endpoint collector.oob.s4yhii.com at path /_npm-poc/beacon. In parallel, the script performs a DNS lookup against a unique per-run subdomain under oob.s4yhii.com (dns.lookup of .db03o8lag74hsugsg2j091t8mfcf437h3.oob.s4yhii.com), providing an out-of-band DNS confirmation channel that works even when outbound HTTPS is blocked. The dual-channel beacon, the capture of internal registry configuration, and the fully automated install-time trigger match the fingerprint of a dependency-confusion probe. The package's self-description as a proof-of-concept does not change the behavior: installer-side host and internal-infrastructure data leaves the host to an attacker-controlled destination without opt-in.

CWE
  • CWE-506 - The product contains code that appears to be malicious in nature.

{
  "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": "postinstall.js",
              "sha256": "4e1c182ebf45e34a28a3e7b757eb8442d3b307372dbbc0d2b50898c03fb738d6",
              "tlsh": "1871a56619b4063227e52ee169862094972ac767791cbae0721e13485fce1be40f13ff"
            }
          ],
          "package_integrity": [
            {
              "filename": "r2-https-b-1.0.0.tgz",
              "hashes": {
                "sha1": "8a275bc95b24a3acaa524dcad29bc9007355fc19",
                "sha512_sri": "sha512-4awAT4uqWnfreXIQ2dwlO2rNOz66od0hf1qIosFZYyqaM1NoUZXnIhHnKZQedq5+aXdUJCwjiqiTqrnsbSO6qw=="
              }
            }
          ]
        }
      },
      "package": {
        "ecosystem": "npm",
        "name": "@s4yhiitestpoc/r2-https-b"
      },
      "versions": [
        "1.0.0"
      ]
    }
  ],
  "credits": [
    {
      "contact": [
        "inspector-research@amazon.com"
      ],
      "name": "Amazon Inspector",
      "type": "FINDER"
    }
  ],
  "database_specific": {
    "malicious-packages-origins": [
      {
        "id": "IN-MAL-2026-021460",
        "import_time": "2026-10-12T05:29:25.256040939Z",
        "modified_time": "2026-10-12T05:27:26Z",
        "sha256": "e89449bafb4f816bd8605f45cedf0fec8ec0cff9088007a7a38aaea0a9db91ec",
        "source": "amazon-inspector",
        "versions": [
          "1.0.0"
        ]
      }
    ]
  },
  "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (e89449bafb4f816bd8605f45cedf0fec8ec0cff9088007a7a38aaea0a9db91ec)\nOn npm install, postinstall.js automatically collects installer-side identifying data \u2014 hostname, username, home directory, non-internal network interface addresses, DNS servers, current working directory, install directory, and the value of npm_config_registry (which discloses the installer\u0027s internal/private npm registry URL) \u2014 and POSTs it as JSON over HTTPS to the hardcoded author endpoint collector.oob.s4yhii.com at path /_npm-poc/beacon. In parallel, the script performs a DNS lookup against a unique per-run subdomain under oob.s4yhii.com (dns.lookup of \u003clabel\u003e.db03o8lag74hsugsg2j091t8mfcf437h3.oob.s4yhii.com), providing an out-of-band DNS confirmation channel that works even when outbound HTTPS is blocked. The dual-channel beacon, the capture of internal registry configuration, and the fully automated install-time trigger match the fingerprint of a dependency-confusion probe. The package\u0027s self-description as a proof-of-concept does not change the behavior: installer-side host and internal-infrastructure data leaves the host to an attacker-controlled destination without opt-in.\n",
  "id": "MAL-2026-17808",
  "modified": "2026-10-12T05:27:26Z",
  "published": "2026-10-12T05:27:26Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://www.npmjs.com/package/@s4yhiitestpoc/r2-https-b/v/1.0.0"
    }
  ],
  "schema_version": "1.7.4",
  "summary": "Malicious code in @s4yhiitestpoc/r2-https-b (npm)"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…