Every CVE Search/ Get API key

CVE-2021-29477

Vulnerability in the STRALGO LCS command

7.5 HighFix available

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. The problem is fixed in version 6.2.3 and 6.0.13. An additional workaround to mitigate the problem without patching the redis-server executable is to use ACL configuration to prevent clients from using the STRALGO LCS command.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

4.00%Up 2.6 points since May 5, 2021
90%50%10%1%

What each source reports

CVE List Score used 7.5

Vulnerability in the STRALGO LCS command

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. The problem is fixed in version 6.2.3 and 6.0.13. An additional workaround to mitigate the problem without patching the redis-server executable is to use ACL configuration to prevent clients from using the STRALGO LCS command.

Record
CVE-2021-29477
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-190
Updated
2026-11-02
EUVDEUVD-2021-16084 7.5

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. The problem is fixed in version 6.2.3 and 6.0.13. An additional workaround to mitigate the problem without patching the redis-server executable is to use ACL configuration to prevent clients from using the STRALGO LCS command.

Record
EUVD-2021-16084
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-03
NVD 7.5

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. The problem is fixed in version 6.2.3 and 6.0.13. An additional workaround to mitigate the problem without patching the redis-server executable is to use ACL configuration to prevent clients from using the STRALGO LCS command.

Record
CVE-2021-29477
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
6.5 MediumAV:N/AC:L/Au:S/C:P/I:P/A:P
Weakness
CWE-190
Updated
2026-11-02
OSVALPINE-CVE-2021-29477 8.8

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. The problem is fixed in version 6.2.3 and 6.0.13. An additional workaround to mitigate the problem without patching the redis-server executable is to use ACL configuration to prevent clients from using the STRALGO LCS command.

Record
ALPINE-CVE-2021-29477
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVBELL-CVE-2021-29477 8.8

CVE-2021-29477 does not affect BellSoft software

Record
BELL-CVE-2021-29477
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSV 8.8

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. The problem is fixed in version 6.2.3 and 6.0.13. An additional workaround to mitigate the problem without patching the redis-server executable is to use ACL configuration to prevent clients from using the STRALGO LCS command.

Record
CVE-2021-29477
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 8 moreShow less
OSVDEBIAN-CVE-2021-29477 8.8

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. The problem is fixed in version 6.2.3 and 6.0.13. An additional workaround to mitigate the problem without patching the redis-server executable is to use ACL configuration to prevent clients from using the STRALGO LCS command.

Record
DEBIAN-CVE-2021-29477
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVOESA-2022-1883 8.8

redis6 security update

Redis is an advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. You can run atomic operations on these types, like appending to a string; incrementing the value in a hash; pushing to a list; computing set intersection, union and difference; or getting the member with highest ranking in a sorted set. In order to achieve its outstanding performance, Redis works with an in-memory dataset. Depending on your use case, you can persist it either by dumping the dataset to disk every once in a while, or by appending each command to a log. Redis also supports trivial-to-setup master-slave replication, with very fast non-blocking first synchronization, auto-reconnection on net split and so forth. Other features include Transactions, Pub/Sub, Lua scripting, Keys with a limited time-to-live, and configuration settings to make Redis behave like a cache. You can use Redis from most programming languages also.

Security Fix(es):

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. The problem is fixed in version 6.2.3 and 6.0.13. An additional workaround to mitigate the problem without patching the redis-server executable is to use ACL configuration to prevent clients from using the STRALGO LCS command.(CVE-2021-29477)

Record
OESA-2022-1883
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2021:2034 8.8

Red Hat Security Advisory: redis:6 security update

Record
RHSA-2021:2034
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRLSA-2021:2034 8.8

Important: redis:6 security update

Redis is an advanced key-value store. It is often referred to as a data-structure server since keys can contain strings, hashes, lists, sets, and sorted sets. For performance, Redis works with an in-memory data set. You can persist it either by dumping the data set to disk every once in a while, or by appending each command to a log.

Security Fix(es):

  • redis: Integer overflow via STRALGO LCS command (CVE-2021-29477)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
RLSA-2021:2034
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVMGASA-2021-0373 No score

Updated redis package fixes security vulnerabilities

An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution (CVE-2021-29477).

An integer overflow bug in Redis 6.2 before 6.2.3 could be exploited to corrupt the heap and potentially result with remote code execution (CVE-2021-29478).

