MAL-2026-15609

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/mn2adskhweox/MAL-2026-15609.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-15609
Published
2026-08-26T14:55:09Z
Modified
2026-08-31T18:31:24.959698184Z
Summary
Malicious code in mn2adskhweox (npm)
Details

Published as part of a ClickFix-style fake-CAPTCHA phishing campaign documented by OX Security (see reference). The package's only file is index.html, declared as the npm "main" entry; package.json defines no preinstall/install/postinstall/prepare lifecycle script, so the payload does not execute at npm install time. index.html renders a fake Cloudflare Turnstile verification widget. An obfuscator.io-obfuscated inline script POSTs a hardcoded per-package "hostKey" to https://api.keyval.org/get, receives a base64-encoded IV:ciphertext pair, decrypts it client-side via the Web Crypto API (AES-CTR) using an embedded key to obtain a redirect URL, appends the visitor's original query-string parameters, and navigates the browser there via window.location.replace(). This "dead drop" design lets the operator change the phishing destination for every package sharing a hostKey without republishing to npm; OX Security observed keyval.org-served destinations including a typosquatted Microsoft login page and, at time of writing, a ChatGPT redirect. The package therefore does not attack the installing machine directly; it is used as a static file host on the npm CDN (e.g. unpkg/jsDelivr) so the index.html can be linked to and opened directly in a victim's browser as a phishing/ClickFix landing page. Published by npm user "johnvaldez9a" as part of a burst of near-identical single-purpose packages published between 2026-08-04 and 2026-08-24 that share this same fake-Turnstile-redirect page structure.


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

Source: amazon-inspector (32c68fcb2799679abb673f84256009f845bec53cbe23dc411ceff244a589c525)

The package was found to contain malicious code or consuming dependency that contains malicious code

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "IN-MAL-2026-019263",
            "modified_time": "2026-08-31T17:56:30Z",
            "import_time": "2026-08-31T18:22:27.27888156Z",
            "source": "amazon-inspector",
            "sha256": "32c68fcb2799679abb673f84256009f845bec53cbe23dc411ceff244a589c525",
            "versions": [
                "1.0.0"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / mn2adskhweox

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

1.*
1.0.0

Database specific

cwes
[
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506"
    }
]
indicators
{
    "package_integrity": [
        {
            "filename": "mn2adskhweox-1.0.0.tgz",
            "hashes": {
                "sha512_sri": "sha512-agEunoHV5/5adVTlp4zl7+Zfuh5ir77fddgaeEJ5OMRd2Ci8Tos8nhzA/WD47Rf4/XQrV8c7zAVsJKWPlt1v4g==",
                "sha1": "a983daf5242ebba820dc26499d741ab03608454e"
            }
        }
    ],
    "evidence_files": [
        {
            "path": "index.html",
            "tlsh": "8403864023c23481150b9b767b1b73c6e52d696a754a888bf16c3c54ffa6e0cebe9930",
            "sha256": "a67a5e73a767f32d7233a43f47149e60f540f6d65b3a34d7f14cd2f6ebd08a04"
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/mn2adskhweox/MAL-2026-15609.json"
iocs
{
    "files": [
        {
            "digests": {
                "sha256": "a67a5e73a767f32d7233a43f47149e60f540f6d65b3a34d7f14cd2f6ebd08a04"
            },
            "source": "PACKAGE_ARCHIVE",
            "note": "Fake Cloudflare Turnstile page bundled as the package's main entry (from v1.0.0, the latest published version)",
            "paths": [
                "index.html"
            ]
        }
    ],
    "domains": [
        "api.keyval.org"
    ]
}