Skip to content

Security: vim package has 3 vulnerabilities #115

@sajjaphani

Description

@sajjaphani

Security Vulnerabilities in vim v9.1.0318

The current version of vim (9.1.0318) has 3 known security vulnerabilities. The associated plan file is available here.

ID Severity Score Source Detail
CVE-2024-41957 MEDIUM 4.5 NVD View
CVE-2024-41965 MEDIUM 4.2 NVD View
CVE-2024-45306 MEDIUM 4.5 NVD View

Detailed Information

1. CVE-2024-41957

Summary: 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

Published: 2024-08-01T22:15:29.367
Last Modified: 2024-11-29T12:15:07.430

CVSSv3.1: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
References:

2. CVE-2024-41965

Summary: 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.

Published: 2024-08-01T22:15:29.567
Last Modified: 2024-11-21T09:33:21.087

CVSSv3.1: CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
References:

3. CVE-2024-45306

Summary: Vim is an open source, command line text editor. Patch v9.1.0038 optimized how the cursor position is calculated and removed a loop, that verified that the cursor position always points inside a line and does not become invalid by pointing beyond the end of
a line. Back then we assumed this loop is unnecessary. However, this change made it possible that the cursor position stays invalid and points beyond the end of a line, which would eventually cause a heap-buffer-overflow when trying to access the line pointer at
the specified cursor position. It's not quite clear yet, what can lead to this situation that the cursor points to an invalid position. That's why patch v9.1.0707 does not include a test case. The only observed impact has been a program crash. This issue has been addressed in with the patch v9.1.0707. All users are advised to upgrade.

Published: 2024-09-02T18:15:36.920
Last Modified: 2024-11-21T09:37:39.000

CVSSv3.1: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
References:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions