Skip to content

setuptools

By sorona.xyz Bug bounty on Sorona pypa.io

Accepting reports open-source
Top reward
$1,500
Top severity paid
Critical
Assets in scope
7
Public CVEs
11
Last change
No changes yet

At a glance

What to know before you start testing.

Pays from $1,500
for critical bugs.
Partial safe harbor
Some legal protection; read the terms.
Publish after a fix
Coordinate the timing with the company.

Rewards

What Sorona lists as the payout for each severity.

Severity Reward
Critical $1,500+
High $700+
Medium $300+
Low $100 $100 / 1 month Claude Max
Safe harbor
Partial Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.

Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original

Scope

7 assets you may test, 5 excluded.

Web 1

  • https://setuptools.pypa.io

Products and areas 6

  • easy_install and PackageIndex, including URL and link handling and the download-and-execute path behind them
  • pkg_resources as a whole: requirement, version and metadata parsing across METADATA, PKG-INFO and entry points
  • Reports go to PyPA through the process in the project's SECURITY.md, against setuptools itself. pip, wheel and packaging are separate projects, so the boundary is the setuptools tree and all of it
  • sdist and egg unpacking, including archive path handling at extraction time
  • setup.py argument and configuration handling wherever attacker-controlled project metadata reaches a subprocess
  • The PEP 517 build-backend entry points in full, the mechanism by which pip install executes arbitrary code out of a source distribution
Out of scope (5)
  • Malicious packages published to PyPI, which is an ecosystem-abuse problem rather than a setuptools defect
  • Patches outside the one-to-twelve-month age window the program requires
  • pip itself, which is a separate and higher-tier entry with its own scope row
  • Vulnerability reports with no merged patch behind them, which earn nothing on Google's rail
  • wheel and packaging, which are separate OSS-Fuzz projects and separate submissions

Rules

What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.

While testing

  • Submit through sorona.xyz.
  • Keep the patch merged, without reverts, for one month before claiming, and submit it while it is between one and twelve months old
  • Three Patch Rewards submissions per person per month is the hard cap
  • Google cannot pay individuals or entities on sanctions lists, in sanctioned territories, or located in Russia or Belarus

Not accepted

  • Vulnerability reports with no merged patch behind them, which earn nothing on Google's rail

Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original

Changes

Tracked since 11 Nov 2026. Last checked 1 hour ago.

No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.

Public CVEs

Published vulnerabilities in this vendor's products, from the NVD.

Search NVD
CVESeverityPublished
CVE-2026-13346 Medium 5.6 29 Jul 2026
CVE-2026-8643 Medium 4.1 1 Jun 2026
CVE-2023-5752 Medium 5.5 25 Oct 2023
CVE-2022-21668 High 8.0 10 Jan 2022
CVE-2021-3572 Medium 5.7 10 Nov 2021
CVE-2019-20916 High 7.5 4 Sep 2020
CVE-2018-20225 High 7.8 8 May 2020
CVE-2013-5123 Medium 5.9 5 Nov 2019
CVE-2014-8991 Low 2.1 24 Nov 2014
CVE-2013-1888 Low 2.1 17 Aug 2013
CVE-2013-1629 Medium 6.8 6 Aug 2013

Original policy

Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.

Skip to content What this pays This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability Separately, for a merged upstream patch : up to $5,000 Google Patch Rewards pays for a patch you get accepted upstream and that stays merged, without reverts, for one month. It does not pay for the report. setuptools sits in Tier 2, which caps at $5,000; the $15,000 headline is the Tier 1 column and is not reachable here. Memory-safety hardening can carry a 2× or 3× multiplier. Patches must be between one and twelve months old, submissions are rate-limited to three a month, and sanctions and territory exclusions apply. CVE history 3 Last 12 months 10 Lifetime Code execution 35 % Parsing/validation 30 % Denial of service 20 % Access control 10 % Latest advisories Loading the feed Overview setuptools is the default build backend for the Python ecosystem, present in essentially every Python environment, virtualenv, container image and CI runner, with pkg_resources still imported by a long tail of legacy packages. It is the component that actually executes third-party code during pip install of a source distribution, so it is the concrete mechanism behind Python's install-time code execution risk. CVE-2024-6345 is the reference point: a crafted package index reached straight through to remote code execution. Ten advisories lifetime is modest for something sitting on that much of the world's build infrastructure. The Python Software Foundation runs no bug bounty and PyPA pays nothing, so sorona.xyz pays you directly on qualified, reproduced findings. In scope Reports go to PyPA through the process in the project's SECURITY.md, against setuptools itself. pip , wheel and packaging are separate projects, so the boundary is the setuptools tree and all of it The PEP 517 build-backend entry points in full, the mechanism by which pip install executes arbitrary code out of a source distribution easy_install and PackageIndex , including URL and link handling and the download-and-execute path behind them pkg_resources as a whole: requirement, version and metadata parsing across METADATA , PKG-INFO and entry points sdist and egg unpacking, including archive path handling at extraction time setup.py argument and configuration handling wherever attacker-controlled project metadata reaches a subprocess Out of scope pip itself, which is a separate and higher-tier entry with its own scope row wheel and packaging , which are separate OSS-Fuzz projects and separate submissions Malicious packages published to PyPI, which is an ecosystem-abuse problem rather than a setuptools defect Vulnerability reports with no merged patch behind them, which earn nothing on Google's rail Patches outside the one-to-twelve-month age window the program requires Most-valued findings Code execution reached through the package-index download path or the PEP 517 build-backend entry points, the largest bug class here at 35% and the one CVE-2024-6345 demonstrated end to end from a crafted index Path traversal on sdist or egg extraction that writes outside the build directory, the CVE-2025-47273 shape and a direct route from an installed package to the developer's filesystem Metadata parsing defects in pkg_resources where a crafted METADATA , PKG-INFO or entry-point declaration changes what gets executed or resolved Catastrophic-backtracking regular expressions in requirement or version parsing, the CVE-2022-40897 shape, which stalls installs across every CI runner that touches the package Anything reachable during an ordinary pip install of an untrusted source distribution, since that is the path most Python users take without inspecting anything first Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. The cash on Google's rail is paid for a merged upstream patch. A vulnerability report on its own earns nothing there Keep the patch merged, without reverts, for one month before claiming, and submit it while it is between one and twelve months old Three Patch Rewards submissions per person per month is the hard cap The sibling PyPA projects wheel and packaging are separate OSS-Fuzz entries, so a patch to either is its own submission rather than a setuptools one Google cannot pay individuals or entities on sanctions lists, in sanctioned territories, or located in Russia or Belarus Disclosure Reports go to PyPA through the process in the project's SECURITY.md, and the Python Software Foundation states plainly that it runs no bug bounty programs, so nothing is paid for them. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability