GLSA 202210-32: hiredis, hiredis-py: Multiple Vulnerabilities

Severity:normal
Title:hiredis, hiredis-py: Multiple Vulnerabilities
Date:10/31/2022
Bugs: #873079, #816318
ID:202210-32

Synopsis

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

Background

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

Affected packages

Package Vulnerable Unaffected Architecture(s)
dev-python/hiredis < 2.0.0 >= 2.0.0 All supported architectures
dev-libs/hiredis < 1.0.1 >= 1.0.1 All supported architectures

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

Availability

This GLSA and any updates to it are available for viewing at the Gentoo Security Website: http://security.gentoo.org/glsa/glsa-202210-32.xml

Concerns?

Security is a primary focus of Gentoo Linux and ensuring the confidentiality and security of our users machines is of utmost importance to us. Any security concerns should be addressed to security@gentoo.org or alternatively, you may file a bug at https://bugs.gentoo.org.

License

Copyright 2010 Gentoo Foundation, Inc; referenced text belongs to its owner(s). The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.

Thank you!