Redis is an open source, in-memory database that persists on disk. When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users. The problem is fixed in Redis versions 6.2.6, 6.0.16 and 5.0.14. An additional workaround to mitigate this problem without patching the redis-server executable is to block access to prevent unauthenticated users from connecting to Redis. This can be done in different ways: Using network access control tools like firewalls, iptables, security groups, etc. or Enabling TLS and requiring users to authenticate using client side certificates.
NOTE: The following CVSS v3.0 metrics and score provided are preliminary and subject to review.
|Base Score:||7.5||Base Metrics:||AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H|
|Access Vector:||Network||Attack Complexity:||Low|
|Privileges Required:||None||User Interaction:||None|
|Integrity Impact:||None||Availability Impact:||High|
|Oracle Linux version 8 (redis)||ELSA-2021-3918||2021-10-19|
|Oracle Linux version 8 (redis)||ELSA-2021-3945||2021-10-20|
This page is generated automatically and has not been checked for errors or omissions. For clarification or corrections please contact the Oracle Linux ULN team