🔍 CVE-2023-30585

7.5
CVSS Score
HIGH
2023-11-28
2026-10-08 22:17
✅ 완료

🇰🇷 한글 설명

Windows용 Node.js .msi 설치 프로그램의 복구 과정에서 발생하는 취약점입니다. 권한이 낮은 사용자가 레지스트리의 %USERPROFILE% 환경 변수를 조작하여, SYSTEM 권한으로 실행되는 msiexec.exe가 임의의 위치에 폴더를 생성하도록 유도할 수 있습니다.

💡 쉬운 설명

일반 사용자가 컴퓨터의 설정값을 살짝 바꿔서, 관리자 권한을 가진 설치 프로그램이 엉뚱한 곳에 폴더를 만들게 속이는 공격입니다. 이를 통해 해커가 시스템의 중요한 위치에 악성 파일을 심을 수 있는 통로가 될 수 있습니다.

🇺🇸 원문 (English)

A vulnerability has been identified in the Node.js (.msi version) installation process, specifically affecting Windows users who install Node.js using the .msi installer. This vulnerability emerges during the repair operation, where the "msiexec.exe" process, running under the NT AUTHORITY\SYSTEM context, attempts to read the %USERPROFILE% environment variable from the current user's registry. The issue arises when the path referenced by the %USERPROFILE% environment variable does not exist. In such cases, the "msiexec.exe" process attempts to create the specified path in an unsafe manner, potentially leading to the creation of arbitrary folders in arbitrary locations. The severity of this vulnerability is heightened by the fact that the %USERPROFILE% environment variable in the Windows registry can be modified by standard (or "non-privileged") users. Consequently, unprivileged actors, including malicious entities or trojans, can manipulate the environment variable key to deceive the privileged "msiexec.exe" process. This manipulation can result in the creation of folders in unintended and potentially malicious locations. It is important to note that this vulnerability is specific to Windows users who install Node.js using the .msi installer. Users who opt for other installation methods are not affected by this particular issue.

📍 영향받는 시스템

Windows 환경에서 .msi 설치 프로그램을 사용하여 Node.js를 설치한 시스템

⚔️ 공격 벡터

레지스트리에 등록된 %USERPROFILE% 환경 변수 값을 조작하여 msiexec.exe의 동작을 유도함

🛡️ 대응 방법

Node.js를 최신 보안 패치가 적용된 버전으로 업데이트하거나, .msi 대신 다른 설치 방식을 사용함

🔧 검증 코드

명령어 결과로 출력되는 USERPROFILE 경로가 시스템의 표준 경로와 일치하는지, 혹은 비정상적인 경로로 조작되었는지 확인합니다.

Shell / Script
powershell -Command "Get-ItemProperty -Path 'HKCU:\Environment' -Name 'USERPROFILE' -ErrorAction SilentlyContinue"

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js