MAL-2026-10106

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/rallycoding/MAL-2026-10106.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-10106
Aliases
  • GHSA-xh99-h4gh-gcv6
Published
2026-07-09T22:57:12Z
Modified
2026-08-20T16:30:12.580898406Z
Summary
Malicious code in rallycoding (npm)
Details

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

Source: amazon-inspector (789e913282e371428b19e015e619b6a3dd6c8d9938ad0e08a1f37d0248d28e0a)

package.json declares 'rallycoding' as its own dependency, resolved from an unauthenticated plain-HTTP URL http://pack.nppacks.com/npm/rallycoding rather than the npm registry. On npm install, npm fetches and installs that arbitrary tarball with no integrity pinning and no TLS, and executes any lifecycle scripts contained within it. Because the fetch is unpinned, unauthenticated, and off-registry, the operator of pack.nppacks.com — or any on-path attacker — controls exactly what code runs on the installer's machine at install time. The package additionally reuses the well-known 'rallycoding' identity from the JS teaching community and carries a comment stating 'Security Research Testing Purpose', consistent with a name-confusion lure. The harmful bytes are not shipped in this tarball but are fetched from an author-controlled host at install; regardless of what pack.nppacks.com currently serves, the mechanism is install-time execution of unpinned remote code from a non-registry HTTP source.

Source: ghsa-malware (9edb6ebabdb7f0d8389da1399f78179b72732d1c67f8fca5bba5d537beb0091e)

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": [
        {
            "import_time": "2026-07-09T23:30:55.661223209Z",
            "sha256": "789e913282e371428b19e015e619b6a3dd6c8d9938ad0e08a1f37d0248d28e0a",
            "modified_time": "2026-07-09T22:57:12Z",
            "source": "amazon-inspector",
            "id": "IN-MAL-2026-009589",
            "versions": [
                "3.2.0"
            ]
        },
        {
            "import_time": "2026-08-20T16:25:42.710406286Z",
            "sha256": "9edb6ebabdb7f0d8389da1399f78179b72732d1c67f8fca5bba5d537beb0091e",
            "modified_time": "2026-08-20T16:23:53Z",
            "source": "ghsa-malware",
            "id": "GHSA-xh99-h4gh-gcv6",
            "ranges": [
                {
                    "type": "SEMVER",
                    "events": [
                        {
                            "introduced": "0"
                        }
                    ]
                }
            ]
        }
    ]
}
References
Credits

Affected packages

npm / rallycoding

Package

Affected ranges

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

Affected versions

3.*
3.2.0

Database specific

source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/rallycoding/MAL-2026-10106.json"
indicators
{
    "evidence_files": [
        {
            "sha256": "b4a33963b34be4647dc214da61a8df65cdf4337116cbf8c86e7ca28e26a22309",
            "tlsh": "9df02b2cdf71aa1366c836f56d660107e2395f479418fd4836db2a1c1b8c0bf20f825d",
            "path": "package.json"
        },
        {
            "sha256": "f2fcebdb4f0e41365a39ca87a52fcc4e6abd5633fe6272e60d1386d26b90ef41",
            "path": "index.js",
            "tlsh": "71a1935ab5e0159745aa22e5b3ce48b577bd80b3330df5a0b54cbf563f40c348a1aed1"
        }
    ],
    "package_integrity": [
        {
            "filename": "rallycoding-3.2.0.tgz",
            "hashes": {
                "sha1": "322a5a6b0b8903e9d3c08600225655b7ae7a5c3f",
                "sha512_sri": "sha512-CPZGfI+qv1iacUTlC3qbQwDXKqp/cg1EU8CInvPJyetkibRAHaiiadFyJyUSbxdGep3PUIHFn2Lpqqz5IBuouQ=="
            }
        }
    ]
}
cwes
[
    {
        "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."
    }
]