CVE Vulnerabilities

CVE-2024-22871

Deserialization of Untrusted Data

Published: Feb 29, 2024 | Modified: Nov 04, 2025
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

An issue in Clojure versions 1.20 to 1.12.0-alpha5 allows an attacker to cause a denial of service (DoS) via the clojure.core$partial$fn__5920 function.

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

NameVendorStart VersionEnd Version
ClojureClojure1.2.0 (including)1.11.2 (excluding)
ClojureClojure1.12.0-alpha1 (including)1.12.0-alpha1 (including)
ClojureClojure1.12.0-alpha2 (including)1.12.0-alpha2 (including)
ClojureClojure1.12.0-alpha3 (including)1.12.0-alpha3 (including)
ClojureClojure1.12.0-alpha4 (including)1.12.0-alpha4 (including)
ClojureClojure1.12.0-alpha5 (including)1.12.0-alpha5 (including)
ClojureClojure1.12.0-alpha6 (including)1.12.0-alpha6 (including)
ClojureClojure1.12.0-alpha7 (including)1.12.0-alpha7 (including)
ClojureClojure1.12.0-alpha8 (including)1.12.0-alpha8 (including)
ClojureUbuntufocal*
ClojureUbuntumantic*
ClojureUbuntuoracular*
ClojureUbuntuplucky*

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References