Security Advisories (1)
CVE-2021-32765 (2021-10-04)

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.

NAME

Redis::Fast::Hash - tie Perl hashes to Redis hashes

SYNOPSYS

## Create fake hash using keys like 'hash_prefix:KEY'
tie %my_hash, 'Redis::Fast::Hash', 'hash_prefix', @Redis_new_parameters;

## Treat the entire Redis database as a hash
tie %my_hash, 'Redis::Fast::Hash', undef, @Redis_new_parameters;

$value = $my_hash{$key};
$my_hash{$key} = $value;

@keys   = keys %my_hash;
@values = values %my_hash;

%my_hash = reverse %my_hash;

%my_hash = ();

DESCRIPTION

Ties a Perl hash to Redis::Fast. Note that it doesn't use Redis Hashes, but implements a fake hash using regular keys like "prefix:KEY".

If no prefix is given, it will tie the entire Redis database as a hash.

Future versions will also allow you to use real Redis hash structures.