{"id":"CVE-2023-30585","revision":null,"records":[{"revision":"d032ae8796874537ac40d9c81f8d9ea3","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2023-30585","aliases":[],"title":"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 \"ms…","description":"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.\n\nThe 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.\n\nThe 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.\n\nIt 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.","state":0,"publishedAt":"2023-11-28T01:23:08.734+00:00","modifiedAt":"2026-10-08T21:13:54.831+00:00","affected":[{"ecosystem":"Vendor product","name":"Node","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Node\",\n                    \"vendor\": \"NodeJS\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"versions\": [\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"4.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"4.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"5.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"5.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"6.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"6.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"7.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"7.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"8.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"8.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"9.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"9.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"10.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"10.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"11.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"11.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"12.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"12.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"13.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"13.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"14.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"14.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"15.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"15.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"16.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"16.20.1\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"17.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"17.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"18.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"18.16.1\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"19.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"19.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"20.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"20.3.1\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://nodejs.org/en/blog/vulnerability/june-2023-security-releases"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2023-30585","license":"CVE Program Terms of Use","key":"cve-program:CVE-2023-30585","identifiers":["CVE-2023-30585"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-10T15:24:08.8188023+00:00","complete":true,"records":1773,"lastAttemptAt":"2026-11-10T15:24:08.8188023+00:00","lastSuccessAt":"2026-11-10T15:24:08.9790817+00:00","error":null,"lastVerifiedAt":"2026-11-10T15:24:08.9790869+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-8859cf40d4337e24bd2f258cc7778fbad01bb24c79d057aaf34cf1dfc6f8917d-4c670b9c65122c3a09e0db61031e2714f1f25c28b03e8739aa4c468dc496810d","complete":true,"records":422079,"lastAttemptAt":"2026-11-10T16:21:34.6831275+00:00","lastSuccessAt":"2026-11-10T16:21:34.4291793+00:00","error":null,"lastVerifiedAt":"2026-11-10T16:21:34.6831275+00:00","snapshotPublishedAt":"2026-11-10T15:23:13+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-efc28183efe04e138ba7d91d47b051d0","complete":true,"records":13691,"lastAttemptAt":"2026-11-10T15:25:10.8168504+00:00","lastSuccessAt":"2026-11-10T13:22:39.879+00:00","error":null,"lastVerifiedAt":"2026-11-10T13:22:39.879+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13744,"expectedIdentifiers":13744,"failedIdentifiers":0},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-10T15:24:08.8188023+00:00","complete":true,"records":1096,"lastAttemptAt":"2026-11-10T15:24:08.8188023+00:00","lastSuccessAt":"2026-11-10T15:24:08.9798315+00:00","error":null,"lastVerifiedAt":"2026-11-10T15:24:08.9798317+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-738cd6499f9748c9890b05108858c833","complete":false,"records":13697,"lastAttemptAt":"2026-11-10T15:25:10.154636+00:00","lastSuccessAt":"2026-11-10T15:25:10.15+00:00","error":"100 identifier lookups failed; latest failures include request timeout. Other identifiers were checked independently.","lastVerifiedAt":"2026-11-10T15:25:10.15+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13142,"expectedIdentifiers":13744,"failedIdentifiers":100},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-cdffb4589856378aa42e8d1bd4a6c74e27a180d8160bf764c44715ef760f0a62","complete":true,"records":9932,"lastAttemptAt":"2026-11-10T15:24:08.6813477+00:00","lastSuccessAt":"2026-11-10T00:04:19.8260565+00:00","error":null,"lastVerifiedAt":"2026-11-10T15:24:08.6813477+00:00","snapshotPublishedAt":"2026-11-09T23:48:01+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-26503967ae4379db8f374089589d6e03fb15bd31f820c9e992aaf93840c2236c","complete":true,"records":1971,"lastAttemptAt":"2026-11-10T16:21:34.8032662+00:00","lastSuccessAt":"2026-11-09T21:02:20.472473+00:00","error":null,"lastVerifiedAt":"2026-11-10T16:21:34.8032662+00:00","snapshotPublishedAt":"2026-11-09T20:18:18+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-df497239f2f75af38e095cb498791dad4044a8a9a7f5f0ee6008bb732579ab9d","complete":true,"records":3081,"lastAttemptAt":"2026-11-10T15:24:08.7869291+00:00","lastSuccessAt":"2026-11-10T14:21:34.3717399+00:00","error":null,"lastVerifiedAt":"2026-11-10T15:24:08.7869291+00:00","snapshotPublishedAt":"2026-11-10T14:18:07+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-db2f6ba81f9ad8cbb9260cd64e408b90232da96003174aeed666a4ce1c7aabd5","complete":true,"records":231599,"lastAttemptAt":"2026-11-10T15:24:08.5102562+00:00","lastSuccessAt":"2026-11-10T15:24:05.6823404+00:00","error":null,"lastVerifiedAt":"2026-11-10T15:24:08.5102562+00:00","snapshotPublishedAt":"2026-11-10T14:33:27+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}