Skip to content
Fencer Vulns
medium 5.9

CVE-2021-33880 json

Observable Timing Discrepancy in aaugustin websockets library

published 2021-06-06 5 y ago modified 2026-06-17 4 mo ago also GHSA-8ch4-58qp-g3mp , PYSEC-2021-95 , EUVD-2021-0467

cvss
5.9
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
2.3%
EPSS 2.3% chance of exploitation in 30 days, percentile 83%
public exploits
0
none known

Summary

The aaugustin websockets library before 9.1 for Python has an Observable Timing Discrepancy on servers when HTTP Basic Authentication is enabled with basic_auth_protocol_factory(credentials=...). An attacker may be able to guess a password via a timing attack.

Patch / fix

  • pypi websockets 9.1
  • websockets_project websockets 9.1
  • python-websockets Debian 14, Debian 13, Debian 12 9.1-1

debian advisories DEBIAN-CVE-2021-33880

  • python-websockets Arch Linux 9.1-1

arch linux advisories AVG-2040

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2021-33880 updated cvss 5.9

python-websockets: password guessable via timing attack

  • Red Hat All currently supported Red Hat products
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

2.27% chance of exploitation in the next 30 days, higher than 83% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
NVD 3.1 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
NVD 2.0 2.6 AV:N/AC:H/Au:N/C:P/I:N/A:N
GitHub 3.1 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

Affected packages

ecosystem package affected fixed in
pypi websockets
<9.1
9.1

Classification

Weakness
  • CWE-203 Observable Discrepancy
  • CWE-208 Observable Timing Discrepancy

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.