🔍 CVE-2024-41965

4.2
CVSS Score
MEDIUM
2024-08-01
2026-09-17 17:59
✅ 완료

🇰🇷 한글 설명

Vim 9.1.0648 미만 버전의 dialog_changed() 함수에서 발생하는 double-free 취약점입니다. 수정되지 않은 버퍼를 저장하려 할 때 버퍼 이름을 'Unnamed'로 설정하면 포인터를 중복 해제하게 되며, 이는 힙 사용 후 해제(use-after-free)로 이어져 프로그램 충돌을 유발할 수 있습니다.

💡 쉬운 설명

텍스트 편집기 Vim에서 파일을 저장하는 과정 중 메모리 관리 오류가 발생하는 문제입니다. 이 오류로 인해 프로그램이 갑자기 종료되거나 시스템에 예기치 않은 동작이 발생할 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Vim version < v9.1.0648

⚔️ 공격 벡터

사용자가 수정된 버퍼를 저장하는 과정에서 특정 조건(버퍼 이름이 Unnamed인 경우)을 유도하여 발생

🛡️ 대응 방법

Vim을 최신 버전인 v9.1.0648 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 번호가 9.1.0648보다 낮으면 취약한 버전입니다.

Shell / Script
vim --version | head -n 1 | grep -oE 'Vim (9\.[0-9]+\.[0-9]+)'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L

💻 영향받는 소프트웨어

Magento Open Source