Every CVE Search/ Get API key

CVE-2024-41965

Vim < v9.1.0648 has a double-free in dialog_changed()

4.2 MediumFix available

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
Low
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
Low

Exploit likelihood

0.33%Up 0.3 points since Aug 6, 2024
90%50%10%1%

What each source reports

CVE List Score used 4.2

Vim < v9.1.0648 has a double-free in dialog_changed()

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Record
CVE-2024-41965
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Weakness
CWE-416
Updated
2026-11-02
EUVDEUVD-2024-39296 4.2

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Record
EUVD-2024-39296
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Updated
2026-11-03
NVD 4.2

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Record
CVE-2024-41965
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Weakness
CWE-416, CWE-415
Updated
2026-11-02
OSVALPINE-CVE-2024-41965 4.2

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Record
ALPINE-CVE-2024-41965
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Updated
2026-11-03
OSVAZL-47355 4.2

CVE-2024-41965 affecting package vim for versions less than 9.0.2121-4

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Record
AZL-47355
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVAZL-47391 4.2

CVE-2024-41965 affecting package vim for versions less than 9.0.2190-4

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Record
AZL-47391
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Updated
2026-11-02
Show 7 moreShow less
OSVBELL-CVE-2024-41965 4.2
Record
BELL-CVE-2024-41965
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSV 4.2

Vim < v9.1.0648 has a double-free in dialog_changed()

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Record
CVE-2024-41965
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Weakness
CWE-416
Updated
2026-11-02
OSVDEBIAN-CVE-2024-41965 4.2

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Record
DEBIAN-CVE-2024-41965
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVOESA-2024-1982 5.3

vim security update

Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.

Security Fix(es):

Vim is an open source command line text editor. Vim < v9.1.0647 has double free in src/alloc.c:616. When closing a window, the corresponding tagstack data will be cleared and freed. However a bit later, the quickfix list belonging to that window will also be cleared and if that quickfix list points to the same tagstack data, Vim will try to free it again, resulting in a double-free/use-after-free access exception. Impact is low since the user must intentionally execute vim with several non-default flags, but it may cause a crash of Vim. The issue has been fixed as of Vim patch v9.1.0647(CVE-2024-41957)

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.(CVE-2024-41965)

Record
OESA-2024-1982
CVSS 3.1
5.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVSUSE-SU-2025:02226-1 No score

Security update for vim

