Skip to main content
PyPI

PyPI Dictionary Attack

Degraded Lasted 5d 19h · started · PyPI's page

Level
confirmed
Worst impact
Degraded
Components
pypi.org - General
Down Index
23of 100

What to do

  • Check whether you use PyPI pypi.org - General. Check your stack

    Paste a package.json, lockfile, Terraform or a list of domains at down.guide/stack to see every provider you depend on.
  • Confirm your retries, queues and scheduled jobs caught up after the 5d 19h it lasted.

    Anything that failed between 2022-11-11 22:24 UTC and 2022-11-17 17:47 UTC may need a replay.
  • Subscribe to PyPI's feed to hear about the next one first. RSS feed

    https://down.guide/feed?provider=pypi works in Slack (/feed subscribe), Discord feed bots and any RSS reader.

Updates from PyPI 2

  1. monitoring

    Beginning on Nov 6th, 2022, PyPI began to become inundated with failed authentication attempts due to a dictionary attack (https://en.wikipedia.org/wiki/Dictionary_attack). At its peak, the attack was attempting more than 260K passwords per hour, and at the time of writing has resulted in more than 6 million invalid authentication attempts. The attacker used a large pool of IP addresses to cycle through multiple IPs as each one reached our ratelimit for authentication failures. The attacker specifically used PyPI’s ‘basic’ HTTP authentication methods associated with our upload endpoint. PyPI integrates with the Have I Been Pwned (HIBP) API (https://haveibeenpwned.com/API/v2) to prevent dictionary and credential stuffing attacks. Four times during the period of this attack, PyPI used the HIBP API to determine that a compromised password was being used to log into a user’s account, making it likely that the attacker was using a set of leaked passwords that HIBP includes in its dataset. For comparison, in the two weeks prior to the start of the attack, PyPI identified the usage of 16 compromised passwords via HIBP. As a result, in each of these occurrences, PyPI prevented the authentication attempt from succeeding, forcing the user’s password to be reset, and notifying the user. Due to insufficient metrics at the time, we are unable to determine what proportion of these login attempts with compromised passwords were likely legitimate, and what percentage were from IPs participating in the dictionary attack. At this time, we have determined that no successful logins to legitimate user accounts have been performed from requests originating from IP addresses participating in the dictionary attack. As a result of this attack, PyPI has made a number of changes to improve our ability to respond to such an attack: - Added a new user event type for successful ‘basic’ HTTP authentication logins - Added a new user event type for detection of compromised passwords via HIBP - Added new moderation tools to track the occurrence of abuse attempts grouped by IP address At the time of writing, the attack has temporarily abated, as it has a few times over the past week. The PyPI volunteer team will continue to monitor for changes, as well as for potentially compromised accounts.

    provider

  2. resolved

    This incident has been resolved.

    provider

Reports count in aggregate; nothing about you is shown.

Corrections

None so far.

Something wrong on this page? Report an error or send us a note. Every fix is listed here.

Questions about DWN-e5fd7aa2fc

Is PyPI still down?

No, this incident was resolved 2022-11-17 17:47 UTC. For PyPI's live state, see https://down.guide/pypi.

How long did it last?

5d 19h, from 2022-11-11 22:24 UTC to 2022-11-17 17:47 UTC, by the times PyPI posted.

What was affected?

PyPI named pypi.org - General.

What caused it?

PyPI hasn't published a root cause. If it does, it shows here.

Where does this come from?

PyPI's official status page, https://status.python.org, quoted verbatim. down.guide's own probes, reports and social counts are labeled as ours.