MAL-2026-12617

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/claims-format-masked-phone-number/MAL-2026-12617.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12617
Published
2026-08-05T14:04:14Z
Modified
2026-08-05T14:35:51.304686664Z
Summary
Malicious code in claims-format-masked-phone-number (npm)
Details

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

Source: amazon-inspector (fa7c82af39243a3c62938129f431e38e106ddc3209511d8d8389995bc36590a6)

The package advertises phone-number masking but on every require() loads polyfill.js, which selects an OS/arch-specific asset and fetches an opaque native binary from one of four hardcoded Cloudflare Workers subdomains (oob-worker.cf100-416.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf99-9b3.workers.dev). The hostnames are assembled at runtime via.join() over fragmented string arrays to defeat static scanners. The fetched bytes are written to /var/tmp/.cache<rand> or %TEMP%\dotnetdiag<rand>.exe, chmod 0755, and detached via /bin/sh -c "<path> &" or cmd /c start with no hash or signature verification. A fallback channel issues DNS TXT queries against sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru, concatenates the chunked TXT responses, and base64-decodes them into an executable buffer that is dropped and run the same way. Cover-story elements (file names like.analyticsstate and dotnetdiag_*.exe, comments about telemetry opt-out, DISABLETELEMETRY/DONOT_TRACK env checks) do not match the package's stated purpose and no binary distribution is part of a phone-number masking library.

Database specific
{
    "malicious-packages-origins": [
        {
            "sha256": "fa7c82af39243a3c62938129f431e38e106ddc3209511d8d8389995bc36590a6",
            "id": "IN-MAL-2026-015151",
            "modified_time": "2026-08-05T14:04:14Z",
            "import_time": "2026-08-05T14:20:07.390584637Z",
            "source": "amazon-inspector",
            "versions": [
                "35.9.8"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / claims-format-masked-phone-number

Package

Name
claims-format-masked-phone-number
View open source insights on deps.dev
Purl
pkg:npm/claims-format-masked-phone-number

Affected ranges

Affected versions

35.*
35.9.8

Database specific

indicators
{
    "evidence_files": [
        {
            "sha256": "73935bd217409ae2fe233492592e3489a350667d3a65e70ef52d204383d2cb8d",
            "path": "_polyfill.js",
            "tlsh": "87a1859616a670084bb0ebe0c71b4415f65be66336c0d2d8fb5ca9981fb71248372efc"
        }
    ],
    "package_integrity": [
        {
            "hashes": {
                "sha512_sri": "sha512-Tp4mZaZDgg4Xp+6NVJxjuC/b9/tQOQQx4IRpBohfhcoLGHxUEIn5aOXlnUeD8fAkKiLq+ut2Ba+p6hnxla3H2Q==",
                "sha1": "52e3d1cb146188898cc432855da2a89de2eb22b0"
            },
            "filename": "claims-format-masked-phone-number-35.9.8.tgz"
        }
    ]
}
cwes
[
    {
        "name": "Embedded Malicious Code",
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506"
    }
]
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/claims-format-masked-phone-number/MAL-2026-12617.json"