Every CVE Search/ Get API key

CVE-2021-35331

** DISPUTED ** In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code...

7.8 HighFix availableDisputed

In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code execution via a crafted file. NOTE: multiple third parties dispute the significance of this finding

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.69%Down 0.1 points since Jul 6, 2021
90%50%10%1%

What each source reports

NVD Score used 7.8

In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code execution via a crafted file. NOTE: multiple third parties dispute the significance of this finding

Record
CVE-2021-35331
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.0
6.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:P
Weakness
CWE-134
Updated
2026-11-02
CVE List No score

In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code execution via a crafted file. NOTE: multiple third parties dispute the significance of this finding

Record
CVE-2021-35331
Updated
2026-11-02
EUVDEUVD-2021-21974 No score

In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code execution via a crafted file. NOTE: multiple third parties dispute the significance of this finding

Record
EUVD-2021-21974
Updated
2026-11-03
GitHub AdvisoriesGHSA-539q-24vg-qfm4 7.8

** DISPUTED ** In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code...

** DISPUTED ** In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code execution via a crated file. NOTE: multiple third parties dispute the significance of this finding.

Record
GHSA-539q-24vg-qfm4
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-134
Updated
2026-11-02
OSVBELL-CVE-2021-35331 7.8

CVE-2021-35331 does not affect BellSoft software

Record
BELL-CVE-2021-35331
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSV 7.8

In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code execution via a crafted file. NOTE: multiple third parties dispute the significance of this finding

Record
CVE-2021-35331
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 5 moreShow less
OSVDEBIAN-CVE-2021-35331 7.8

In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code execution via a crafted file. NOTE: multiple third parties dispute the significance of this finding

Record
DEBIAN-CVE-2021-35331
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVOESA-2022-1720 7.8

tcl security update

Tcl(Tool Command Language) provides a powerful platform for creating integration applications that tie together diverse applications, protocols, devices, and frameworks. When paired with the Tk toolkit, Tcl provides the fastest and most powerful way to create GUI applications that run on linux, Unix, and Mac OS X. Tcl can also be used for a variety of web-related tasks and for creating powerful command languages for applications.

Security Fix(es):

** DISPUTED ** In Tcl 8.6.11, a format string vulnerability in nmakehlp.c might allow code execution via a crafted file. NOTE: multiple third parties dispute the significance of this finding.(CVE-2021-35331)

Record
OESA-2022-1720
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2021-35331 No score

CVE-2021-35331 in tcl8.6 - Patched by Root

Root has patched CVE-2021-35331 in the tcl8.6 package for Root:Debian:12. Multiple fixed versions available.

Record
ROOT-OS-DEBIAN-12-CVE-2021-35331
Updated
2026-11-02
OSVSUSE-FU-2022:0484-1 No score

Feature update for tcl and tk

This feature update for tcl and tk fix the following issues:

