Every CVE Search/ Get API key

CVE-2025-55157

Vim heap use-after-free vulnerability when processing recursive tuple data types

6.9 MediumFix available

Vim is an open source, command line text editor. In versions from 9.1.1231 to before 9.1.1400, When processing nested tuples in Vim script, an error during evaluation can trigger a use-after-free in Vim’s internal tuple reference management. Specifically, the tuple_unref() function may access already freed memory due to improper lifetime handling, leading to memory corruption. The exploit requires direct user interaction, as the script must be explicitly executed within Vim. This issue has been patched in version 9.1.1400.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Active

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.39%Up 0.4 points since Aug 12, 2025
90%50%10%1%

What each source reports

CVE List Score used 6.9

Vim heap use-after-free vulnerability when processing recursive tuple data types

Vim is an open source, command line text editor. In versions from 9.1.1231 to before 9.1.1400, When processing nested tuples in Vim script, an error during evaluation can trigger a use-after-free in Vim’s internal tuple reference management. Specifically, the tuple_unref() function may access already freed memory due to improper lifetime handling, leading to memory corruption. The exploit requires direct user interaction, as the script must be explicitly executed within Vim. This issue has been patched in version 9.1.1400.

Record
CVE-2025-55157
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-416
Updated
2026-11-02
EUVDEUVD-2025-24191 6.9

Vim is an open source, command line text editor. In versions from 9.1.1231 to before 9.1.1400, When processing nested tuples in Vim script, an error during evaluation can trigger a use-after-free in Vim’s internal tuple reference management. Specifically, the tuple_unref() function may access already freed memory due to improper lifetime handling, leading to memory corruption. The exploit requires direct user interaction, as the script must be explicitly executed within Vim. This issue has been patched in version 9.1.1400.

Record
EUVD-2025-24191
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-02
NVD 6.9

Vim is an open source, command line text editor. In versions from 9.1.1231 to before 9.1.1400, When processing nested tuples in Vim script, an error during evaluation can trigger a use-after-free in Vim’s internal tuple reference management. Specifically, the tuple_unref() function may access already freed memory due to improper lifetime handling, leading to memory corruption. The exploit requires direct user interaction, as the script must be explicitly executed within Vim. This issue has been patched in version 9.1.1400.

Record
CVE-2025-55157
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-416
Updated
2026-11-02
OSVBELL-CVE-2025-55157 8.8
Record
BELL-CVE-2025-55157
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSV 6.9

Vim heap use-after-free vulnerability when processing recursive tuple data types

Vim is an open source, command line text editor. In versions from 9.1.1231 to before 9.1.1400, When processing nested tuples in Vim script, an error during evaluation can trigger a use-after-free in Vim’s internal tuple reference management. Specifically, the tuple_unref() function may access already freed memory due to improper lifetime handling, leading to memory corruption. The exploit requires direct user interaction, as the script must be explicitly executed within Vim. This issue has been patched in version 9.1.1400.

Record
CVE-2025-55157
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-416
Updated
2026-11-02
OSVUBUNTU-CVE-2025-55157 6.9

Vim is an open source, command line text editor. In versions from 9.1.1231 to before 9.1.1400, When processing nested tuples in Vim script, an error during evaluation can trigger a use-after-free in Vim’s internal tuple reference management. Specifically, the tuple_unref() function may access already freed memory due to improper lifetime handling, leading to memory corruption. The exploit requires direct user interaction, as the script must be explicitly executed within Vim. This issue has been patched in version 9.1.1400.

Record
UBUNTU-CVE-2025-55157
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 5 moreShow less
OSVSUSE-SU-2025:03240-1 No score

Security update for vim

This update for vim fixes the following issues:

