MAL-2026-14349

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/boto4/MAL-2026-14349.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-14349
Published
2026-08-21T08:19:49Z
Modified
2026-08-21T15:00:17.482757423Z
Summary
Malicious code in boto4 (PyPI)
Details

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

Source: amazon-inspector (d3f621c5e2e8e94d1c8ae2ae176d4d882711536d25199df7a1cdddd410214faa)

setup.py defines a custom setuptools install command (EjecutaElf) that base64-decodes a ~17MB embedded Linux ELF, writes it to /tmp/.systemd-helper, chmods 0755, and spawns it via subprocess.Popen during pip install on Linux. The tarball's importable package is a stub named reques with an empty init.py, and PKG-INFO advertises the project as an HTTP library for humans (unofficial fix) authored by Anonymous, requiring requests — a cover story that lures installers looking for a requests-related fix while the sole functional behavior is native-code execution on the installer's host at install time. Package name boto4 and internal directory reques are lookalikes for boto3/requests.

Source: kam193 (b928f1f0d3af6242391cc626a8601d24f60c70d862bfebe6cfe0777c13a8c0b2)

During installation, package executes an embedded executable. The executable is capable of executing remote commands, establishing persistence, cryptomining, exfiltrating basic data, further network scanning and worm-style propagation. Actions are controlled via a Telegram bot.


Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-08-boto4

Reasons (based on the campaign):

  • cryptominer

  • worm

  • network-scan

  • The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.

  • uses-telegram-bot

  • persistence

  • The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "pypi/2026-08-boto4/boto4",
            "modified_time": "2026-08-21T08:19:49.132984Z",
            "versions": [
                "1.0.0",
                "1.0.2"
            ],
            "source": "kam193",
            "import_time": "2026-08-21T08:49:03.94191658Z",
            "sha256": "b928f1f0d3af6242391cc626a8601d24f60c70d862bfebe6cfe0777c13a8c0b2"
        },
        {
            "modified_time": "2026-08-21T14:24:42Z",
            "sha256": "321d077c86a0b0896e336bc4e3291381c38fd0d4bccbfbe8102ec3264c6c560a",
            "versions": [
                "1.0.0"
            ],
            "source": "amazon-inspector",
            "id": "IN-MAL-2026-018503",
            "import_time": "2026-08-21T14:47:43.231496994Z"
        },
        {
            "sha256": "d3f621c5e2e8e94d1c8ae2ae176d4d882711536d25199df7a1cdddd410214faa",
            "source": "amazon-inspector",
            "versions": [
                "1.0.2"
            ],
            "modified_time": "2026-08-21T14:24:59Z",
            "id": "IN-MAL-2026-018505",
            "import_time": "2026-08-21T14:47:43.527649233Z"
        }
    ]
}
References
Credits

Affected packages

PyPI / boto4

Package

Affected ranges

Affected versions

1.*
1.0.0
1.0.2

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"
    }
]
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/boto4/MAL-2026-14349.json"
indicators
{
    "evidence_files": [
        {
            "path": "setup.py",
            "sha256": "92fbc7e725673fe4c8423fddcd8173fd02d2753ca08c00b7365f100fa21eecc5",
            "tlsh": "ac3733309e667dba07bcc725703f6e1c0fb01f93888df5eb529064d716aab90495b82d"
        },
        {
            "path": "reques/__init__.py",
            "sha256": "072590736ca7eac1013e80081a8c698187549723064b53755c0639ac5fcc15bd"
        }
    ],
    "package_integrity": [
        {
            "hashes": {
                "blake2b_256": "7949164dd2e533c8497c4b5975f3692f65f057393b99e0e3bb343ad450050cb7",
                "sha256": "8747b1e051e2b49fa6f7f223244e3e13afe6b7db59f82eb72706bb9ff83917c4",
                "md5": "b6d003ac7505c3eb12307a0389be948a"
            },
            "filename": "boto4-1.0.0-py3-none-any.whl"
        },
        {
            "hashes": {
                "blake2b_256": "8bfb5e3ab10a501d91546d6e92327ad328baea402235fe6227d99018e98e9eaa",
                "sha256": "b0a351d43ea3c85579fb81c464ccbb3a14382db58deb7e567281cc85a0039be7",
                "md5": "cded3ffea3cc4b24733f8de3676c066c"
            },
            "filename": "boto4-1.0.0.tar.gz"
        }
    ]
}