portage-ng / portage / dev-libs / hiredis / 1.3.0
portage-ng glsa
1 advisory reference dev-libs/hiredis · none place version 1.3.0 in a vulnerable range
▸ GLSA 202210-32 hiredis, hiredis-py: Multiple Vulnerabilities this version unaffected normal remote 2022-10-31

An integer overflow has been found in hiredis which could result in arbitrary code execution.

Announced
2022-10-31
Revised
2022-10-31
Access
remote
Bugs
#873079 #816318
Advisory
https://security.gentoo.org/glsa/202210-32

Affected packages

PackageArchVulnerableUnaffected
dev-libs/hiredis*< 1.0.1>= 1.0.1
dev-python/hiredis*< 2.0.0>= 2.0.0

Background

hiredis is a minimalistic C client library for the Redis database. hiredis-py is a Python extension that wraps hiredis.

Description

Hiredis is vulnerable 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.

Impact

Malicious Redis commands could result in remote code execution.

Workaround

There is no known workaround at this time.

Resolution

All hiredis users should upgrade to the latest version:

# emerge --sync
# emerge --ask --oneshot --verbose ">=dev-libs/hiredis-1.0.1"

All hiredis-py users should upgrade to the latest version:

# emerge --sync
# emerge --ask --oneshot --verbose ">=dev-python/hiredis-2.0.0"

References