Clojure 1.11.2
Clojure 1.11.2 and 1.12.0-alpha9 are now available. These releases include a fix for CVE CVE-2024-22871 detailed in GHSA-vr64-r9qj-h27f : CLJ-2839 - iterate , cycle , repeat - infinite seqs have infinite hashCode()

Clojure, a popular functional programming language, has recently released two updates: version 1.11.2 and the alpha9 version of 1.12.0. These updates are significant because they address a critical security vulnerability that could have serious implications for users. The issue, identified as CVE-2024-22871 and detailed in GHSA-vr64-r9qj-h27f, is linked to a specific problem in the handling of infinite sequences in Clojure.
The vulnerability, known as CLJ-2839, affects the `iterate`, `cycle`, and `repeat` functions in Clojure. These functions are used to generate infinite sequences, which are sequences that never terminate. The problem arises because these infinite sequences were generating infinite hash codes, which could lead to denial-of-service attacks or other security issues. By fixing this issue, the updates ensure that these functions now produce finite hash codes, thereby mitigating the risk.
The Clojure team has been proactive in addressing this vulnerability, releasing the fixes in both the 1.11.2 and 1.12.0-alpha9 versions. This demonstrates their commitment to maintaining the security and reliability of the language. Users who rely on the `iterate`, `cycle`, and `repeat` functions should update to these versions to avoid potential security risks.
In addition to the security fix, the updates also include other improvements and bug fixes. For instance, the 1.12.0-alpha9 version introduces new features and enhancements that are part of the ongoing development of the language. These updates are crucial for developers who are using Clojure in production environments or contributing to open-source projects.
The release of these updates highlights the importance of regular software updates and the need for developers to stay vigilant about security vulnerabilities. Clojure, being a mature and widely-used language, takes these responsibilities seriously, ensuring that its users can continue to rely on its stability and security.
For those unfamiliar with Clojure, it is a dynamic, general-purpose programming language that emphasizes immutability, functional programming, and interoperability with Java. Its features make it suitable for a wide range of applications, from web development to data analysis. The language's strong community and active development contribute to its continued growth and improvement.
In conclusion, the release of Clojure 1.11.2 and 1.12.0-alpha9 is a significant step towards securing the language against known vulnerabilities. By addressing the CLJ-2839 issue, these updates ensure that infinite sequences in Clojure no longer pose a security risk. As with any software update, it is recommended that users upgrade to the latest versions to benefit from these improvements and stay protected against potential threats.










