CVE-2023-28859 json
redis-py Race Condition due to incomplete fix
published 2023-03-26 3 y ago modified 2026-06-17 4 mo ago also GHSA-8fww-64cx-x8p5 , PYSEC-2023-46 , EUVD-2023-0223
- cvss
- 6.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 63%
- public exploits
- 0
- none known
Summary
redis-py before 4.4.4 and 4.5.x before 4.5.4 leaves a connection open after canceling an async Redis command at an inopportune time, and can send response data to the client of an unrelated request. (This could, for example, happen for a non-pipeline operation.) NOTE: the solutions for CVE-2023-28859 address data leakage across AsyncIO connections in general.
Patch / fix
- pypi redis 4.4.4, 4.5.4
- redis redis-py 4.4.4, 4.5.4
- python-pip SLE Module for Python 3 15 SP6, SLE Module for Python 3 15 SP5, SLE Module for Public Cloud 15 SP4 +2 more 22.3.1-150400.17.16.4
- python-scp SLE Module for Python 3 15 SP6, SLE Module for Python 3 15 SP5, SLE Module for Public Cloud 15 SP4 +2 more 0.14.5-150400.12.7.4
- python-avro SLE Module for Public Cloud 15 SP6, SLE Module for Public Cloud 15 SP5, SLE Module for Public Cloud 15 SP4 +2 more 1.11.3-150400.10.4.1
- python-sure SLE Module for Public Cloud 15 SP5, SLE Module for Public Cloud 15 SP4, openSUSE Leap 15.5 2.0.1-150400.12.4.4
- python-tqdm SLE Module for Python 3 15 SP6, SLE Module for Python 3 15 SP5, SLE Module for Public Cloud 15 SP4 +2 more 4.66.1-150400.9.7.4
- python-yarl SLE Module for Python 3 15 SP6, SLE Module for Python 3 15 SP5, SLE Module for Public Cloud 15 SP4 +2 more 1.9.2-150400.8.7.4
- python-zipp SLE Module for Python 3 15 SP5, SLE Module for Public Cloud 15 SP4, openSUSE Leap 15.6 +1 more 3.15.0-150400.10.7.1
- python-knack SLE Module for Public Cloud 15 SP6, SLE Module for Public Cloud 15 SP5, SLE Module for Public Cloud 15 SP4 +2 more 0.11.0-150400.10.4.4
suse advisories SUSE-SU-2024:1639-1SUSE-SU-2024:1639-2
- python-redis openSUSE Tumbleweed 7.0.1-2.5
opensuse advisories openSUSE-SU-2026:12036-1
- py3-redis Alpine 3.24, Alpine 3.23, Alpine 3.22 +4 more 4.5.4-r0
alpine advisories ALPINE-CVE-2023-28859
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/redis/redis-py@66a4d6b commit
- github.com/redis/redis-py@b3c89ac commit
- github.com/redis/redis-py#2641 pull request
- github.com/redis/redis-py#2666 pull request
- github.com/redis/redis-py#1899 pull request
- github.com/redis/redis-py#2671 pull request
- github.com/redis/redis-py/releases/tag/v4.4.4 release
- github.com/redis/redis-py/releases/tag/v4.5.4 release
- github.com/redis/redis-py/issues/2665 advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2023-28859 updated cvss 4.3
redis: Async command information disclosure
-
Red Hat Ansible Automation Platform 1.2 ansible-toweraffected: no fix planned “Will not fix”
-
Red Hat OpenStack Platform 13 (Queens) redisaffected: no fix planned “Out of support scope”
-
Red Hat Quay 3 quay/quay-rhel8affected: no fix available
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 20 mo ago
Exploit prediction
1.03% chance of exploitation in the next 30 days, higher than 63% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | redis | >=4.5.0, <4.5.4 >=4.2.0, <4.4.4 |
4.5.4 4.4.4 |
Classification
- Weakness
-
- CWE-459 Incomplete Cleanup
References
-
github.com
/redis/redis-py/pull/2641
web, issue-tracking, patch
-
github.com
/redis/redis-py/pull/2666
web, release-notes
-
github.com
/redis/redis-py/issues/2665
web, issue-tracking, patch, vendor-advisory, report
-
github.com
/redis/redis-py/pull/1899
web
-
github.com
/redis/redis-py/pull/2671
web
-
github.com
/redis/redis-py/commit/66a4d6b2a493dd3a20cc299ab5fef3c14baad965
web
-
github.com
/redis/redis-py/commit/b3c89acd0ffe8303649ad8207bc911b1d6a033eb
web
-
github.com
/redis/redis-py/releases/tag/v4.4.4
web, release-notes
-
github.com
/redis/redis-py/releases/tag/v4.5.4
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2023-28859
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/redis/PYSEC-2023-46.yaml
web
-
github.com
/redis/redis-py
package
-
github.com
/advisories/GHSA-8fww-64cx-x8p5
advisory
Sources
- CVE List CVE-2023-28859
- GitHub Advisory GHSA-8fww-64cx-x8p5
- NVD CVE-2023-28859
- OSV PYSEC-2023-46
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.