CVE-2021-35331
NixOS vulnerability analysis and mitigation

Overview

CVE-2021-35331 is a disputed format string vulnerability discovered in Tcl 8.6.11, specifically in the nmakehlp.c file. The vulnerability was reported on June 22, 2021, and could potentially allow code execution via a crafted file. The issue affects Tcl version 8.6.11, though multiple third parties have disputed the significance of this finding (NVD, CVE).

Technical details

The vulnerability exists in the 'SubstituteFile' function within nmakehlp.c, where a 'printf' statement accepts a format string as an argument that originates from user-controlled input. The issue received a CVSS v3.1 base score of 7.8 (High), with the vector string CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H. The vulnerability is classified as CWE-134 (Use of Externally-Controlled Format String) (NVD, Tcl Ticket).

Impact

While initially reported as potentially allowing code execution through a crafted file, the actual impact is disputed. The vulnerability exists in a build helper tool used during compilation, not in the runtime execution of Tcl itself. Several security experts have argued that this is not a significant security issue as it only affects the build process under controlled conditions (SQLite Forum).

Exploitability

The exploitability of this vulnerability is limited as it requires access to the build environment and the ability to modify build files. The vulnerable component is only used during the compilation process, and multiple third parties have disputed its practical significance. As noted by security researchers, the tool is normally used from a process governed by a Makefile with sensible arguments (SQLite Forum).

Mitigation and workarounds

The vulnerability was fixed in a commit by changing the printf(szBuffer) to printf("%s", szBuffer) and replacing a memcpy() with memmove(). The fix was implemented in Tcl's source code repository (Tcl Commit).

Community reactions

The security community's response has been notably skeptical of the vulnerability's significance. Multiple third parties, including SQLite developers, have disputed the practical impact of this finding, leading to the CVE being marked as DISPUTED. SQLite developers specifically stated 'We do not consider it a problem when somebody who builds the SQLite library has the power to sabotage their results' (SQLite Forum).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Arch Linux

Fixed

rolling

tcl: 8.6.12-1

Fixed

SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-86993MEDIUM5.9
  • NixOS logoNixOS
  • n8n
NoYesSep 08, 2026
CVE-2026-86996MEDIUM5.3
  • NixOS logoNixOS
  • n8n
NoYesSep 08, 2026
CVE-2026-86995MEDIUM5.3
  • NixOS logoNixOS
  • n8n
NoYesSep 08, 2026
CVE-2026-86994MEDIUM5.3
  • NixOS logoNixOS
  • n8n
NoYesSep 08, 2026
CVE-2026-86085MEDIUM5.1
  • NixOS logoNixOS
  • n8n
NoYesSep 08, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management