mal-2024-5101
Vulnerability from ossf_malicious_packages
Published
2024-06-25 13:35
Modified
2025-12-24 10:09
Summary
Malicious code in easyhttprequest (PyPI)
Details

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

Source: kam193 (2b8f76adb9701e490a7cb89a6457afd1ce1cbe67712cdca356da7f35791ba993)

Clone of the requests package. During installation, it downloads a git repository and attempts to execute a script from its commit message


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

Campaign: 2023-12-09-easyhttprequest

Reasons (based on the campaign):

  • The package overrides the install command in setup.py to execute malicious code during installation.

  • Downloads and executes a remote malicious script.

  • clones-real-package




{
  "affected": [
    {
      "package": {
        "ecosystem": "PyPI",
        "name": "easyhttprequest",
        "purl": "pkg:pypi/easyhttprequest"
      },
      "versions": [
        "2.31.5",
        "2.31.4"
      ]
    }
  ],
  "aliases": [
    "SNYK-PYTHON-EASYHTTPREQUEST-6139264"
  ],
  "credits": [
    {
      "contact": [
        "https://github.com/kam193",
        "https://bad-packages.kam193.eu/"
      ],
      "name": "Kamil Ma\u0144kowski (kam193)"
    },
    {
      "contact": [
        "https://github.com/kam193",
        "https://bad-packages.kam193.eu/"
      ],
      "name": "Kamil Ma\u0144kowski (kam193)",
      "type": "REPORTER"
    },
    {
      "contact": [
        "https://www.reversinglabs.com"
      ],
      "name": "ReversingLabs",
      "type": "FINDER"
    }
  ],
  "database_specific": {
    "iocs": {
      "urls": [
        "https://github.com/isaaknikolaev/PySocks",
        "https://github.com/isaaknikolaev/PySocks.git"
      ]
    },
    "malicious-packages-origins": [
      {
        "id": "RLMA-2024-03881",
        "import_time": "2024-06-28T02:48:54.023055223Z",
        "modified_time": "2024-06-25T13:35:06Z",
        "sha256": "388de2c20294368ff9d6bb19c7186f425e1aa8aa2626055f1c79601cc5127e2f",
        "source": "reversing-labs",
        "versions": [
          "2.31.5",
          "2.31.4"
        ]
      },
      {
        "id": "RLUA-2024-08178",
        "import_time": "2024-10-24T00:59:09.652100838Z",
        "modified_time": "2024-10-16T14:40:08Z",
        "sha256": "e403455ee47272b28fe57bd3d7b76fee0300e9f68f412f99f6731844760a06ea",
        "source": "reversing-labs"
      },
      {
        "id": "pypi/2023-12-09-easyhttprequest/easyhttprequest",
        "import_time": "2025-12-02T22:30:55.117723594Z",
        "modified_time": "2024-11-29T22:03:31Z",
        "ranges": [
          {
            "events": [
              {
                "introduced": "0"
              }
            ],
            "type": "ECOSYSTEM"
          }
        ],
        "sha256": "e429c7eb8d552d814158f47a9601620b9245ec31a710c2af8b005aac9f8ebae3",
        "source": "kam193"
      },
      {
        "id": "pypi/2023-12-09-easyhttprequest/easyhttprequest",
        "import_time": "2025-12-02T23:07:18.129525589Z",
        "modified_time": "2024-11-29T22:03:31Z",
        "ranges": [
          {
            "events": [
              {
                "introduced": "0"
              }
            ],
            "type": "ECOSYSTEM"
          }
        ],
        "sha256": "2b8f76adb9701e490a7cb89a6457afd1ce1cbe67712cdca356da7f35791ba993",
        "source": "kam193"
      },
      {
        "id": "pypi/2023-12-09-easyhttprequest/easyhttprequest",
        "import_time": "2025-12-10T21:38:57.414690296Z",
        "modified_time": "2024-11-29T22:03:31Z",
        "sha256": "461c3dce37946adf37a513d11fb88d32996b9ea049cd61402ef5ab59601221a8",
        "source": "kam193",
        "versions": [
          "2.31.4",
          "2.31.5"
        ]
      },
      {
        "id": "RLUA-2025-06562",
        "import_time": "2025-12-24T10:07:36.499314675Z",
        "modified_time": "2025-12-23T08:38:23Z",
        "sha256": "6ac2b994befd596d6f2d6f4a6e752cdb739900f210f4ca1e1c9efe6e1ea07c2e",
        "source": "reversing-labs"
      }
    ]
  },
  "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (2b8f76adb9701e490a7cb89a6457afd1ce1cbe67712cdca356da7f35791ba993)\nClone of the requests package. During installation, it downloads a git repository and attempts to execute a script from its commit message\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2023-12-09-easyhttprequest\n\n\nReasons (based on the campaign):\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n\n\n - Downloads and executes a remote malicious script.\n\n\n - clones-real-package\n",
  "id": "MAL-2024-5101",
  "modified": "2025-12-24T10:09:32Z",
  "published": "2024-06-25T13:35:06Z",
  "references": [
    {
      "type": "ARTICLE",
      "url": "https://medium.com/checkmarx-security/python-packages-leverage-github-to-deploy-fileless-malware-b6c281dea58f"
    },
    {
      "type": "ADVISORY",
      "url": "https://security.snyk.io/vuln/SNYK-PYTHON-EASYHTTPREQUEST-6139264"
    },
    {
      "type": "WEB",
      "url": "https://bad-packages.kam193.eu/pypi/package/easyhttprequest"
    },
    {
      "type": "ARTICLE",
      "url": "https://www.reversinglabs.com/blog/malware-leveraging-public-infrastructure-like-github-on-the-rise"
    }
  ],
  "schema_version": "1.7.4",
  "summary": "Malicious code in easyhttprequest (PyPI)"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…