Update tcl and tk to version 8.6.12 (jsc#SLE-21015, jsc#SLE-23283):

  • Move tcl.macros to /usr/lib/rpm/macros.d (bsc#1185662)
  • Use FAT LTO objects in order to provide proper static library (bsc#1138797)
  • Fix tcl build issues on s390 architecture (bnc#1085480)
  • Fix tcl build issues caused by deprecated libieee in tcl configs (bsc#1179615, bsc#1181840)
  • Whitelist PowerPC tests that are not needed (bsc#1072657)
  • Add [combobox current] support 'end' index
  • Add fixes in [text] bindings
  • Add missing 'deferred clear code' support to GIF photo images
  • Add new virtual event <<TkWorldChanged>>
  • Add new keycodes: CodeInput, SingleCandidate, MultipleCandidate, PreviousCandidate
  • Add new support for POSIX error: EILSEQ
  • Add new command [tcl::unsupported::corotype]
  • Add new command [tcl::unsupported::timerate] for performance testing
  • Add new option -state to [ttk::scale]
  • Add portable keycodes: OE, oe, Ydiaeresis
  • Add support for backrefs in [array names -regexp]
  • Add support for Unicode 14
  • Disfavor Master/Slave terminology
  • Enhance [oo::object] to acquire or lose a class identity dynamically
  • Fix canvas rotated text overlap detection
  • Fix canvas closed polylines yo fully honor -joinstyle
  • Fix display of Long non-wrapped lines in text
  • Fix display treeview focus ring when -selectmode none
  • Fix focus events not to break entry validation
  • Fix [package prefer stable] failing case
  • Fix auto_path initialization by Safe Base interps
  • Fix bad interaction between grab and mouse pointer warp
  • Fix borderwidth calculations on menu items
  • Fix cascade tearoff menu redraw artifacts
  • Fix coords rounding when drawing canvas items
  • Fix corrupt result from [$c postscript] with -file or -channel
  • Fix errno management in socket full close
  • Fix failure when a [proc] argument name is computed, not literal
  • Fix focus on unmapped windows
  • Fix handling of duplicates in spinbox -values list
  • Fix incomplete read of multi-image GIF
  • Fix initialization order of static package in wish
  • Fix issue when trying to display angled text without Xft
  • Fix issue with font initialization when no font is installed
  • Fix problems with Noto Color Emoji font
  • Fix race conditions in [file delete] and [file mkdir]
  • Fix Std channel initialization for multi-thread operations
  • Fix tearoff menu redraw artifacts
  • Fix up arrow key in [text] to correctly move cursor to index 1.0
  • Fix various cursor issues
  • Fix various encoding issues
  • Fix various fontchooser issues
  • Fix various issues causing crashes and hang in
  • Fix various memory issues
  • Fix various scrolling bugs and add improvements
  • Fix 32/64-bit confusion of FS DIR operations reported for AIX
  • Improve appearance of text selection in [*entry] widgets
  • Improve checkbutton handling of -selectcolor
  • Improve handling of resolution changes
  • Improve multi-thread safety when Xft is in use
  • Improve ttk high-contrast-mode support
  • Improve emoji support
  • Improve legacy support for [tk_setPalette]
  • Make combobox -postoffset option work with default style
  • Make spinbox use proper names in query of option database
  • Menu flaws when empty menubar clicked
  • New index argument in [$menubutton post x y index]
  • Preserve canvas tag list order during add/delete
  • Prevent cross-manager loops of geom management
  • Rewrite of zlib inflation for multi-stream and completeness
  • Run fileevents in proper thread after [thread::attach $channel]
  • Stop [unload] corruption of list of loaded packages
  • Stop app switching exposing withdrawn windows as zombies
  • Tk now denied access to PRIMARY selection from safe interps
  • TkpDrawAngledCharsInContext leaked a CGColor
  • Try to restore Tcl's [update] command when Tk is unloaded
  • Changed [info * methods] to include mixins
  • [package require] is now NR-enabled

The following fixes might show some potential incompatibilities with existing software:

  • Revised [binary (en|de)code base64] for RFC…
Record
SUSE-FU-2022:0484-1
Updated
2026-11-02
OSVSUSE-FU-2022:0868-1 No score

Feature update for tcl and tk

This feature update for tcl and tk fixes the following issues:

Update tcl and tk to version 8.6.12 (jsc#SLE-21016, jsc#SLE-23284):

  • Move tcl.macros to /usr/lib/rpm/macros.d (bsc#1185662)
  • Use FAT LTO objects in order to provide proper static library (bsc#1138797)
  • Fix a bug in itcl that was affecting iwidgets (bsc#903017)
  • Add [combobox current] support 'end' index
  • Add fixes in [text] bindings
  • Add missing 'deferred clear code' support to GIF photo images
  • Add new virtual event <<TkWorldChanged>>
  • Add new keycodes: CodeInput, SingleCandidate, MultipleCandidate, PreviousCandidate
  • Add new support for POSIX error: EILSEQ
  • Add new command [tcl::unsupported::corotype]
  • Add new command [tcl::unsupported::timerate] for performance testing
  • Add new option -state to [ttk::scale]
  • Add portable keycodes: OE, oe, Ydiaeresis
  • Add support for backrefs in [array names -regexp]
  • Add support for Unicode 14
  • Disfavor Master/Slave terminology
  • Enhance [oo::object] to acquire or lose a class identity dynamically
  • Fix canvas rotated text overlap detection
  • Fix canvas closed polylines yo fully honor -joinstyle
  • Fix display of Long non-wrapped lines in text
  • Fix display treeview focus ring when -selectmode none
  • Fix focus events not to break entry validation
  • Fix [package prefer stable] failing case
  • Fix auto_path initialization by Safe Base interps
  • Fix bad interaction between grab and mouse pointer warp
  • Fix borderwidth calculations on menu items
  • Fix cascade tearoff menu redraw artifacts
  • Fix coords rounding when drawing canvas items
  • Fix corrupt result from [$c postscript] with -file or -channel
  • Fix errno management in socket full close
  • Fix failure when a [proc] argument name is computed, not literal
  • Fix focus on unmapped windows
  • Fix handling of duplicates in spinbox -values list
  • Fix incomplete read of multi-image GIF
  • Fix initialization order of static package in wish
  • Fix issue when trying to display angled text without Xft
  • Fix issue with font initialization when no font is installed
  • Fix problems with Noto Color Emoji font
  • Fix race conditions in [file delete] and [file mkdir]
  • Fix Std channel initialization for multi-thread operations
  • Fix tearoff menu redraw artifacts
  • Fix up arrow key in [text] to correctly move cursor to index 1.0
  • Fix various cursor issues
  • Fix various encoding issues
  • Fix various fontchooser issues
  • Fix various issues causing crashes and hang in
  • Fix various memory issues
  • Fix various scrolling bugs and add improvements
  • Fix 32/64-bit confusion of FS DIR operations reported for AIX
  • Improve appearance of text selection in [*entry] widgets
  • Improve checkbutton handling of -selectcolor
  • Improve handling of resolution changes
  • Improve multi-thread safety when Xft is in use
  • Improve ttk high-contrast-mode support
  • Improve emoji support
  • Improve legacy support for [tk_setPalette]
  • Make combobox -postoffset option work with default style
  • Make spinbox use proper names in query of option database
  • Menu flaws when empty menubar clicked
  • New index argument in [$menubutton post x y index]
  • Preserve canvas tag list order during add/delete
  • Prevent cross-manager loops of geom management
  • Rewrite of zlib inflation for multi-stream and completeness
  • Run fileevents in proper thread after [thread::attach $channel]
  • Stop [unload] corruption of list of loaded packages
  • Stop app switching exposing withdrawn windows as zombies
  • Tk now denied access to PRIMARY selection from safe interps
  • TkpDrawAngledCharsInContext leaked a CGColor
  • Try to restore Tcl's [update] command when Tk is unloaded
  • Changed [info * methods] to include mixins
  • [package require] is now NR-enabled

The following fixes might show some potential incompatibilities with existing software:

  • Revised [binary (en|de)code base64] for RFC compliance and roundtrip
  • Tcl_DStringAppendElement # quoting precision, dstring-2.13, dstring-3.10
  • Extended [clock scan] ISO format and time zone…
Record
SUSE-FU-2022:0868-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
tcl8.6
Debian:12
All versions, plus listed versions
8.6.13+dfsg-28.6.14+dfsg-18.6.15+dfsg-18.6.15+dfsg-28.6.16+dfsg-18.6.17+dfsg-18.6.18+dfsg-1
None known
tcl8.6
Debian:13
All versions, plus listed versions
8.6.16+dfsg-18.6.17+dfsg-18.6.18+dfsg-1
None known
tcl8.6
Debian:14
All versions, plus listed versions
8.6.16+dfsg-18.6.17+dfsg-18.6.18+dfsg-1
None known
tcl
openEuler:20.03-LTS-SP1
before 8.6.10-4.oe1
8.6.10-4.oe1
tcl
openEuler:20.03-LTS-SP3
before 8.6.10-4.oe1
8.6.10-4.oe1
tcl
openEuler:22.03-LTS
before 8.6.10-4.oe2203
8.6.10-4.oe2203
tcl8.6
Root:Debian:12
before 8.6.13+dfsg-2.root.io.2
8.6.13+dfsg-2.root.io.28.6.13+dfsg-2.root.io.18.6.13+dfsg-2.aikido.3
rootio-tcl8.6
Root:Debian:12
before 8.6.13+dfsg-2.root.io.2
8.6.13+dfsg-2.root.io.28.6.13+dfsg-2.root.io.18.6.13+dfsg-2.aikido.3
tcl
SUSE:Linux Enterprise Software Development Kit 12 SP5
before 8.6.12-11.3.1
8.6.12-11.3.1
tk
SUSE:Linux Enterprise Software Development Kit 12 SP5
before 8.6.12-11.3.1
8.6.12-11.3.1
Show 7 moreShow less
Affected packages
PackageAffectedFixed
tcl
SUSE:Linux Enterprise Server 12 SP5
before 8.6.12-11.3.1
8.6.12-11.3.1
tk
SUSE:Linux Enterprise Server 12 SP5
before 8.6.12-11.3.1
8.6.12-11.3.1
tcl
SUSE:Linux Enterprise Server for SAP Applications 12 SP5
before 8.6.12-11.3.1
8.6.12-11.3.1
tk
SUSE:Linux Enterprise Server for SAP Applications 12 SP5
before 8.6.12-11.3.1
8.6.12-11.3.1
tcl
SUSE:Linux Enterprise Module for Basesystem 15 SP3
before 8.6.12-150300.14.3.1
8.6.12-150300.14.3.1
tk
SUSE:Linux Enterprise Module for Basesystem 15 SP3
before 8.6.12-150300.10.3.1
8.6.12-150300.10.3.1
tk
SUSE:Linux Enterprise Module for Desktop Applications 15 SP3
before 8.6.12-150300.10.3.1
8.6.12-150300.10.3.1

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-35331 is a high vulnerability (CVSS 7.8) in Tcl, published July 5, 2021. Its validity is disputed. EPSS puts the chance of exploitation in the next 30 days at 1.69%, the 77th percentile. Fixed in tcl 8.6.10-4.oe1.

References

Show 14 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open