MAL-2026-4193
Vulnerability from ossf_malicious_packages
Published
2026-05-20 18:14
Modified
2026-05-26 05:55
Summary
Malicious code in private-next-pages (npm)
Details

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

Source: amazon-inspector (00c6505c70734328f859fa758ad45ba680403a4cfeedd60d2f9e035b026bd45c)

package.json declares a postinstall script that uses Node's child_process to execute reconnaissance commands (including whoami) and beacon results out via HTTPS. The script contacts https://api.ipify.org to resolve the installer's public IP, reads process.env, and sends data to an .oast.fun host — the Project Discovery interact.sh out-of-band testing service used as a generic exfiltration sink. On npm install, this fires automatically and leaks host identity, network egress IP, and environment variables to an attacker-controlled collector. There is no legitimate reason for a Next.js page utility package to perform host fingerprinting or beacon to an OOB interaction service at install time.

Source: ossf-package-analysis (ff710fe6d7fd45d98e33a811da127f892b543f920fe244e16f56e71db66c3ebf)

The OpenSSF Package Analysis project identified 'private-next-pages' @ 9.0.5 (npm) as malicious.

It is considered malicious because:

  • The package communicates with a domain associated with malicious activity.

  • The package executes one or more commands associated with malicious behavior.

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": {
          "domains": [
            "api.ipify.org",
            "lszakfghwnvxspyfcmaabd1css99rnq3w.oast.fun"
          ],
          "evidence_files": [
            {
              "path": "package.json",
              "sha256": "91fd93f8b0aa352c33d393c6b7592dd78ef9d62eca453bcb44cfe8f39fdd0ca3",
              "tlsh": "781165e099c0e6b9e3d147f4b907d506f933eb1a62105cb0b96c16829b441b052abfdc"
            }
          ],
          "package_integrity": [
            {
              "filename": "private-next-pages-9.0.5.tgz",
              "hashes": {
                "sha1": "85d2bd4109543aee679959487cf8de32d7950a73",
                "sha512_sri": "sha512-9J8R+yct4SeOv6S1NQSIW4bg0Ui19s9CuKrcQpc7ZbannbGqobVOtSEFafiXxeviJ2vI/9ZfQ0a2z4e28RTQlw=="
              }
            }
          ]
        }
      },
      "package": {
        "ecosystem": "npm",
        "name": "private-next-pages"
      },
      "versions": [
        "9.0.5"
      ]
    }
  ],
  "credits": [
    {
      "contact": [
        "actran@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": [
      {
        "import_time": "2026-05-20T18:18:23.063948299Z",
        "modified_time": "2026-05-20T18:14:49Z",
        "sha256": "ff710fe6d7fd45d98e33a811da127f892b543f920fe244e16f56e71db66c3ebf",
        "source": "ossf-package-analysis",
        "versions": [
          "9.0.5"
        ]
      },
      {
        "id": "IN-MAL-2026-003650",
        "import_time": "2026-05-26T05:51:02.606227244Z",
        "modified_time": "2026-05-20T23:51:16Z",
        "sha256": "00c6505c70734328f859fa758ad45ba680403a4cfeedd60d2f9e035b026bd45c",
        "source": "amazon-inspector",
        "versions": [
          "9.0.5"
        ]
      },
      {
        "id": "IN-MAL-2026-003651",
        "import_time": "2026-05-26T05:51:02.727832173Z",
        "modified_time": "2026-05-20T23:51:16Z",
        "sha256": "7bb63ecb31a75e0d7668aad050547f7c02319ad7f241a2a1df244a55330337f5",
        "source": "amazon-inspector",
        "versions": [
          "9.0.5"
        ]
      }
    ]
  },
  "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (00c6505c70734328f859fa758ad45ba680403a4cfeedd60d2f9e035b026bd45c)\npackage.json declares a postinstall script that uses Node\u0027s child_process to execute reconnaissance commands (including `whoami`) and beacon results out via HTTPS. The script contacts https://api.ipify.org to resolve the installer\u0027s public IP, reads process.env, and sends data to an `.oast.fun` host \u2014 the Project Discovery `interact.sh` out-of-band testing service used as a generic exfiltration sink. On `npm install`, this fires automatically and leaks host identity, network egress IP, and environment variables to an attacker-controlled collector. There is no legitimate reason for a Next.js page utility package to perform host fingerprinting or beacon to an OOB interaction service at install time.\n\n## Source: ossf-package-analysis (ff710fe6d7fd45d98e33a811da127f892b543f920fe244e16f56e71db66c3ebf)\nThe OpenSSF Package Analysis project identified \u0027private-next-pages\u0027 @ 9.0.5 (npm) as malicious.\n\nIt is considered malicious because:\n\n- The package communicates with a domain associated with malicious activity.\n\n- The package executes one or more commands associated with malicious behavior.\n",
  "id": "MAL-2026-4193",
  "modified": "2026-05-26T05:55:04Z",
  "published": "2026-05-20T18:14:49Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://www.npmjs.com/package/private-next-pages/v/9.0.5"
    }
  ],
  "schema_version": "1.7.4",
  "summary": "Malicious code in private-next-pages (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…

Detection rules are retrieved from Rulezet.

Loading…

Loading…