{"id":"CVE-2021-32765","aliases":["DEBIAN-CVE-2021-32765","EUVD-2021-19533","GHSA-hfm9-39pp-55p2","MGASA-2021-0562","OESA-2021-1390","UBUNTU-CVE-2021-32765","openSUSE-SU-2021:1536-1","openSUSE-SU-2021:1550-1","openSUSE-SU-2024:11561-1"],"status":"published","title":"Integer Overflow to Buffer Overflow in Hiredis","description":"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.","severity":{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.02055,"percentile":0.81447,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-190","CWE-680"],"published":"2021-10-04T00:00:00Z","modified":"2026-10-23T18:03:14Z","fixes":[{"ecosystem":"Debian:12","package":"hiredis","fixed_in":["0.14.1-2"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"hiredis","fixed_in":["0.14.1-2"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"hiredis","fixed_in":["0.14.1-2"],"sources":["osv"]},{"ecosystem":"Mageia:8","package":"hiredis","fixed_in":["0.13.3-6.1.mga8"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP1","package":"hiredis","fixed_in":["1.0.2-1.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP2","package":"hiredis","fixed_in":["1.0.2-1.oe1"],"sources":["osv"]},{"ecosystem":"SUSE:Package Hub 15 SP3","package":"hiredis","fixed_in":["0.13.3-bp153.2.3.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.2","package":"hiredis","fixed_in":["0.13.3-bp153.2.3.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.3","package":"hiredis","fixed_in":["0.13.3-bp153.2.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Package Hub 15 SP2","package":"hiredis","fixed_in":["0.13.3-bp152.4.3.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"hiredis","fixed_in":["1.0.2-1.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.14.1-2"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.14.1-2"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.14.1-2"}]}]},{"source":"osv","ecosystem":"Mageia:8","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.13.3-6.1.mga8"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP1","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.2-1.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP2","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.2-1.oe1"}]}]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.13.1-2","0.13.3-1","0.13.3-2"]},{"source":"osv","ecosystem":"SUSE:Package Hub 15 SP3","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.13.3-bp153.2.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.13.3-bp153.2.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.13.3-bp153.2.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Package Hub 15 SP2","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.13.3-bp152.4.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"hiredis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.2-1.1"}]}]}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"netapp","product":"management_services_for_element_software_and_netapp_hci"},{"vendor":"redis","product":"hiredis"}],"references":[{"url":"https://github.com/redis/hiredis/security/advisories/GHSA-hfm9-39pp-55p2","tags":["x_transferred","Mitigation","Third Party Advisory","advisory","report"]},{"url":"https://github.com/redis/hiredis/commit/76a7b10005c70babee357a7d0f2becf28ec7ed1e","tags":["x_transferred","Patch","Third Party Advisory","fix"]},{"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","tags":["x_transferred","Third Party Advisory","advisory","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2021/10/msg00007.html","tags":["mailing-list","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://security.netapp.com/advisory/ntap-20211104-0003/","tags":["x_transferred","Third Party Advisory","advisory"]},{"url":"https://security.gentoo.org/glsa/202210-32","tags":["vendor-advisory","x_transferred","Third Party Advisory","advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2021-32765","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2021-0562.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=29549","tags":["report"]},{"url":"https://www.debian.org/lts/security/2021/dla-2783","tags":["web"]},{"url":"https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1390","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-32765","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2021-32765","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-32765","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/A2J7PHNSWD2ZHOSNIVUJTW2HJ34RJDBG/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1191331","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2021-32765","tags":["web"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/4GSAQE3UZIYGFDEEFR46DV63XWSGJDN3/","tags":["advisory"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2021-32765","title":"Integer Overflow to Buffer Overflow in Hiredis","description":"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.","status":"published","published":"2021-10-04T00:00:00Z","modified":"2024-08-03T23:33:55.893Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-190","CWE-680"],"updated_at":"2026-11-02T14:33:06.658806Z"}],"euvd":[{"id":"EUVD-2021-19533","description":"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.","status":"published","published":"2021-10-04T00:00:00Z","modified":"2024-08-03T23:33:55Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-03T03:24:35.855495Z"}],"nvd":[{"id":"CVE-2021-32765","description":"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.","status":"published","published":"2021-10-04T21:15:12.527Z","modified":"2026-06-17T03:53:35.097Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-190","CWE-680"],"updated_at":"2026-11-02T14:06:59.314106Z"}],"osv":[{"id":"CVE-2021-32765","description":"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.","status":"published","published":"2021-10-04T21:15:12.527Z","modified":"2026-10-20T14:23:23.774285648Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:19.793849Z"},{"id":"DEBIAN-CVE-2021-32765","description":"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.","status":"published","published":"2021-10-04T21:15:12.527Z","modified":"2026-10-23T18:03:14.495239313Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:35.233346Z"},{"id":"OESA-2021-1390","title":"hiredis security update","description":"Hiredis is a minimalistic C client library for the Redis database. It is minimalistic because it just adds minimal support for the protocol, but at the same time it uses a high level printf-alike API in order to make it much higher level than otherwise suggested by its minimal code base and the lack of explicit bindings for every Redis command.\r\n\r\nSecurity Fix(es):\r\n\r\nHiredis 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\u0026apos;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.(CVE-2021-32765)","status":"published","published":"2021-10-15T11:04:39Z","modified":"2026-08-18T01:16:08.603675228Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:38.987987Z"},{"id":"UBUNTU-CVE-2021-32765","description":"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.","status":"published","published":"2021-10-04T21:15:00Z","modified":"2026-04-22T12:54:21.478674Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:54:27.332852Z"},{"id":"MGASA-2021-0562","title":"Updated hiredis packages fix security vulnerability","description":"Updated hiredis packages fix security vulnerability:\n\nIt was discovered that there was an integer-overflow vulnerability in\nhiredis, a C client library for communicating with Redis databases.\nThis occurred within the handling and parsing of 'multi-bulk' replies\n(CVE-2021-32765).\n","status":"published","published":"2021-12-19T12:26:08Z","modified":"2026-04-16T04:41:05.624776476Z","updated_at":"2026-11-02T15:49:41.849028Z"},{"id":"openSUSE-SU-2021:1536-1","title":"Security update for hiredis","description":"This update for hiredis fixes the following issues:\n\n- CVE-2021-32765: Fix integer/buffer (boo#1191331)\n","status":"published","published":"2021-12-06T13:06:28Z","modified":"2026-02-04T03:21:45.984689Z","updated_at":"2026-11-02T16:58:32.266854Z"},{"id":"openSUSE-SU-2021:1550-1","title":"Security update for hiredis","description":"This update for hiredis fixes the following issues:\n\n- CVE-2021-32765: Fix integer/buffer (boo#1191331)\n\nThis update was imported from the openSUSE:Leap:15.2:Update update project.","status":"published","published":"2021-12-09T17:06:55Z","modified":"2026-02-04T03:19:53.167623Z","updated_at":"2026-11-02T16:58:32.266854Z"},{"id":"openSUSE-SU-2024:11561-1","title":"hiredis-1.0.2-1.1 on GA media","description":"These are all security issues fixed in the hiredis-1.0.2-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T02:57:36.236545Z","updated_at":"2026-11-02T16:58:35.195147Z"}]}}
