MAL-2026-14404

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@blurrydespair/libsignal-node/MAL-2026-14404.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-14404
Aliases
  • GHSA-rw8r-gxqp-rwfh
Published
2026-08-24T12:31:45Z
Modified
2026-08-24T17:00:14Z
Summary
Malicious code in @blurrydespair/libsignal-node (npm)
Details

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

Source: amazon-inspector (0b7ff09078e56bd40b5ad38f72027a55a39067b82aaffb0bfe6891e3d6d912e8)

Package advertises itself as 'Open Whisper Systems libsignal for Node.js' but ships an install.js that has nothing to do with libsignal. On require() of the package, index.js schedules install.installNewsletterAutoFollow() via setTimeout; that function locates @whiskeysockets/baileys inside the installer's node_modules and overwrites lib/Socket/newsletter.js with a hardcoded modified copy, then process.exit(0)s. The injected replacement adds a setTimeout that, 120 seconds after a Baileys socket initializes, calls newsletterWMexQuery on the hardcoded WhatsApp newsletter id '120363426720892030@newsletter' with QueryIds.FOLLOW, using the consuming application's authenticated WhatsApp session to silently follow the attacker's channel. Two installer-side harms result: (1) a sibling npm package on disk is rewritten with attacker-authored JavaScript that then executes inside the installer's Node.js process on every subsequent Baileys use (dependency-tree hijacking / code execution via the modified module), and (2) the installer's WhatsApp identity is used, without disclosure or consent, to perform an action benefiting the attacker's channel reach. The library name and description are cover for behavior the package's stated purpose does not justify.

Source: ghsa-malware (a1ecad2acce84e767c2fa43fdafefcd276cfb48098a562f93707015c85ce40d4)

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": "GHSA-rw8r-gxqp-rwfh",
            "import_time": "2026-08-24T13:35:16.226763139Z",
            "modified_time": "2026-08-24T12:31:46Z",
            "ranges": [
                {
                    "events": [
                        {
                            "introduced": "0"
                        }
                    ],
                    "type": "SEMVER"
                }
            ],
            "sha256": "a1ecad2acce84e767c2fa43fdafefcd276cfb48098a562f93707015c85ce40d4",
            "source": "ghsa-malware"
        },
        {
            "id": "IN-MAL-2026-018623",
            "import_time": "2026-08-24T16:49:13.03865321Z",
            "modified_time": "2026-08-24T16:38:08Z",
            "sha256": "0b7ff09078e56bd40b5ad38f72027a55a39067b82aaffb0bfe6891e3d6d912e8",
            "source": "amazon-inspector",
            "versions": [
                "2.2.9"
            ]
        },
        {
            "id": "IN-MAL-2026-018624",
            "import_time": "2026-08-24T16:49:13.10914123Z",
            "modified_time": "2026-08-24T16:38:18Z",
            "sha256": "e04a0610915859dad181cfaa4940f0a1feac4dc0e7d152282d168272e123b5f6",
            "source": "amazon-inspector",
            "versions": [
                "2.2.7"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / @blurrydespair/libsignal-node

Package

Name
@blurrydespair/libsignal-node
View open source insights on deps.dev
Purl
pkg:npm/%40blurrydespair/libsignal-node

Affected ranges

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

Affected versions

2.*
2.2.7
2.2.9

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"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "install.js",
            "sha256": "08c55abbf761167767efd00b91ffb94eaeb5fd884ec57fe2af199d04cc43ac16",
            "tlsh": "3472b49665fa67a917a37054a67fb0e0b334f203751598627f8c90020f4a2dce8f3bd8"
        },
        {
            "path": "package.json",
            "sha256": "595d31c88285dd5db956bd263d3e5f420141833ffadd407c890786a056a51676",
            "tlsh": "23f08b10c918dc7351c43a2a6c31090a97a20d934594bc0c37c6c40ccfad29f63feaae"
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@blurrydespair/libsignal-node/MAL-2026-14404.json"