CVE-2021-20236: Buffer Overflow
A flaw was found in the ZeroMQ server in versions before 4.3.3. This flaw allows a malicious client to cause a stack buffer overflow on the server by sending crafted topic subscription requests and then unsubscribing. The highest threat from this vulnerability is to confidentiality, integrity, as well as system availability.
Other sources
A flaw was found in zeromq before version 4.3.3. The PUB/XPUB subscription store (mtrie) is traversed using recursive function calls. In the remove (unsubscription) case, the recursive calls are NOT tail calls, so even with optimizations the stack grows linearly with the length of a subscription topic. Topics are under the control of remote clients - they can send a subscription to arbitrary length topics. An attacker can thus cause a server to create an mtrie sufficiently large such that, when unsubscribing, traversal will cause a stack overflow.
References:
https://github.com/zeromq/libzmq/pull/3959 https://github.com/zeromq/libzmq/security/advisories/GHSA-qq65-x72m-9wr8 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22488
— Red Hat
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2021-20236?
CVE-2021-20236 is a vulnerability found in the ZeroMQ server in versions before 4.3.3.
How does CVE-2021-20236 affect confidentiality and integrity?
CVE-2021-20236 can potentially compromise the confidentiality and integrity of a system.
What is the severity of CVE-2021-20236?
CVE-2021-20236 has a severity score of 9.8 (critical).
What software versions are affected by CVE-2021-20236?
Versions of ZeroMQ before 4.3.3 are affected by CVE-2021-20236.
Are there any known fixes or mitigations for CVE-2021-20236?
Yes, the fix for CVE-2021-20236 is to update to version 4.3.3 of ZeroMQ or later.