All the vulnerabilites related to redis - hiredis
cve-2021-32765
Vulnerability from cvelistv5
Published
2021-10-04 00:00
Modified
2024-08-03 23:33
Severity ?
EPSS score ?
Summary
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.
References
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-03T23:33:55.893Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_transferred" ], "url": "https://github.com/redis/hiredis/security/advisories/GHSA-hfm9-39pp-55p2" }, { "tags": [ "x_transferred" ], "url": "https://github.com/redis/hiredis/commit/76a7b10005c70babee357a7d0f2becf28ec7ed1e" }, { "tags": [ "x_transferred" ], "url": "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" }, { "name": "[debian-lts-announce] 20211012 [SECURITY] [DLA 2783-1] hiredis security update", "tags": [ "mailing-list", "x_transferred" ], "url": "https://lists.debian.org/debian-lts-announce/2021/10/msg00007.html" }, { "tags": [ "x_transferred" ], "url": "https://security.netapp.com/advisory/ntap-20211104-0003/" }, { "name": "GLSA-202210-32", "tags": [ "vendor-advisory", "x_transferred" ], "url": "https://security.gentoo.org/glsa/202210-32" } ], "title": "CVE Program Container" } ], "cna": { "affected": [ { "product": "hiredis", "vendor": "redis", "versions": [ { "status": "affected", "version": "\u003c 1.0.1" } ] } ], "descriptions": [ { "lang": "en", "value": "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\u0027t 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." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 8.8, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-190", "description": "CWE-190: Integer Overflow or Wraparound", "lang": "en", "type": "CWE" } ] }, { "descriptions": [ { "cweId": "CWE-680", "description": "CWE-680: Integer Overflow to Buffer Overflow", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2022-10-31T00:00:00", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "url": "https://github.com/redis/hiredis/security/advisories/GHSA-hfm9-39pp-55p2" }, { "url": "https://github.com/redis/hiredis/commit/76a7b10005c70babee357a7d0f2becf28ec7ed1e" }, { "url": "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" }, { "name": "[debian-lts-announce] 20211012 [SECURITY] [DLA 2783-1] hiredis security update", "tags": [ "mailing-list" ], "url": "https://lists.debian.org/debian-lts-announce/2021/10/msg00007.html" }, { "url": "https://security.netapp.com/advisory/ntap-20211104-0003/" }, { "name": "GLSA-202210-32", "tags": [ "vendor-advisory" ], "url": "https://security.gentoo.org/glsa/202210-32" } ], "source": { "advisory": "GHSA-hfm9-39pp-55p2", "discovery": "UNKNOWN" }, "title": "Integer Overflow to Buffer Overflow in Hiredis" } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2021-32765", "datePublished": "2021-10-04T00:00:00", "dateReserved": "2021-05-12T00:00:00", "dateUpdated": "2024-08-03T23:33:55.893Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }