Vulnerability · Published Oct 4, 2021 · Assigned by GitHub_M
CVE-2021-32765Integer Overflow to Buffer Overflow in Hiredis
High 8.8
In plain English
A high-severity integer overflow in hiredis from redis. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 2.1% (higher than 82% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Hiredis is a minimalistic C client library for the Redis database. In affected versions Hiredis is vulnurable to integer overflow if provided maliciously crafted or corrupted `RESP` `mult-bulk` protocol data. When parsing `multi-bulk` (array-like) replies, hiredis fails to check if `count * sizeof(redisReply*)` can be represented in `SIZE_MAX`. If it can not, and the `calloc()` call doesn't itself make this check, it would result in a short allocation and subsequent buffer overflow. Users of hiredis who are unable to update may set the [maxelements](https://github.com/redis/hiredis#reader-max-array-elements) context option to a value small enough that no overflow is possible.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | hiredis | 0.14.1-2 | DEBIAN-CVE-2021-32765 |
| Debian:13 | hiredis | 0.14.1-2 | DEBIAN-CVE-2021-32765 |
| Debian:14 | hiredis | 0.14.1-2 | DEBIAN-CVE-2021-32765 |
Affected products (as reported)
Weakness: CWE-190, CWE-680 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
References
- https://github.com/redis/hiredis/security/advisories/GHSA-hfm9-39pp-55p2
- https://github.com/redis/hiredis/commit/76a7b10005c70babee357a7d0f2becf28ec7ed1e
- https://wiki.sei.cmu.edu/confluence/display/c/MEM07-C.+Ensure+that+the+arguments+to+calloc%28%29%2C+when+multiplied%2C+do+not+wrap
- [debian-lts-announce] 20211012 [SECURITY] [DLA 2783-1] hiredis security update mailing-list
- https://security.netapp.com/advisory/ntap-20211104-0003/
- GLSA-202210-32 vendor-advisory