MAL-2026-16281

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@sanzoffc/baileys/MAL-2026-16281.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-16281
Aliases
  • GHSA-w5cc-9p38-q2wq
Published
2026-09-18T04:29:33Z
Modified
2026-10-12T16:45:07Z
Summary
Malicious code in @sanzoffc/baileys (npm)
Details

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

Source: amazon-inspector (4393cd98419ed1fce683c0fde038bce830873769d85d69e64674df61f68502bc)

This package is a fork of the Baileys WhatsApp library that adds covert remote-controlled behavior driven by the installer's authenticated WhatsApp session. In lib/Socket/socket.js, socketConnect() (invoked from validateConnection on every WebSocket open) reconstructs a URL from a String.fromCharCode char-code array that resolves to https://raw.githubusercontent.com/skyzopedia/NewsletterID/refs/heads/main/VIP_Push.json, fetches that JSON list, and iterates it to issue WhatsApp GraphQL mutations with query_id 7871414976211147 (newsletter subscribe/follow) for each id in the remote-supplied list. The list is hosted on a mutable personal-GitHub branch controlled by a third party, so whoever edits that file determines which actions the installer's WhatsApp account performs. A second helper (generateMessageV) base64+XOR-decodes (key 23) a hardcoded '@newsletter' JID and pairs it with the same query_id 7871414976211147, then schedules the same subscription action 40 seconds after invocation - layered string obfuscation of a fixed destination JID that has no legitimate purpose in a WhatsApp protocol library. The behavior is not documented, not caller-configurable, and the URL and JID are deliberately obfuscated to evade string scanners. The manifest additionally declares '@whiskeysockets/eslint-config' as an unpinned github: source and pins most other dependencies to '*', widening the resolution trust boundary.

Source: ghsa-malware (5e518551b202e71d22a3dd3916d6b86696c778ef910311e7bb6867c1c0b171f5)

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Database specific
{
    "malicious-packages-origins":  [
        {
            "id":  "IN-MAL-2026-020178",
            "import_time":  "2026-09-18T04:43:03.710609626Z",
            "modified_time":  "2026-09-18T04:29:33Z",
            "sha256":  "4393cd98419ed1fce683c0fde038bce830873769d85d69e64674df61f68502bc",
            "source":  "amazon-inspector",
            "versions":  [
                "3.0.4"
            ]
        },
        {
            "id":  "GHSA-w5cc-9p38-q2wq",
            "import_time":  "2026-10-12T16:30:26.96410214Z",
            "modified_time":  "2026-10-12T15:54:54Z",
            "ranges":  [
                {
                    "events":  [
                        {
                            "introduced":  "0"
                        }
                    ],
                    "type":  "SEMVER"
                }
            ],
            "sha256":  "5e518551b202e71d22a3dd3916d6b86696c778ef910311e7bb6867c1c0b171f5",
            "source":  "ghsa-malware"
        }
    ]
}
References
Credits

Affected packages

npm / @sanzoffc/baileys

Package

Name
@sanzoffc/baileys
View open source insights on deps.dev
Purl
pkg:npm/%40sanzoffc/baileys

Affected ranges

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

Affected versions

3.*
3.0.4

Database specific

cwes
[
    {
        "cweId":  "CWE-506",
        "description":  "The product contains code that appears to be malicious in nature.",
        "name":  "Embedded Malicious Code"
    },
    {
        "cweId":  "CWE-506",
        "description":  "The product contains code that appears to be malicious in nature.",
        "name":  "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files":  [
        {
            "path":  "lib/Socket/socket.js",
            "sha256":  "ea57a6770cf2c246e27a5ffe85ffeb496624f9b1582868d5dff184fd6369a394",
            "tlsh":  "ffd2b41b46f3053aab777476562b6021333580073a48dca57bac8254af8e778e6e77cc"
        },
        {
            "path":  "package.json",
            "sha256":  "c133372660768c7345c90deac3371900a7ee0879d56082fd6f6f40fd7ea605f7",
            "tlsh":  "f541ee21cfae4d3314da2585e9a5900265a809f3be487c2c7394967c4f4e25f27be8ed"
        }
    ],
    "package_integrity":  [
        {
            "filename":  "baileys-3.0.4.tgz",
            "hashes":  {
                "sha1":  "b1b8fe6ee997780989e23290233629da98dca16d",
                "sha512_sri":  "sha512-prWbJsDnAnMsugsWjA9VR0Kx7JQ5y0y87ze+VO1sGwll/kBIsTvkQI7lMiq6/0SWDs5GJAIr77A8BHCg72G5JQ=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@sanzoffc/baileys/MAL-2026-16281.json"