Skip to content
Heist/ feed
Unrated

Malicious code in pilgrimage-portal-client (npm)

Type: advisorySource: OSV1 source record

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (73b9f604c074795de9d79071f9e8a6c131e0a30159f6ea2a0769ded3df6d5a28) On `npm install`, the package's postinstall hook runs `node ping.js`, which reads the installer's hostname via `require('os').hostname()` and POSTs it, along with a timestamp and the package name/version, to the hardcoded bare-IP endpoint http://134.119.222.10:9009/canary over plain HTTP. Errors and timeouts are silently swallowed. The version number (99.0.0) and beacon shape are consistent with a dependency-confusion proof-of-install callback: the destination is a non-first-party bare IP the installer never configured, and the outbound call fires automatically without user consent. Regardless of the 'canary' self-label, host-identifier data leaves the installer's machine to an attacker-controlled endpoint at install time.

Announced Source revision 1
Original source ↗

MAL-2026-13453

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:MAL-2026-13453

pilgrimage-portal-client

Source reference: /affected/0/package/name

Affected versions
99.0.0

Source reference: /affected/0/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "package": {
      "name": "pilgrimage-portal-client",
      "purl": "pkg:npm/pilgrimage-portal-client",
      "ecosystem": "npm"
    },
    "versions": [
      "99.0.0"
    ],
    "database_specific": {
      "cwes": [
        {
          "name": "Embedded Malicious Code",
          "cweId": "CWE-506",
          "description": "The product contains code that appears to be malicious in nature."
        }
      ],
      "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/pilgrimage-portal-client/MAL-2026-13453.json",
      "indicators": {
        "evidence_files": [
          {
            "path": "ping.js",
            "tlsh": "2cf002e552e0f6262df5f2c0f0f5980b4331e021f71b68e0d6c913157a8c6a967b75d0",
            "sha256": "585e5dc0ccdb08b9d887f8159d49a63d2e7467184a35c9e7923627705beaaecf"
          }
        ],
        "package_integrity": [
          {
            "hashes": {
              "sha1": "a13608f4df73c887187256fb4fcb1858cd7bff81",
              "sha512_sri": "sha512-iR3YIZ5nCgbznW0gm8io4WF9DTMjWQgONk3qMDgj6qaFtaV+bdNIi9eRd1p6dEtsZzercsX2GR1eRaaa11cIhA=="
            },
            "filename": "pilgrimage-portal-client-99.0.0.tgz"
          }
        ]
      }
    }
  }
]

Publisher severity

No explicit severity was provided.

Event
#11005 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement