diff --git a/content/embeds/rs-prometheus-metrics-v2.md b/content/embeds/rs-prometheus-metrics-v2.md
index 9ce23c5740..e46465957f 100644
--- a/content/embeds/rs-prometheus-metrics-v2.md
+++ b/content/embeds/rs-prometheus-metrics-v2.md
@@ -66,6 +66,7 @@
| generation{cluster_wd=} | gauge| Generation number of the specific cluster_wd|
| has_qourum{cluster_wd=, has_witness_disk=BOOL} | gauge| Has_qourum = 1
No quorum = 0 |
| is_primary{cluster_wd=} | gauge| primary = 1
secondary = 0 |
+| license_expiration_days | gauge | Number of days until the license expires |
| license_shards_limit | gauge | Total shard limit by the license by shard type (ram / flash) |
| total_live_nodes_count{cluster_wd=} | gauge| Number of live nodes|
| total_node_count{cluster_wd=} | gauge| Number of nodes |
diff --git a/content/operate/rs/references/rest-api/requests/users/password.md b/content/operate/rs/references/rest-api/requests/users/password.md
index e57410c78d..1192ecd5d0 100644
--- a/content/operate/rs/references/rest-api/requests/users/password.md
+++ b/content/operate/rs/references/rest-api/requests/users/password.md
@@ -13,15 +13,15 @@ weight: $weight
| Method | Path | Description |
|----------------------------|----------------------|-----------------------------|
-| [PUT](#update-password) | `/v1/users/password` | Replace the password of the authenticated user |
-| [POST](#add-password) | `/v1/users/password` | Add a new password for the authenticated user |
-| [DELETE](#delete-password) | `/v1/users/password` | Delete a password for the authenticated user |
+| [PUT](#update-password) | `/v1/users/password` | Replace passwords |
+| [POST](#add-password) | `/v1/users/password` | Add a new password |
+| [DELETE](#delete-password) | `/v1/users/password` | Delete a password |
## Update password {#update-password}
PUT /v1/users/password
-Replaces the password list of the user making this request with a single new password. The request authentication header must include the relevant username and password.
+Replaces the password list of the specified user with a single new password. If a `username` is not provided in the JSON request body, it replaces the password list of the authenticated user making this request instead.
### Request {#put-request}
@@ -33,6 +33,7 @@ Replaces the password list of the user making this request with a single new pas
```json
{
+ "username": "The username of the affected user. If missing, default to the authenticated user.",
"new_password": "the new (single) password"
}
```
@@ -49,6 +50,7 @@ The request must contain a JSON object with the following fields:
| Field | Type | Description |
|-------|------|-------------|
+| username | string | (Optional) The username of the affected user. If missing, defaults to the authenticated user. |
| new_password | string | The new password (required) |
### Response {#put-response}
@@ -65,6 +67,8 @@ The following are possible `error_code` values:
|------|-------------|
| password_not_complex | The given password is not complex enough (Only work when the password_complexity feature is enabled). |
| new_password_same_as_current | The given new password is identical to one of the already existing passwords. |
+| user_not_exist | User does not exist. |
+| unauthorized_action | Updating another user's password is acceptable by an admin user only. |
### Status codes {#put-status-codes}
@@ -73,12 +77,14 @@ The following are possible `error_code` values:
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success, password changed. |
| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Bad or missing parameters. |
| [401 Unauthorized](https://www.rfc-editor.org/rfc/rfc9110.html#name-401-unauthorized) | The user is unauthorized. |
+| [403 Forbidden](https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden) | Insufficient privileges. |
+| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | User not found. |
## Add password {#add-password}
POST /v1/users/password
-Adds a new password to the password list of the user making this request. The request authentication header must include the relevant username and password.
+Adds a new password to the specified user's password list. If a `username` is not provided in the JSON request body, it adds the password to the password list of the authenticated user making this request instead.
### Request {#post-request}
@@ -90,6 +96,7 @@ Adds a new password to the password list of the user making this request. The re
```json
{
+ "username": "The username of the affected user. If missing, default to the authenticated user.",
"new_password": "a password to add"
}
```
@@ -106,6 +113,7 @@ The request must contain a JSON object with the following fields:
| Field | Type | Description |
|-------|------|-------------|
+| username | string | (Optional) The username of the affected user. If missing, defaults to the authenticated user. |
| new_password | string | New password to add (required) |
### Response {#post-response}
@@ -122,6 +130,8 @@ The following are possible `error_code` values:
|------|-------------|
| password_not_complex | The given password is not complex enough (Only work when the password_complexity feature is enabled). |
| new_password_same_as_current | The given new password is identical to one of the already existing passwords. |
+| user_not_exist | User does not exist. |
+| unauthorized_action | Updating another user's password is acceptable by an admin user only. |
### Status codes {#post-status-codes}
@@ -130,12 +140,14 @@ The following are possible `error_code` values:
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success, new password was added to the list of valid passwords. |
| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Bad or missing parameters. |
| [401 Unauthorized](https://www.rfc-editor.org/rfc/rfc9110.html#name-401-unauthorized) | The user is unauthorized. |
+| [403 Forbidden](https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden) | Insufficient privileges. |
+| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | User not found. |
## Delete password {#delete-password}
DELETE /v1/users/password
-Deletes a password from the password list of the user making this request. The request authentication header must include the relevant username and password.
+Deletes a password from the specified user's password list. If a `username` is not provided in the JSON request body, it deletes the password from the password list of the authenticated user making this request instead.
### Request {#delete-request}
@@ -147,7 +159,8 @@ Deletes a password from the password list of the user making this request. The r
```json
{
- "old_password": "an existing password"
+ "username": "The username of the affected user. If missing, default to the authenticated user.",
+ "old_password": "an existing password to delete"
}
```
@@ -163,6 +176,7 @@ The request must contain a JSON object with the following fields:
| Field | Type | Description |
|-------|------|-------------|
+| username | string | (Optional) The username of the affected user. If missing, defaults to the authenticated user. |
| old_password | string | Existing password to be deleted (required) |
### Response {#delete-response}
@@ -175,7 +189,9 @@ The following are possible `error_code` values:
| Code | Description |
|------|-------------|
-| cannot_delete_last_password | Cannot delete the last password of a user |
+| cannot_delete_last_password | Cannot delete the last password of a user. |
+| user_not_exist | User does not exist. |
+| unauthorized_action | Updating another user's password is acceptable by an admin user only. |
### Status codes {#delete-status-codes}
@@ -184,3 +200,5 @@ The following are possible `error_code` values:
| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success, new password was deleted from the list of valid passwords. |
| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Bad or missing parameters. |
| [401 Unauthorized](https://www.rfc-editor.org/rfc/rfc9110.html#name-401-unauthorized) | The user is unauthorized. |
+| [403 Forbidden](https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden) | Insufficient privileges. |
+| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | User not found. |
diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-tba.md
new file mode 100644
index 0000000000..cf32aefd3f
--- /dev/null
+++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-tba.md
@@ -0,0 +1,262 @@
+---
+Title: Redis Enterprise Software release notes 7.22.0-tba (June 2025)
+alwaysopen: false
+categories:
+- docs
+- operate
+- rs
+compatibleOSSVersion: Redis 7.4.0
+description: license_expiration_days metric for monitoring. Bug fixes for user password management REST API requests, cluster creation and joining nodes in the Cluster Manager UI, cluster upgrades, maintenance mode snapshot cleanup, database availability API performance, and more.
+linkTitle: 7.22.0-tba (June 2025)
+weight: 89
+---
+
+[Redis Enterprise Software version 7.22.0](https://redis.io/downloads/#software) is now available!
+
+## Highlights
+
+This version offers:
+
+- `license_expiration_days` metric for monitoring
+
+- Bug fixes for user password management REST API requests, cluster creation and joining nodes in the Cluster Manager UI, cluster upgrades, maintenance mode snapshot cleanup, database availability API performance, and more
+
+## New in this release
+
+### Enhancements
+
+- Added the `license_expiration_days` metric to the [metrics stream engine]({{}}). This metric tracks the number of days until the [cluster license expires]({{}}).
+
+### Redis database versions
+
+Redis Enterprise Software version 7.22.0 includes three Redis database versions: 7.4, 7.2, and 6.2.
+
+The [default Redis database version]({{}}) is 7.4.
+
+### Redis module feature sets
+
+Redis Enterprise Software comes packaged with several modules. As of version 7.22.0, Redis Enterprise Software includes three feature sets, compatible with different Redis database versions.
+
+The following table shows which Redis modules are compatible with each Redis database version included in this release.
+
+| Redis database version | Compatible Redis modules |
+|------------------------|--------------------------|
+| 7.4 | [RediSearch 2.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md" >}})
[RedisJSON 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.8-release-notes.md" >}})
[RedisTimeSeries 1.12]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.12-release-notes.md" >}})
[RedisBloom 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.8-release-notes.md" >}}) |
+| 7.2 | [RediSearch 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes.md" >}})
[RedisJSON 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.6-release-notes.md" >}})
[RedisTimeSeries 1.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.10-release-notes.md" >}})
[RedisBloom 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.6-release-notes.md" >}}) |
+| 6.2 | [RediSearch 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.6-release-notes.md" >}})
[RedisJSON 2.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.4-release-notes.md" >}})
[RedisTimeSeries 1.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.8-release-notes.md" >}})
[RedisBloom 2.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.4-release-notes.md" >}}) |
+
+### Resolved issues
+
+- RS161290: Fixed an issue where `/v1/users/password ` REST API requests changed the password of the authenticated admin user sending the request instead of the target `username` provided in the JSON request body.
+
+- RS161222: Fixed an issue in the Cluster Manager UI that caused joining new nodes to a cluster using private IP addresses to fail.
+
+- RS161716: Fixed an issue in the Cluster Manager UI where cluster creation could fail on nodes with multiple network interfaces.
+
+- RS160378: Fixed an issue where certain processes might not terminate as expected during cluster upgrades due to timeouts.
+
+- RS122458: Fixed an issue where old snapshots were not properly deleted when turning off maintenance mode with the `skip_shards_restore` option.
+
+- RS161301: Fixed an issue where the DMC proxy could crash when using `CLIENT REPLY OFF`.
+
+- RS157762: Fixed an issue where certain operations could fail with `No such state: error`.
+
+- RS160914: Fixed slow response times for database availability API requests.
+
+## Version changes
+
+### Supported platforms
+
+The following table provides a snapshot of supported platforms as of this Redis Enterprise Software release. See the [supported platforms reference]({{< relref "/operate/rs/references/supported-platforms" >}}) for more details about operating system compatibility.
+
+✅ Supported – The platform is supported for this version of Redis Enterprise Software and Redis Stack modules.
+
+:warning: Deprecation warning – The platform is still supported for this version of Redis Enterprise Software, but support will be removed in a future release.
+
+| Redis Software
major versions | 7.22 | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 |
+|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|
+| **Release date** | May 2025 | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 |
+| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | May 2027 | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 |
+| **Platforms** | | | | | | |
+| RHEL 9 &
compatible distros[1](#table-note-1) | ✅ | ✅ | ✅ | – | – | – |
+| RHEL 9
FIPS mode[5](#table-note-5) | ✅ | ✅ | – | – | – | – |
+| RHEL 8 &
compatible distros[1](#table-note-1) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | – | :warning: | ✅ | ✅ |
+| Ubuntu 22.04[2](#table-note-2) | ✅ | ✅ | – | – | – | – |
+| Ubuntu 20.04[2](#table-note-2) | ✅ | ✅ | ✅ | ✅ | ✅ | – |
+| Ubuntu 18.04[2](#table-note-2) | – | – | :warning: | :warning: | ✅ | ✅ |
+| Ubuntu 16.04[2](#table-note-2) | – | – | – | :warning: | ✅ | ✅ |
+| Amazon Linux 2 | ✅ | ✅ | ✅ | ✅ | ✅ | – |
+| Amazon Linux 1 | – | – | – | ✅ | ✅ | ✅ |
+| Kubernetes[3](#table-note-3) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| Docker[4](#table-note-4) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+
+1. The RHEL-compatible distributions CentOS, CentOS Stream, Alma, and Rocky are supported if they have full RHEL compatibility. Oracle Linux running the Red Hat Compatible Kernel (RHCK) is supported, but the Unbreakable Enterprise Kernel (UEK) is not supported.
+
+2. The server version of Ubuntu is recommended for production installations. The desktop version is only recommended for development deployments.
+
+3. See the [Redis Enterprise for Kubernetes documentation]({{< relref "/operate/kubernetes/reference/supported_k8s_distributions" >}}) for details about support per version and Kubernetes distribution.
+
+4. [Docker images]({{< relref "/operate/rs/installing-upgrading/quickstarts/docker-quickstart" >}}) of Redis Enterprise Software are certified for development and testing only.
+
+5. Supported only if [FIPS was enabled during RHEL installation](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/switching-rhel-to-fips-mode_security-hardening#proc_installing-the-system-with-fips-mode-enabled_switching-rhel-to-fips-mode) to ensure FIPS compliance.
+
+## Downloads
+
+The following table shows the SHA256 checksums for the available packages:
+
+| Package | SHA256 checksum (7.22.0-tba June release) |
+|---------|---------------------------------------|
+| Ubuntu 20 | |
+| Ubuntu 22 | |
+| Red Hat Enterprise Linux (RHEL) 8 | |
+| Red Hat Enterprise Linux (RHEL) 9 | |
+| Amazon Linux 2 | |
+
+## Known issues
+
+- RS131972: Creating an ACL that contains a line break in the Cluster Manager UI can cause shard migration to fail due to ACL errors.
+
+- RS155734: Endpoint availability metrics do not work as expected due to a calculation error.
+
+- RS156391: The `job_scheduler`'s memory usage can increase significantly when the diagnostic logging service is enabled.
+
+- RS153589: The metrics stream engine preview reports incorrect latency metrics.
+
+## Known limitations
+
+#### Upload modules before OS upgrade
+
+If the cluster contains any databases that use modules, you must upload module packages for the target OS version to a node in the existing cluster before you upgrade the cluster's operating system.
+
+See [Upgrade a cluster's operating system]({{}}) for detailed upgrade instructions.
+
+#### New Cluster Manager UI limitations
+
+The following legacy UI features are not yet available in the new Cluster Manager UI:
+
+- Purge an Active-Active instance.
+
+ Use [`crdb-cli crdb purge-instance`]({{< relref "/operate/rs/references/cli-utilities/crdb-cli/crdb/purge-instance" >}}) instead.
+
+- Search and export the log.
+
+#### RedisGraph prevents upgrade to RHEL 9
+
+You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Enterprise Software cluster contains a RedisGraph module, even if unused by any database. The [RedisGraph module has reached End-of-Life](https://redis.com/blog/redisgraph-eol/) and is completely unavailable in RHEL 9.
+
+#### Query results might include hash keys with lazily expired fields
+
+If one or more fields of a hash key expire after an `FT.SEARCH` or `FT.AGGREGATE` query begins, Redis does not account for these lazily expired fields. As a result, keys with expired fields might still be included in the query results, leading to potentially incorrect or inconsistent results.
+
+#### Active defragmentation does not stop mid-key for JSON
+
+Active defragmentation does not stop mid-key for JSON data. Large keys are defragmented in full, which might cause latency spikes.
+
+## Security
+
+#### Open source Redis security fixes compatibility
+
+As part of Redis's commitment to security, Redis Enterprise Software implements the latest [security fixes](https://github.com/redis/redis/releases) available with [open source Redis](https://github.com/redis/redis). Redis Enterprise Software has already included the fixes for the relevant CVEs.
+
+Some CVEs announced for open source Redis do not affect Redis Enterprise Software due to different or additional functionality available in Redis Enterprise Software that is not available in open source Redis.
+
+Redis Enterprise Software 7.22.0-tba supports open source Redis 7.4, 7.2, and 6.2. Below is the list of open source Redis CVEs fixed by version.
+
+Redis 7.4.x:
+
+- (CVE-2025-21605) An unauthenticated client can cause unlimited growth of output buffers until the server runs out of memory or is terminated, which can lead to denial-of-service.
+
+Redis 7.2.x:
+
+- (CVE-2025-21605) An unauthenticated client can cause unlimited growth of output buffers until the server runs out of memory or is terminated, which can lead to denial-of-service.
+
+- (CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution.
+
+- (CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as `KEYS`, `SCAN`, `PSUBSCRIBE`, `FUNCTION LIST`, `COMMAND LIST`, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes.
+
+- (CVE-2023-41056) In some cases, Redis may incorrectly handle resizing of memory buffers, which can result in incorrect accounting of buffer sizes and lead to heap overflow and potential remote code execution.
+
+- (CVE-2023-41053) Redis does not correctly identify keys accessed by `SORT_RO` and, as a result, may grant users executing this command access to keys that are not explicitly authorized by the ACL configuration. (Redis 7.2.1)
+
+Redis 7.0.x:
+
+- (CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution.
+
+- (CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as `KEYS`, `SCAN`, `PSUBSCRIBE`, `FUNCTION LIST`, `COMMAND LIST`, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes.
+
+- (CVE-2023-41056) In some cases, Redis may incorrectly handle resizing of memory buffers, which can result in incorrect accounting of buffer sizes and lead to heap overflow and potential remote code execution.
+
+- (CVE-2023-41053) Redis does not correctly identify keys accessed by `SORT_RO` and, as a result, may grant users executing this command access to keys that are not explicitly authorized by the ACL configuration. (Redis 7.0.13)
+
+- (CVE-2023-36824) Extracting key names from a command and a list of arguments may, in some cases, trigger a heap overflow and result in reading random heap memory, heap corruption, and potentially remote code execution. Specifically: using `COMMAND GETKEYS*` and validation of key names in ACL rules. (Redis 7.0.12)
+
+- (CVE-2023-28856) Authenticated users can use the `HINCRBYFLOAT` command to create an invalid hash field that will crash Redis on access. (Redis 7.0.11)
+
+- (CVE-2023-28425) Specially crafted `MSETNX` commands can lead to assertion and denial-of-service. (Redis 7.0.10)
+
+- (CVE-2023-25155) Specially crafted `SRANDMEMBER`, `ZRANDMEMBER`, and `HRANDFIELD` commands can trigger an integer overflow, resulting in a runtime assertion and termination of the Redis server process. (Redis 7.0.9)
+
+- (CVE-2023-22458) Integer overflow in the Redis `HRANDFIELD` and `ZRANDMEMBER` commands can lead to denial-of-service. (Redis 7.0.8)
+
+- (CVE-2022-36021) String matching commands (like `SCAN` or `KEYS`) with a specially crafted pattern to trigger a denial-of-service attack on Redis can cause it to hang and consume 100% CPU time. (Redis 7.0.9)
+
+- (CVE-2022-35977) Integer overflow in the Redis `SETRANGE` and `SORT`/`SORT_RO` commands can drive Redis to OOM panic. (Redis 7.0.8)
+
+- (CVE-2022-35951) Executing an `XAUTOCLAIM` command on a stream key in a specific state, with a specially crafted `COUNT` argument, may cause an integer overflow, a subsequent heap overflow, and potentially lead to remote code execution. The problem affects Redis versions 7.0.0 or newer. (Redis 7.0.5)
+
+- (CVE-2022-31144) A specially crafted `XAUTOCLAIM` command on a stream key in a specific state may result in heap overflow and potentially remote code execution. The problem affects Redis versions 7.0.0 or newer. (Redis 7.0.4)
+
+- (CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger a heap overflow in the cjson and cmsgpack libraries, and result in heap corruption and potentially remote code execution. The problem exists in all versions of Redis with Lua scripting support, starting from 2.6, and affects only authenticated and authorized users. (Redis 7.0.12)
+
+- (CVE-2022-24736) An attacker attempting to load a specially crafted Lua script can cause NULL pointer dereference which will result in a crash of the `redis-server` process. This issue affects all versions of Redis. (Redis 7.0.0)
+
+- (CVE-2022-24735) By exploiting weaknesses in the Lua script execution environment, an attacker with access to Redis can inject Lua code that will execute with the (potentially higher) privileges of another Redis user. (Redis 7.0.0)
+
+Redis 6.2.x:
+
+- (CVE-2025-21605) An unauthenticated client can cause unlimited growth of output buffers until the server runs out of memory or is terminated, which can lead to denial-of-service.
+
+- (CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution.
+
+- (CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as `KEYS`, `SCAN`, `PSUBSCRIBE`, `FUNCTION LIST`, `COMMAND LIST`, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes.
+
+- (CVE-2023-28856) Authenticated users can use the `HINCRBYFLOAT` command to create an invalid hash field that will crash Redis on access. (Redis 6.2.12)
+
+- (CVE-2023-25155) Specially crafted `SRANDMEMBER`, `ZRANDMEMBER`, and `HRANDFIELD` commands can trigger an integer overflow, resulting in a runtime assertion and termination of the Redis server process. (Redis 6.2.11)
+
+- (CVE-2023-22458) Integer overflow in the Redis `HRANDFIELD` and `ZRANDMEMBER` commands can lead to denial-of-service. (Redis 6.2.9)
+
+- (CVE-2022-36021) String matching commands (like `SCAN` or `KEYS`) with a specially crafted pattern to trigger a denial-of-service attack on Redis can cause it to hang and consume 100% CPU time. (Redis 6.2.11)
+
+- (CVE-2022-35977) Integer overflow in the Redis `SETRANGE` and `SORT`/`SORT_RO` commands can drive Redis to OOM panic. (Redis 6.2.9)
+
+- (CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger a heap overflow in the cjson and cmsgpack libraries, and result in heap corruption and potentially remote code execution. The problem exists in all versions of Redis with Lua scripting support, starting from 2.6, and affects only authenticated and authorized users. (Redis 6.2.13)
+
+- (CVE-2022-24736) An attacker attempting to load a specially crafted Lua script can cause NULL pointer dereference which will result in a crash of the `redis-server` process. This issue affects all versions of Redis. (Redis 6.2.7)
+
+- (CVE-2022-24735) By exploiting weaknesses in the Lua script execution environment, an attacker with access to Redis can inject Lua code that will execute with the (potentially higher) privileges of another Redis user. (Redis 6.2.7)
+
+- (CVE-2021-41099) Integer to heap buffer overflow handling certain string commands and network payloads, when `proto-max-bulk-len` is manually configured to a non-default, very large value. (Redis 6.2.6)
+
+- (CVE-2021-32762) Integer to heap buffer overflow issue in `redis-cli` and `redis-sentinel` parsing large multi-bulk replies on some older and less common platforms. (Redis 6.2.6)
+
+- (CVE-2021-32761) An integer overflow bug in Redis version 2.2 or newer can be exploited using the `BITFIELD` command to corrupt the heap and potentially result with remote code execution. (Redis 6.2.5)
+
+- (CVE-2021-32687) Integer to heap buffer overflow with intsets, when `set-max-intset-entries` is manually configured to a non-default, very large value. (Redis 6.2.6)
+
+- (CVE-2021-32675) Denial Of Service when processing RESP request payloads with a large number of elements on many connections. (Redis 6.2.6)
+
+- (CVE-2021-32672) Random heap reading issue with Lua Debugger. (Redis 6.2.6)
+
+- (CVE-2021-32628) Integer to heap buffer overflow handling ziplist-encoded data types, when configuring a large, non-default value for `hash-max-ziplist-entries`, `hash-max-ziplist-value`, `zset-max-ziplist-entries` or `zset-max-ziplist-value`. (Redis 6.2.6)
+
+- (CVE-2021-32627) Integer to heap buffer overflow issue with streams, when configuring a non-default, large value for `proto-max-bulk-len` and `client-query-buffer-limit`. (Redis 6.2.6)
+
+- (CVE-2021-32626) Specially crafted Lua scripts may result with Heap buffer overflow. (Redis 6.2.6)
+
+- (CVE-2021-32625) An integer overflow bug in Redis version 6.0 or newer can be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. This is a result of an incomplete fix by CVE-2021-29477. (Redis 6.2.4)
+
+- (CVE-2021-29478) An integer overflow bug in Redis 6.2 could be exploited to corrupt the heap and potentially result with remote code execution. The vulnerability involves changing the default set-max-intset-entries configuration value, creating a large set key that consists of integer values and using the COPY command to duplicate it. The integer overflow bug exists in all versions of Redis starting with 2.6, where it could result with a corrupted RDB or DUMP payload, but not exploited through COPY (which did not exist before 6.2). (Redis 6.2.3)
+
+- (CVE-2021-29477) 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 in remote code execution. The integer overflow bug exists in all versions of Redis starting with 6.0. (Redis 6.2.3)
diff --git a/content/operate/rs/security/access-control/manage-passwords/rotate-passwords.md b/content/operate/rs/security/access-control/manage-passwords/rotate-passwords.md
index 04db1a0ea6..3d214c3a82 100644
--- a/content/operate/rs/security/access-control/manage-passwords/rotate-passwords.md
+++ b/content/operate/rs/security/access-control/manage-passwords/rotate-passwords.md
@@ -41,37 +41,46 @@ The new password cannot already exist as a password for the user and must meet t
## Rotate password
-To rotate your password:
+To rotate passwords:
-1. Add an additional password to your password list with [`POST /v1/users/password`]({{< relref "/operate/rs/references/rest-api/requests/users/password#add-password" >}}). You must provide the relevant username and current password for [basic authentication]({{}}) credentials when you send the request.
+1. Add an additional password to a user's password list with [`POST /v1/users/password`]({{< relref "/operate/rs/references/rest-api/requests/users/password#add-password" >}}).
```sh
POST https://:/v1/users/password
- { "new_password": "" }
+ {
+ "username": "",
+ "new_password": ""
+ }
```
- After you send this request, you can authenticate with both the old and the new password.
+ After you send this request, the user can authenticate with both the old and the new password.
1. Update the password in all database connections that connect with the user account.
-1. Delete the original password with [`DELETE /v1/users/password`]({{< relref "/operate/rs/references/rest-api/requests/users/password#update-password" >}}):
+1. Delete the original password with [`DELETE /v1/users/password`]({{< relref "/operate/rs/references/rest-api/requests/users/password#delete-password" >}}):
```sh
DELETE https://:/v1/users/password
- { "old_password": "" }
+ {
+ "username": "",
+ "old_password": ""
+ }
```
If there is only one valid password for a user account, you cannot delete that password.
## Replace all passwords
-You can also replace all existing passwords for your user account with a single password that does not match any existing passwords.
+You can also replace all existing passwords for a user account with a single password that does not match any existing passwords.
This can be helpful if you suspect that your passwords are compromised and you want to quickly resecure the account.
-To replace your passwords, use [`PUT /v1/users/password`]({{< relref "/operate/rs/references/rest-api/requests/users/password#delete-password" >}}). You must provide the relevant username and current password for [basic authentication]({{}}) credentials when you send the request.
+To replace a user's passwords, use [`PUT /v1/users/password`]({{< relref "/operate/rs/references/rest-api/requests/users/password#update-password" >}}).
```sh
PUT https://:/v1/users/password
-{ "new_password": "" }
+{
+ "username": "",
+ "new_password": ""
+}
```
-After this request, all of your existing passwords are deleted and only the new password is valid.
+After this request, all of the user's existing passwords are deleted and only the new password is valid.