CVE-2023-27531 is a medium-severity (CVSS 5.3) Deserialization of Untrusted Data vulnerability in kredis. A fix is available for kredis — see the affected versions and patch details below.
Kredis JSON Possible Deserialization of Untrusted Data Vulnerability
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2023-27531.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
kredisReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects RubyGems packages — download data is not available via public APIs for these ecosystems.
Description
There is a deserialization of untrusted data vulnerability in the Kredis JSON deserialization code. This vulnerability has been assigned the CVE identifier CVE-2023-27531.
'Not affected: None.' 'Versions Affected: All.' 'Fixed Versions: 1.3.0.1'
Impact Carefully crafted JSON data processed by Kredis may result in deserialization of untrusted data, potentially leading to deserialization of unexpected objects in the system.
Any applications using Kredis with JSON are affected.
Releases The fixed releases are available at the normal locations.
Workarounds There are no feasible workarounds for this issue.
Patches To aid users who aren’t able to upgrade immediately we have provided patches for the two supported release series. They are in git-am format and consist of a single changeset.
- 1-3-0-1-kredis.patch - Patch for 1.3.0 series
Credits Thank you ooooooo_k 7 for reporting this!
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 💎RubyGems | kredis | all versions | 1.3.0.1bundle update kredis --conservative |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for kredis, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update kredis to 1.3.0.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2023-27531 is resolved across your whole dependency graph.
Workarounds
Do not deserialise data from untrusted sources: where the format allows it, restrict deserialisation to an explicit allowlist of expected types, and prefer a data-only format (JSON, Protobuf) over one that can reconstruct arbitrary objects until you can upgrade.
Frequently Asked Questions
Is CVE-2023-27531 in your dependencies?
Find it across RubyGems, including transitive dependencies.