CVE-2021-32920
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation...
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
- Record
CVE-2021-32920- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 7.8 High
AV:N/AC:L/Au:N/C:N/I:N/A:C - Updated
- 2026-11-02
CVE List No score
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
- Record
CVE-2021-32920- Updated
- 2026-11-02
EUVDEUVD-2021-19642 No score
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
- Record
EUVD-2021-19642- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-7jvv-jg88-r4h8
7.5
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation...
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
- Record
GHSA-7jvv-jg88-r4h8- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSVALPINE-CVE-2021-32920
7.5
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
- Record
ALPINE-CVE-2021-32920- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSV
7.5
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
- Record
CVE-2021-32920- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 5 moreShow less
OSVDEBIAN-CVE-2021-32920
7.5
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
- Record
DEBIAN-CVE-2021-32920- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2021-32920
7.5
Prosody before 0.11.9 allows Uncontrolled CPU Consumption via a flood of SSL/TLS renegotiation requests.
- Record
UBUNTU-CVE-2021-32920- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2021:0728-1 No score
Security update for prosody
This update for prosody fixes the following issues:
prosody was updated to 0.11.9:
Security:
- mod_limits, prosody.cfg.lua: Enable rate limits by default
- certmanager: Disable renegotiation by default
- mod_proxy65: Restrict access to local c2s connections by default
- util.startup: Set more aggressive defaults for GC
- mod_c2s, mod_s2s, mod_component, mod_bosh, mod_websockets: Set default stanza size limits
- mod_authinternal{plain,hashed}: Use constant-time string comparison for secrets
- mod_dialback: Remove dialback-without-dialback feature
- mod_dialback: Use constant-time comparison with hmac
Minor changes:
- util.hashes: Add constant-time string comparison (binding to CRYPTO_memcmp)
- mod_c2s: Don’t throw errors in async code when connections are gone
- mod_c2s: Fix traceback in session close when conn is nil
- core.certmanager: Improve detection of LuaSec/OpenSSL capabilities
- mod_saslauth: Use a defined SASL error
- MUC: Add support for advertising muc#roomconfig_allowinvites in room disco#info
- mod_saslauth: Don’t throw errors in async code when connections are gone
- mod_pep: Advertise base pubsub feature (fixes #1632: mod_pep missing pubsub feature in disco)
- prosodyctl check config: Add ‘gc’ to list of global options
- prosodyctl about: Report libexpat version if known
- util.xmppstream: Add API to dynamically configure the stanza size limit for a stream
- util.set: Add is_set() to test if an object is a set
- mod_http: Skip IP resolution in non-proxied case
- mod_c2s: Log about missing conn on async state changes
- util.xmppstream: Reduce internal default xmppstream limit to 1MB
Relevant: https://prosody.im/security/advisory_20210512
- boo#1186027: Prosody XMPP server advisory 2021-05-12
- CVE-2021-32919
- CVE-2021-32917
- CVE-2021-32917
- CVE-2021-32920
- CVE-2021-32918
Update to 0.11.8:
Security:
- mod_saslauth: Disable ‘tls-unique’ channel binding with TLS 1.3 (#1542)
Fixes and improvements:
- net.websocket.frames: Improve websocket masking performance by using the new util.strbitop
- util.strbitop: Library for efficient bitwise operations on strings
Minor changes:
- MUC: Correctly advertise whether the subject can be changed (#1155)
- MUC: Preserve disco ‘node’ attribute (or lack thereof) in responses (#1595)
- MUC: Fix logic bug causing unnecessary presence to be sent (#1615)
- mod_bosh: Fix error if client tries to connect to component (#425)
- mod_bosh: Pick out the ‘wait’ before checking it instead of earlier
- mod_pep: Advertise base PubSub feature (#1632)
- mod_pubsub: Fix notification stanza type setting (#1605)
- mod_s2s: Prevent keepalives before client has established a stream
- net.adns: Fix bug that sent empty DNS packets (#1619)
- net.http.server: Don’t send Content-Length on 1xx/204 responses (#1596)
- net.websocket.frames: Fix length calculation bug (#1598)
- util.dbuffer: Make length API in line with Lua strings
- util.dbuffer: Optimize substring operations
- util.debug: Fix locals being reported under wrong stack frame in some cases
- util.dependencies: Fix check for Lua bitwise operations library (#1594)
- util.interpolation: Fix combination of filters and fallback values #1623
- util.promise: Preserve tracebacks
- util.stanza: Reject ASCII control characters (#1606)
- timers: Ensure timers can’t block other processing (#1620)
Update to 0.11.7:
Security:
- mod_websocket: Enforce size limits on received frames (fixes #1593)
Fixes and improvements:
- mod_c2s, mod_s2s: Make stanza size limits configurable
- Add configuration options to control Lua garbage collection parameters
- net.http: Backport SNI support for outgoing HTTP requests (#409)
- mod_websocket: Process all data in the buffer on close frame and connection errors (fixes #1474, #1234)
- util.indexedbheap: Fix heap data structure corruption, causing some timers to fail after a reschedule (fixes #1572)
Update to 0.11.6:
Fixes and improvements:
- mod_storage_internal: Fix error in time…
- Record
openSUSE-SU-2021:0728-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:0751-1 No score
Security update for prosody
This update for prosody fixes the following issues:
prosody was updated to 0.11.9:
Security:
- mod_limits, prosody.cfg.lua: Enable rate limits by default
- certmanager: Disable renegotiation by default
- mod_proxy65: Restrict access to local c2s connections by default
- util.startup: Set more aggressive defaults for GC
- mod_c2s, mod_s2s, mod_component, mod_bosh, mod_websockets: Set default stanza size limits
- mod_authinternal{plain,hashed}: Use constant-time string comparison for secrets
- mod_dialback: Remove dialback-without-dialback feature
- mod_dialback: Use constant-time comparison with hmac
Minor changes:
- util.hashes: Add constant-time string comparison (binding to CRYPTO_memcmp)
- mod_c2s: Don’t throw errors in async code when connections are gone
- mod_c2s: Fix traceback in session close when conn is nil
- core.certmanager: Improve detection of LuaSec/OpenSSL capabilities
- mod_saslauth: Use a defined SASL error
- MUC: Add support for advertising muc#roomconfig_allowinvites in room disco#info
- mod_saslauth: Don’t throw errors in async code when connections are gone
- mod_pep: Advertise base pubsub feature (fixes #1632: mod_pep missing pubsub feature in disco)
- prosodyctl check config: Add ‘gc’ to list of global options
- prosodyctl about: Report libexpat version if known
- util.xmppstream: Add API to dynamically configure the stanza size limit for a stream
- util.set: Add is_set() to test if an object is a set
- mod_http: Skip IP resolution in non-proxied case
- mod_c2s: Log about missing conn on async state changes
- util.xmppstream: Reduce internal default xmppstream limit to 1MB
Relevant: https://prosody.im/security/advisory_20210512
- boo#1186027: Prosody XMPP server advisory 2021-05-12
- CVE-2021-32919
- CVE-2021-32917
- CVE-2021-32917
- CVE-2021-32920
- CVE-2021-32918
Update to 0.11.8:
Security:
- mod_saslauth: Disable ‘tls-unique’ channel binding with TLS 1.3 (#1542)
Fixes and improvements:
- net.websocket.frames: Improve websocket masking performance by using the new util.strbitop
- util.strbitop: Library for efficient bitwise operations on strings
Minor changes:
- MUC: Correctly advertise whether the subject can be changed (#1155)
- MUC: Preserve disco ‘node’ attribute (or lack thereof) in responses (#1595)
- MUC: Fix logic bug causing unnecessary presence to be sent (#1615)
- mod_bosh: Fix error if client tries to connect to component (#425)
- mod_bosh: Pick out the ‘wait’ before checking it instead of earlier
- mod_pep: Advertise base PubSub feature (#1632)
- mod_pubsub: Fix notification stanza type setting (#1605)
- mod_s2s: Prevent keepalives before client has established a stream
- net.adns: Fix bug that sent empty DNS packets (#1619)
- net.http.server: Don’t send Content-Length on 1xx/204 responses (#1596)
- net.websocket.frames: Fix length calculation bug (#1598)
- util.dbuffer: Make length API in line with Lua strings
- util.dbuffer: Optimize substring operations
- util.debug: Fix locals being reported under wrong stack frame in some cases
- util.dependencies: Fix check for Lua bitwise operations library (#1594)
- util.interpolation: Fix combination of filters and fallback values #1623
- util.promise: Preserve tracebacks
- util.stanza: Reject ASCII control characters (#1606)
- timers: Ensure timers can’t block other processing (#1620)
Update to 0.11.7:
Security:
- mod_websocket: Enforce size limits on received frames (fixes #1593)
Fixes and improvements:
- mod_c2s, mod_s2s: Make stanza size limits configurable
- Add configuration options to control Lua garbage collection parameters
- net.http: Backport SNI support for outgoing HTTP requests (#409)
- mod_websocket: Process all data in the buffer on close frame and connection errors (fixes #1474, #1234)
- util.indexedbheap: Fix heap data structure corruption, causing some timers to fail after a reschedule (fixes #1572)
Update to 0.11.6:
Fixes and improvements:
- mod_storage_internal: Fix error in time…
- Record
openSUSE-SU-2021:0751-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11197-1 No score
prosody-0.11.10-1.2 on GA media
These are all security issues fixed in the prosody-0.11.10-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11197-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
prosodyAlpine:v3.12 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.13 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.14 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.15 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.16 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.17 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.18 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.19 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.20 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.21 |
before 0.11.9-r0 | 0.11.9-r0 |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
prosodyAlpine:v3.22 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.23 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyAlpine:v3.24 |
before 0.11.9-r0 | 0.11.9-r0 |
prosodyDebian:12 |
before 0.11.9-1 | 0.11.9-1 |
prosodyDebian:13 |
before 0.11.9-1 | 0.11.9-1 |
prosodyDebian:14 |
before 0.11.9-1 | 0.11.9-1 |
prosodyDebian:10 From an advisory covering 5 CVEs |
before 0.11.2-1+deb10u1, plus listed versions 0.11.2-1 |
0.11.2-1+deb10u1 |
prosodyUbuntu:16.04:LTS |
All versions, plus listed versions 0.9.8-10.9.9-10.9.10-1 |
None known |
prosodyUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 0.9.12-20.10.0-10.10.0-1build10.10.0-1ubuntu0.1~esm1 |
None known |
prosodyUbuntu:20.04:LTS |
All versions, plus listed versions 0.11.2-10.11.3-10.11.4-1 |
None known |
prosodyUbuntu:22.04:LTS |
All versions, plus listed versions 0.11.10-10.11.10-1build10.11.10-1build20.11.11-10.11.11-20.11.12-10.11.13-1 |
None known |
prosodyopenSUSE:Leap 15.2 From an advisory covering 4 CVEs |
before 0.11.9-lp152.2.3.1 | 0.11.9-lp152.2.3.1 |
prosodySUSE:Package Hub 15 SP2 From an advisory covering 4 CVEs |
before 0.11.9-bp152.2.3.1 | 0.11.9-bp152.2.3.1 |
prosodyopenSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 0.11.10-1.2 | 0.11.10-1.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected, aliases, references | OSV | |
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-32920 is a high vulnerability (CVSS 7.5) in Prosody, published May 13, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.26%, the 83rd percentile. Fixed in prosody 0.11.9-r0.
References
blog.prosody.im/prosody-0.11.9-released
openwall.com/lists/oss-security/2021/05/13/1
openwall.com/lists/oss-security/2021/05/14/2
debian.org/security/2021/dsa-4916
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/6MFFBZWXKPZEVZNQSVJNCUE7WRF3T7DG
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/LWJ2DG2DFJOEFEWOUN26IMYYWGSA2ZEE
Show 23 moreShow less
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/GUN63AHEWB2WRROJHU3BVJRWLONCT2B7
security.gentoo.org/glsa/202105-15
nvd.nist.gov/vuln/detail/CVE-2021-32920
lists.fedoraproject.org/archives/list/[email protected]/message/6MFFBZWXKPZEVZNQSVJNCUE7WRF3T7DG
lists.fedoraproject.org/archives/list/[email protected]/message/GUN63AHEWB2WRROJHU3BVJRWLONCT2B7
lists.fedoraproject.org/archives/list/[email protected]/message/LWJ2DG2DFJOEFEWOUN26IMYYWGSA2ZEE
github.com/advisories/GHSA-7jvv-jg88-r4h8
security.alpinelinux.org/vuln/CVE-2021-32920
security-tracker.debian.org/tracker/CVE-2021-32920
ubuntu.com/security/CVE-2021-32920
prosody.im/security/advisory_20210512.txt
hg.prosody.im/trunk/rev/55ef50d6cf65
hg.prosody.im/trunk/rev/5a484bd050a7
hg.prosody.im/trunk/rev/aaf9c6b6d18d
cve.org/CVERecord?id=CVE-2021-32920
lists.opensuse.org/archives/list/[email protected]/thread/QFZF2R5S5FEXEQIW4Q7P3QW6HA46PJMX
bugzilla.suse.com/1186027
suse.com/security/cve/CVE-2021-32917
suse.com/security/cve/CVE-2021-32918
suse.com/security/cve/CVE-2021-32919
suse.com/security/cve/CVE-2021-32920
lists.opensuse.org/archives/list/[email protected]/thread/FJYSI5GATCA32NI325BJB4SQGVY6RLE7
suse.com/security/cve/CVE-2021-37601
Left out here: the rest of 2 source descriptions. The JSON record has them.