nim-lang CVE Vulnerabilities & Metrics

Focus on nim-lang vulnerabilities and metrics.

Last updated: 08 Mar 2025, 23:25 UTC

About nim-lang Security Exposure

This page consolidates all known Common Vulnerabilities and Exposures (CVEs) associated with nim-lang. We track both calendar-based metrics (using fixed periods) and rolling metrics (using gliding windows) to give you a comprehensive view of security trends and risk evolution. Use these insights to assess risk and plan your patching strategy.

For a broader perspective on cybersecurity threats, explore the comprehensive list of CVEs by vendor and product. Stay updated on critical vulnerabilities affecting major software and hardware providers.

Global CVE Overview

Total nim-lang CVEs: 11
Earliest CVE date: 14 Aug 2020, 19:15 UTC
Latest CVE date: 13 Jan 2023, 06:15 UTC

Latest CVE reference: CVE-2021-46872

Rolling Stats

30-day Count (Rolling): 0
365-day Count (Rolling): 0

Calendar-based Variation

Calendar-based Variation compares a fixed calendar period (e.g., this month versus the same month last year), while Rolling Growth Rate uses a continuous window (e.g., last 30 days versus the previous 30 days) to capture trends independent of calendar boundaries.

Variations & Growth

Month Variation (Calendar): 0%
Year Variation (Calendar): 0%

Month Growth Rate (30-day Rolling): 0.0%
Year Growth Rate (365-day Rolling): 0.0%

Monthly CVE Trends (current vs previous Year)

Annual CVE Trends (Last 20 Years)

Critical nim-lang CVEs (CVSS ≥ 9) Over 20 Years

CVSS Stats

Average CVSS: 5.6

Max CVSS: 10.0

Critical CVEs (≥9): 1

CVSS Range vs. Count

Range Count
0.0-3.9 1
4.0-6.9 8
7.0-8.9 1
9.0-10.0 1

CVSS Distribution Chart

Top 5 Highest CVSS nim-lang CVEs

These are the five CVEs with the highest CVSS scores for nim-lang, sorted by severity first and recency.

All CVEs for nim-lang

CVE-2021-46872 nim-lang vulnerability CVSS: 0 13 Jan 2023, 06:15 UTC

An issue was discovered in Nim before 1.6.2. The RST module of the Nim language stdlib, as used in NimForum and other products, permits the javascript: URI scheme and thus can lead to XSS in some applications. (Nim versions 1.6.2 and later are fixed; there may be backports of the fix to some earlier versions. NimForum 2.2.0 is fixed.)

CVE-2022-23602 nim-lang vulnerability CVSS: 5.5 01 Feb 2022, 11:15 UTC

Nimforum is a lightweight alternative to Discourse written in Nim. In versions prior to 2.2.0 any forum user can create a new thread/post with an include referencing a file local to the host operating system. Nimforum will render the file if able. This can also be done silently by using NimForum's post "preview" endpoint. Even if NimForum is running as a non-critical user, the forum.json secrets can be stolen. Version 2.2.0 of NimForum includes patches for this vulnerability. Users are advised to upgrade as soon as is possible. There are no known workarounds for this issue.

CVE-2020-23171 nim-lang vulnerability CVSS: 4.3 10 Aug 2021, 17:15 UTC

A vulnerability in all versions of Nim-lang allows unauthenticated attackers to write files to arbitrary directories via a crafted zip file with dot-slash characters included in the name of the crafted file.

CVE-2021-29495 nim-lang vulnerability CVSS: 5.0 07 May 2021, 16:15 UTC

Nim is a statically typed compiled systems programming language. In Nim standard library before 1.4.2, httpClient SSL/TLS certificate verification was disabled by default. Users can upgrade to version 1.4.2 to receive a patch or, as a workaround, set "verifyMode = CVerifyPeer" as documented.

CVE-2021-21374 nim-lang vulnerability CVSS: 6.8 26 Mar 2021, 22:15 UTC

Nimble is a package manager for the Nim programming language. In Nim release versions before versions 1.2.10 and 1.4.4, "nimble refresh" fetches a list of Nimble packages over HTTPS without full verification of the SSL/TLS certificate due to the default setting of httpClient. An attacker able to perform MitM can deliver a modified package list containing malicious software packages. If the packages are installed and used the attack escalates to untrusted code execution.

CVE-2021-21373 nim-lang vulnerability CVSS: 4.3 26 Mar 2021, 22:15 UTC

Nimble is a package manager for the Nim programming language. In Nim release versions before versions 1.2.10 and 1.4.4, "nimble refresh" fetches a list of Nimble packages over HTTPS by default. In case of error it falls back to a non-TLS URL http://irclogs.nim-lang.org/packages.json. An attacker able to perform MitM can deliver a modified package list containing malicious software packages. If the packages are installed and used the attack escalates to untrusted code execution.

CVE-2021-21372 nim-lang vulnerability CVSS: 6.8 26 Mar 2021, 22:15 UTC

Nimble is a package manager for the Nim programming language. In Nim release version before versions 1.2.10 and 1.4.4, Nimble doCmd is used in different places and can be leveraged to execute arbitrary commands. An attacker can craft a malicious entry in the packages.json package list to trigger code execution.

CVE-2020-15690 nim-lang vulnerability CVSS: 7.5 30 Jan 2021, 06:15 UTC

In Nim before 1.2.6, the standard library asyncftpclient lacks a check for whether a message contains a newline character.

CVE-2020-15694 nim-lang vulnerability CVSS: 5.0 14 Aug 2020, 19:15 UTC

In Nim 1.2.4, the standard library httpClient fails to properly validate the server response. For example, httpClient.get().contentLength() does not raise any error if a malicious server provides a negative Content-Length.

CVE-2020-15693 nim-lang vulnerability CVSS: 6.4 14 Aug 2020, 19:15 UTC

In Nim 1.2.4, the standard library httpClient is vulnerable to a CR-LF injection in the target URL. An injection is possible if the attacker controls any part of the URL provided in a call (such as httpClient.get or httpClient.post), the User-Agent header value, or custom HTTP header names or values.

CVE-2020-15692 nim-lang vulnerability CVSS: 10.0 14 Aug 2020, 19:15 UTC

In Nim 1.2.4, the standard library browsers mishandles the URL argument to browsers.openDefaultBrowser. This argument can be a local file path that will be opened in the default explorer. An attacker can pass one argument to the underlying open command to execute arbitrary registered system commands.