A vulnerability involving out-of-bounds read and integer overflow to buffer overflow exists starting with version 2.2 and prior to versions 5.0.13, 6.0.15 and 6.2.5. On 32-bit systems, Redis *BIT* command are vulnerable to integer overflow that can potentially be exploited to corrupt the heap, leak arbitrary heap contents or trigger remote code execution (CVE-2021-32761).

Record
MGASA-2021-0373
Updated
2026-11-02
OSVopenSUSE-SU-2021:0682-1 No score

Security update for redis

This update for redis fixes the following issues:

redis 6.0.13

  • CVE-2021-29477: Integer overflow in STRALGO LCS command (boo#1185729)
  • CVE-2021-29478: Integer overflow in COPY command for large intsets (boo#1185730)
  • Cluster: Skip unnecessary check which may prevent failure detection
  • Fix performance regression in BRPOP on Redis 6.0
  • Fix edge-case when a module client is unblocked

redis 6.0.12:

  • Fix compilation error on non-glibc systems if jemalloc is not used

redis 6.0.11:

  • CVE-2021-21309: Avoid 32-bit overflows when proto-max-bulk-len is set high (boo#1182657)
  • Fix handling of threaded IO and CLIENT PAUSE (failover), could lead to data loss or a crash
  • Fix the selection of a random element from large hash tables
  • Fix broken protocol in client tracking tracking-redir-broken message
  • XINFO able to access expired keys on a replica
  • Fix broken protocol in redis-benchmark when used with -a or --dbnum
  • Avoid assertions (on older kernels) when testing arm64 CoW bug
  • CONFIG REWRITE should honor umask settings
  • Fix firstkey,lastkey,step in COMMAND command for some commands
  • RM_ZsetRem: Delete key if empty, the bug could leave empty zset keys

redis 6.0.10:

Command behavior changes:

  • SWAPDB invalidates WATCHed keys (#8239)
  • SORT command behaves differently when used on a writable replica (#8283)
  • EXISTS should not alter LRU (#8016) In Redis 5.0 and 6.0 it would have touched the LRU/LFU of the key.
  • OBJECT should not reveal logically expired keys (#8016) Will now behave the same TYPE or any other non-DEBUG command.
  • GEORADIUS[BYMEMBER] can fail with -OOM if Redis is over the memory limit (#8107)

Other behavior changes:

  • Sentinel: Fix missing updates to the config file after SENTINEL SET command (#8229)
  • CONFIG REWRITE is atomic and safer, but requires write access to the config file's folder (#7824, #8051) This change was already present in 6.0.9, but was missing from the release notes.

Bug fixes with compatibility implications (bugs introduced in Redis 6.0):

  • Fix RDB CRC64 checksum on big-endian systems (#8270) If you're using big-endian please consider the compatibility implications with RESTORE, replication and persistence.
  • Fix wrong order of key/value in Lua's map response (#8266) If your scripts use redis.setresp() or return a map (new in Redis 6.0), please consider the implications.

Bug fixes:

  • Fix an issue where a forked process deletes the parent's pidfile (#8231)
  • Fix crashes when enabling io-threads-do-reads (#8230)
  • Fix a crash in redis-cli after executing cluster backup (#8267)
  • Handle output buffer limits for module blocked clients (#8141) Could result in a module sending reply to a blocked client to go beyond the limit.
  • Fix setproctitle related crashes. (#8150, #8088) Caused various crashes on startup, mainly on Apple M1 chips or under instrumentation.
  • Backup/restore cluster mode keys to slots map for repl-diskless-load=swapdb (#8108) In cluster mode with repl-diskless-load, when loading failed, slot map wouldn't have been restored.
  • Fix oom-score-adj-values range, and bug when used in config file (#8046) Enabling setting this in the config file in a line after enabling it, would have been buggy.
  • Reset average ttl when empty databases (#8106) Just causing misleading metric in INFO
  • Disable rehash when Redis has child process (#8007) This could have caused excessive CoW during BGSAVE, replication or AOFRW.
  • Further improved ACL algorithm for picking categories (#7966) Output of ACL GETUSER is now more similar to the one provided by ACL SETUSER.
  • Fix bug with module GIL being released prematurely (#8061) Could in theory (and rarely) cause multi-threaded modules to corrupt memory.
  • Reduce effect of client tracking causing feedback loop in key eviction (#8100)
  • Fix cluster access to unaligned memory (SIGBUS on old ARM) (#7958)
  • Fix saving of strings larger than 2GB into RDB files (#8306)

Additional improvements:

  • Avoid…
Record
openSUSE-SU-2021:0682-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11299-1 No score

redis-6.2.5-1.2 on GA media

These are all security issues fixed in the redis-6.2.5-1.2 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11299-1
Updated
2026-11-02
OSVSUSE-SU-2021:1652-1 No score

Security update for redis

This update for redis fixes the following issues:

redis was updated to 6.0.13:

  • CVE-2021-29477: Integer overflow in STRALGO LCS command (bsc#1185729)
  • CVE-2021-29478: Integer overflow in COPY command for large intsets (bsc#1185730)
  • Cluster: Skip unnecessary check which may prevent failure detection
  • Fix performance regression in BRPOP on Redis 6.0
  • Fix edge-case when a module client is unblocked

redis 6.0.12:

  • Fix compilation error on non-glibc systems if jemalloc is not used

redis 6.0.11:

  • CVE-2021-21309: Avoid 32-bit overflows when proto-max-bulk-len is set high (bsc#1182657)
  • Fix handling of threaded IO and CLIENT PAUSE (failover), could lead to data loss or a crash
  • Fix the selection of a random element from large hash tables
  • Fix broken protocol in client tracking tracking-redir-broken message
  • XINFO able to access expired keys on a replica
  • Fix broken protocol in redis-benchmark when used with -a or --dbnum
  • Avoid assertions (on older kernels) when testing arm64 CoW bug
  • CONFIG REWRITE should honor umask settings
  • Fix firstkey,lastkey,step in COMMAND command for some commands
  • RM_ZsetRem: Delete key if empty, the bug could leave empty zset keys
Record
SUSE-SU-2021:1652-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
redis
Alpine:v3.13
6.0.0 up to 6.0.13-r0
6.0.13-r0
redis
Debian:12
before 5:6.0.13-1
5:6.0.13-1
redis
Debian:13
before 5:6.0.13-1
5:6.0.13-1
redis
Debian:14
before 5:6.0.13-1
5:6.0.13-1
redis
Mageia:8
From an advisory covering 3 CVEs
before 6.0.15-1.mga8
6.0.15-1.mga8
redis6
openEuler:20.03-LTS-SP1
before 6.2.7-1.oe1
6.2.7-1.oe1
redis6
openEuler:20.03-LTS-SP3
before 6.2.7-1.oe1
6.2.7-1.oe1
redis6
openEuler:22.03-LTS
before 6.2.7-1.oe2203
6.2.7-1.oe2203
redis
Red Hat:enterprise_linux:8::appstream
before 0:6.0.9-3.module+el8.4.0+10984+ed187465
0:6.0.9-3.module+el8.4.0+10984+ed187465
redis-debuginfo
Red Hat:enterprise_linux:8::appstream
before 0:6.0.9-3.module+el8.4.0+10984+ed187465
0:6.0.9-3.module+el8.4.0+10984+ed187465
Show 8 moreShow less
Affected packages
PackageAffectedFixed
redis-debugsource
Red Hat:enterprise_linux:8::appstream
before 0:6.0.9-3.module+el8.4.0+10984+ed187465
0:6.0.9-3.module+el8.4.0+10984+ed187465
redis-devel
Red Hat:enterprise_linux:8::appstream
before 0:6.0.9-3.module+el8.4.0+10984+ed187465
0:6.0.9-3.module+el8.4.0+10984+ed187465
redis-doc
Red Hat:enterprise_linux:8::appstream
before 0:6.0.9-3.module+el8.4.0+10984+ed187465
0:6.0.9-3.module+el8.4.0+10984+ed187465
redis
Rocky Linux:8
before 0:6.0.9-3.module+el8.4.0+395+8d498eeb
0:6.0.9-3.module+el8.4.0+395+8d498eeb
redis
SUSE:Linux Enterprise Module for Server Applications 15 SP2
From an advisory covering 3 CVEs
before 6.0.13-1.10.1
6.0.13-1.10.1
redis
SUSE:Linux Enterprise Module for Server Applications 15 SP3
From an advisory covering 3 CVEs
before 6.0.13-1.10.1
6.0.13-1.10.1
redis
openSUSE:Leap 15.2
From an advisory covering 3 CVEs
before 6.0.13-lp152.2.3.1
6.0.13-lp152.2.3.1
redis
openSUSE:Tumbleweed
From an advisory covering 9 CVEs
before 6.2.5-1.2
6.2.5-1.2

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-29477 is a high vulnerability (CVSS 7.5) in Redis, published May 4, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.00%, the 90th percentile. Fixed in redis 6.0.13-r0.

References

Show 35 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open