This update for vim fixes the following issues:

  • CVE-2024-41965: Fixed improper neutralization of argument delimiters in zip.vim that could have led to data loss (bsc#1228776).
  • CVE-2025-29768: Fixed double-free in dialog_changed() (bsc#1239602).
Record
SUSE-SU-2025:02226-1
Updated
2026-11-02
OSVSUSE-SU-2025:02227-1 No score

Security update for vim

This update for vim fixes the following issues:

  • CVE-2024-41965: Fixed improper neutralization of argument delimiters in zip.vim that could have led to data loss (bsc#1228776).
  • CVE-2025-29768: Fixed double-free in dialog_changed() (bsc#1239602).
Record
SUSE-SU-2025:02227-1
Updated
2026-11-02
OSVSUSE-SU-2025:02228-1 No score

Security update for vim

This update for vim fixes the following issues:

  • CVE-2024-41965: Fixed improper neutralization of argument delimiters in zip.vim that could have led to data loss (bsc#1228776).
  • CVE-2025-29768: Fixed double-free in dialog_changed() (bsc#1239602).
Record
SUSE-SU-2025:02228-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
vim
Alpine:v3.20
before 9.1.0652-r0
9.1.0652-r0
vim
Alpine:v3.21
before 9.1.0652-r0
9.1.0652-r0
vim
Alpine:v3.22
before 9.1.0652-r0
9.1.0652-r0
vim
Alpine:v3.23
before 9.1.0652-r0
9.1.0652-r0
vim
Alpine:v3.24
before 9.1.0652-r0
9.1.0652-r0
vim
Azure Linux:2
before 9.0.2121-4
9.0.2121-4
vim
Azure Linux:3
before 9.0.2190-4
9.0.2190-4
vim
Alpaquita:23
9.0.0820-r2 up to 9.1.0936-r0
9.1.0936-r0
vim
Alpaquita:stream
9.1.0414-r0 up to 9.1.0652-r0
9.1.0652-r0
vim
Debian:12
All versions, plus listed versions
2:9.0.1378-22:9.0.1378-2+deb12u12:9.0.1378-2+deb12u22:9.0.1658-12:9.0.1672-1
Show 40 moreShow less
2:9.0.1894-12:9.0.2018-12:9.0.2087-12:9.0.2103-12:9.0.2116-12:9.0.2189-12:9.1.0-12:9.1.0016-12:9.1.0199-12:9.1.0374-12:9.1.0377-12:9.1.0496-12:9.1.0698-12:9.1.0709-12:9.1.0709-22:9.1.0777-12:9.1.0861-12:9.1.0967-12:9.1.0967-22:9.1.1113-12:9.1.1230-12:9.1.1230-22:9.1.1385-12:9.1.1766-12:9.1.1829-12:9.1.1846-12:9.1.1882-12:9.1.2103-12:9.1.2141-12:9.2.0119-12:9.2.0136-12:9.2.0218-12:9.2.0315-12:9.2.0338-12:9.2.0355-12:9.2.0428-12:9.2.0461-12:9.2.0524-12:9.2.0782-12:9.2.0858-1
None known
Show 33 moreShow less
Affected packages
PackageAffectedFixed
vim
Debian:13
before 2:9.1.0698-1
2:9.1.0698-1
vim
Debian:14
before 2:9.1.0698-1
2:9.1.0698-1
vim
openEuler:22.03-LTS-SP3
From an advisory covering 2 CVEs
before 9.0-24.oe2203sp3
9.0-24.oe2203sp3
vim
openEuler:20.03-LTS-SP4
From an advisory covering 2 CVEs
before 9.0-23.oe2003sp4
9.0-23.oe2003sp4
vim
openEuler:22.03-LTS-SP1
From an advisory covering 2 CVEs
before 9.0-24.oe2203sp1
9.0-24.oe2203sp1
vim
openEuler:24.03-LTS
From an advisory covering 2 CVEs
before 9.0.2092-8.oe2403
9.0.2092-8.oe2403
vim
openEuler:22.03-LTS-SP4
From an advisory covering 2 CVEs
before 9.0-24.oe2203sp4
9.0-24.oe2203sp4
vim
SUSE:Linux Enterprise Micro 5.5
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise Module for Basesystem 15 SP6
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise Module for Basesystem 15 SP7
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise Module for Desktop Applications 15 SP6
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise Module for Desktop Applications 15 SP7
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise Server 15 SP5-LTSS
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise Server for SAP Applications 15 SP5
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
openSUSE:Leap 15.6
From an advisory covering 2 CVEs
before 9.1.1406-150500.20.27.1
9.1.1406-150500.20.27.1
vim
SUSE:Linux Enterprise Server 12 SP5-LTSS
From an advisory covering 2 CVEs
before 9.1.1406-17.48.1
9.1.1406-17.48.1
vim
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5
From an advisory covering 2 CVEs
before 9.1.1406-17.48.1
9.1.1406-17.48.1
vim
SUSE:Linux Enterprise Micro 5.3
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise Micro 5.4
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise Server 15 SP3-LTSS
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise Server 15 SP4-LTSS
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise Server for SAP Applications 15 SP3
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise Server for SAP Applications 15 SP4
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Manager Proxy 4.3
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Manager Server 4.3
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise Micro 5.1
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Linux Enterprise Micro 5.2
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1
vim
SUSE:Enterprise Storage 7.1
From an advisory covering 2 CVEs
before 9.1.1406-150000.5.75.1
9.1.1406-150000.5.75.1

History

History
RecordedChangedSources
affected, facts
affectedOSV
aliases, publishedEUVD
first indexedCVE List, NVD, OSV

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

In short

CVE-2024-41965 is a medium vulnerability (CVSS 4.2) in Vim, published August 1, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.33%, the 26th percentile. Fixed in vim 9.1.0652-r0.

References

Show 11 moreShow less
MoveEnter Open