Update to version 9.1.1629.

  • CVE-2025-53905: Fixed a path traversal issue in tar.vim plugin that may allow for file overwriting when opening specially crafted tar files (bsc#1246604).
  • CVE-2025-53906: Fixed a path traversal issue in zip.vim plugin that may allow for file overwriting when opening specially crafted zip files (bsc#1246602).
  • CVE-2025-55157: Fixed use-after-free in internal tuple reference management (bsc#1247938).
  • CVE-2025-55158: Fixed double-free in internal typed value (typval_T) management (bsc#1247939).
Record
SUSE-SU-2025:03240-1
Updated
2026-11-02
OSVSUSE-SU-2025:03299-1 No score

Security update for vim

This update for vim fixes the following issues:

Updated to 9.1.1629:

  • CVE-2025-53905: Fixed malicious tar archive may causing a path traversal in Vim’s tar.vim plugin (bsc#1246604)
  • CVE-2025-53906: Fixed malicious zip archive may causing a path traversal in Vim’s zip (bsc#1246602)
  • CVE-2025-55157: Fixed use-after-free in internal tuple reference management (bsc#1247938)
  • CVE-2025-55158: Fixed double-free in internal typed value (typval_T) management (bsc#1247939)
Record
SUSE-SU-2025:03299-1
Updated
2026-11-02
OSVSUSE-SU-2025:03300-1 No score

Security update for vim

This update for vim fixes the following issues:

Updated to 9.1.1629:

  • CVE-2025-53905: Fixed malicious tar archive may causing a path traversal in Vim’s tar.vim plugin (bsc#1246604)
  • CVE-2025-53906: Fixed malicious zip archive may causing a path traversal in Vim’s zip (bsc#1246602)
  • CVE-2025-55157: Fixed use-after-free in internal tuple reference management (bsc#1247938)
  • CVE-2025-55158: Fixed double-free in internal typed value (typval_T) management (bsc#1247939)
Record
SUSE-SU-2025:03300-1
Updated
2026-11-02
OSVSUSE-SU-2025:20696-1 No score

Security update for vim

This update for vim fixes the following issues:

  • CVE-2025-53906: Fixed malicious zip archive causing path traversal (bsc#1246602)

  • CVE-2025-53905: Fixed malicious tar archive causing path traversal (bsc#1246604)

  • CVE-2025-55157: Fixed use-after-free in internal tuple reference management (bsc#1247938)

  • CVE-2025-55158: Fixed double-free in internal typed value (typval_T) management (bsc#1247939)

  • Update to 9.1.1629: 9.1.1629: Vim9: Not able to use more than 10 type arguments in a generic function 9.1.1628: fuzzy.c has a few issues 9.1.1627: fuzzy matching can be improved 9.1.1626: cindent: does not handle compound literals 9.1.1625: Autocompletion slow with include- and tag-completion 9.1.1624: Cscope not enabled on MacOS 9.1.1623: Buffer menu does not handle unicode names correctly 9.1.1622: Patch v9.1.1432 causes performance regressions 9.1.1621: flicker in popup menu during cmdline autocompletion 9.1.1620: filetype: composer.lock and symfony.lock files not recognized 9.1.1619: Incorrect E535 error message 9.1.1618: completion: incorrect selected index returned from complete_info() 9.1.1617: Vim9: some error messages can be improved 9.1.1616: xxd: possible buffer overflow with bitwise output 9.1.1615: diff format erroneously detected 9.1.1614: Vim9: possible variable type change 9.1.1613: tests: test_search leaves a few swapfiles behind 9.1.1612: Ctrl-G/Ctrl-T do not ignore the end search delimiter 9.1.1611: possible undefined behaviour in mb_decompose() 9.1.1610: completion: hang or E684 when 'tagfunc' calls complete() 9.1.1609: complete: Heap-buffer overflow with complete function 9.1.1608: No command-line completion for :unsilent {command} 9.1.1607: :apple command detected as :append 9.1.1606: filetype: a few more files are not recognized 9.1.1605: cannot specify scope for chdir() 9.1.1604: completion: incsearch highlight might be lost 9.1.1603: completion: cannot use autoloaded funcs in 'complete' F{func} 9.1.1602: filetype: requirements-*.txt files are not recognized 9.1.1601: Patch v8.1.0425 was wrong 9.1.1600: using diff anchors with hidden buffers fails silently 9.1.1599: :bnext doesn't go to unlisted help buffers 9.1.1598: filetype: waybar config file is not recognized 9.1.1597: CI reports leaks in libgtk3 library 9.1.1596: tests: Test_search_wildmenu_iminsert() depends on help file 9.1.1595: Wayland: non-portable use of select() 9.1.1594: completion: search completion throws errors 9.1.1593: Confusing error when compiling incomplete try block 9.1.1592: Vim9: crash with classes and garbage collection 9.1.1591: VMS support can be improved 9.1.1590: cannot perform autocompletion 9.1.1589: Cannot disable cscope interface using configure 9.1.1588: Vim9: cannot split dict inside command block 9.1.1587: Wayland: timeout not updated before select() 9.1.1586: Vim9: can define an enum/interface in a function 9.1.1585: Wayland: gvim still needs GVIM_ENABLE_WAYLAND 9.1.1584: using ints as boolean type 9.1.1583: gvim window lost its icons 9.1.1582: style issue in vim9type.c and vim9generics.c 9.1.1581: possible memory leak in vim9generics.c 9.1.1580: possible memory leak in vim9type.c 9.1.1579: Coverity complains about unchecked return value 9.1.1578: configure: comment still mentions autoconf 2.71 9.1.1577: Vim9: no generic support yet 9.1.1576: cannot easily trigger wildcard expansion 9.1.1575: tabpanel not drawn correctly with wrapped lines 9.1.1574: Dead code in mbyte.c 9.1.1573: Memory leak when pressing Ctrl-D in cmdline mode 9.1.1572: expanding $var does not escape whitespace for 'path' 9.1.1571: CmdlineChanged triggered to often 9.1.1570: Copilot suggested some improvements in cmdexpand.c 9.1.1569: tests: Vim9 tests can be improved 9.1.1568: need a few more default highlight groups 9.1.1567: crash when using inline diff mode 9.1.1566: self-referenced enum may not get freed 9.1.1565:…

Record
SUSE-SU-2025:20696-1
Updated
2026-11-02
OSVSUSE-SU-2025:20857-1 No score

Security update for vim

This update for vim fixes the following issues:

  • CVE-2025-53906: malicious zip archive may cause a path traversal (bsc#1246602)
  • CVE-2025-53905: malicious tar archive may cause a path traversal (bsc#1246604)
  • CVE-2025-55157: use-after-free in internal tuple reference management (bsc#1247938)
  • CVE-2025-55158: double-free in internal typed value (typval_T) management (bsc#1247939)
Record
SUSE-SU-2025:20857-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
vim
Alpaquita:stream
9.1.1379-r0 up to 9.1.1406-r0
9.1.1406-r0
vim
SUSE:Linux Enterprise Micro 5.3
before 9.1.1629-150000.5.78.1
9.1.1629-150000.5.78.1
vim
SUSE:Linux Enterprise Micro 5.4
before 9.1.1629-150000.5.78.1
9.1.1629-150000.5.78.1
vim
SUSE:Linux Enterprise Micro 5.1
before 9.1.1629-150000.5.78.1
9.1.1629-150000.5.78.1
vim
SUSE:Linux Enterprise Micro 5.2
before 9.1.1629-150000.5.78.1
9.1.1629-150000.5.78.1
vim
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5
before 9.1.1629-17.51.1
9.1.1629-17.51.1
vim
SUSE:Linux Enterprise Micro 5.5
before 9.1.1629-150500.20.33.1
9.1.1629-150500.20.33.1
vim
SUSE:Linux Enterprise Module for Basesystem 15 SP6
before 9.1.1629-150500.20.33.1
9.1.1629-150500.20.33.1
vim
SUSE:Linux Enterprise Module for Basesystem 15 SP7
before 9.1.1629-150500.20.33.1
9.1.1629-150500.20.33.1
vim
SUSE:Linux Enterprise Module for Desktop Applications 15 SP6
before 9.1.1629-150500.20.33.1
9.1.1629-150500.20.33.1
Show 4 moreShow less
Affected packages
PackageAffectedFixed
vim
SUSE:Linux Enterprise Module for Desktop Applications 15 SP7
before 9.1.1629-150500.20.33.1
9.1.1629-150500.20.33.1
vim
openSUSE:Leap 15.6
before 9.1.1629-150500.20.33.1
9.1.1629-150500.20.33.1
vim
SUSE:Linux Micro 6.0
before 9.1.1629-1.1
9.1.1629-1.1
vim
SUSE:Linux Micro 6.1
before 9.1.1629-slfo.1.1_1.1
9.1.1629-slfo.1.1_1.1

History

History
RecordedChangedSources
affected
first indexedCVE List, EUVD, NVD, OSV

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

In short

CVE-2025-55157 is a medium vulnerability (CVSS 6.9) in Vim, published August 11, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.39%, the 33rd percentile. Fixed in vim 9.1.1406-r0.

References

Show 15 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open