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 context option to a value small enough that no overflow is possible.
CPE | Name | Operator | Version |
---|---|---|---|
debian_linux | eq | 9.0 | |
hiredis | lt | 1.0.1 |
github.com/redis/hiredis/commit/76a7b10005c70babee357a7d0f2becf28ec7ed1e
github.com/redis/hiredis/security/advisories/GHSA-hfm9-39pp-55p2
lists.debian.org/debian-lts-announce/2021/10/msg00007.html
security.gentoo.org/glsa/202210-32
security.netapp.com/advisory/ntap-20211104-0003/
wiki.sei.cmu.edu/confluence/display/c/MEM07-C.+Ensure+that+the+arguments+to+calloc%28%29%2C+when+multiplied%2C+do+not+wrap