mal-2026-18688

osv_npm
Description

kevinx-baileys is a fork of the Baileys WhatsApp Web library that silently subscribes the installer's own WhatsApp account to WhatsApp Channels chosen by the publisher. When the socket connects, code in lib/Socket/newsletter.js sends the WhatsApp w:mex FOLLOW query for the channel ID(s) 120363408893555851@newsletter, 120363424295522327@newsletter, 120363426470081124@newsletter, 120363427718144294@newsletter (stored base64-encoded), using the victim's authenticated session and without telling them; the README says "Nothing is followed unless you call it." 1.2.1 was published one directory down (kevinx-baileys/lib/Socket/newsletter.js) under a placeholder package.json whose main, index.js, does not exist, so importing it by name fails, but it ships the same follow code; 1.2.2 restores the normal layout with the same lib/Socket/newsletter.js. Same behaviour as the PhantomSub family (MAL-2026-17342).

Timeline
Published
unknown
Last Modified
unknown
CVSS Details

CVSS details not available.

Affected Products

No product information available.

Weaknesses (CWE)
References
Linked Vulnerabilities

No linked vulnerabilities found.

{
  "affected": [
    {
      "database_specific": {
        "cwes": [
          {
            "cweId": "CWE-506",
            "description": "The product contains code that appears to be malicious in nature.",
            "name": "Embedded Malicious Code"
          }
        ],
        "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/kevinx-baileys/MAL-2026-18688.json"
      },
      "package": {
        "ecosystem": "npm",
        "name": "kevinx-baileys",
        "purl": "pkg:npm/kevinx-baileys"
      },
      "versions": [
        "1.2.0",
        "1.2.1",
        "1.2.2"
      ]
    }
  ],
  "credits": [
    {
      "contact": [
        "https://cyberxyz.io"
      ],
      "name": "CyberXYZ",
      "type": "FINDER"
    }
  ],
  "database_specific": {
    "iocs": {
      "domains": [],
      "files": [
        {
          "digests": {
            "sha256": "7db0ac4e599e7acd4b80d5f5092d43488eed474f4f1bce4b315a35e864375d52"
          },
          "paths": [
            "lib/Socket/newsletter.js"
          ]
        },
        {
          "digests": {
            "sha256": "6368e28be94dd2dc19d8920385b593574ca21298b560108f544371022cf10d07"
          },
          "paths": [
            "kevinx-baileys/lib/Socket/newsletter.js",
            "lib/Socket/newsletter.js"
          ]
        }
      ],
      "ips": [],
      "urls": []
    }
  },
  "details": "kevinx-baileys is a fork of the Baileys WhatsApp Web library that silently subscribes the installer's own WhatsApp account to WhatsApp Channels chosen by the publisher. When the socket connects, code in lib/Socket/newsletter.js sends the WhatsApp w:mex FOLLOW query for the channel ID(s) 120363408893555851@newsletter, 120363424295522327@newsletter, 120363426470081124@newsletter, 120363427718144294@newsletter (stored base64-encoded), using the victim's authenticated session and without telling them; the README says \"Nothing is followed unless you call it.\" 1.2.1 was published one directory down (kevinx-baileys/lib/Socket/newsletter.js) under a placeholder package.json whose main, index.js, does not exist, so importing it by name fails, but it ships the same follow code; 1.2.2 restores the normal layout with the same lib/Socket/newsletter.js. Same behaviour as the PhantomSub family (MAL-2026-17342).",
  "id": "MAL-2026-18688",
  "modified": "2026-11-05T05:15:04.465772471Z",
  "published": "2026-10-26T00:00:00Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://www.npmjs.com/package/kevinx-baileys"
    },
    {
      "type": "WEB",
      "url": "https://www.ox.security/blog/phantomsub-malicious-npm-campaign-secretly-adds-users-to-whatsapp-spam-channels/"
    }
  ],
  "schema_version": "1.9.2",
  "summary": "Malicious code in kevinx-baileys (npm)"
}
View JSON API Download JSON