Skip to content

fix: enforce version firewall and PE on nvm use - #22

Merged
coreybutler merged 1 commit into
mainfrom
fix/version-firewall-use
Oct 28, 2026
Merged

coreybutler merged 1 commit into
mainfrom
fix/version-firewall-use

Conversation

@coreybutler

Copy link
Copy Markdown
Contributor

What

  • nvm use / ActivateVersion calls acl.IsAllowedVersion before changing the active version (NVM4411)
  • ActivateVersion compares node.exe FileVersion to the folder version (NVM4314)
  • Missing node.exe skips the PE check so activation tests still run

Why

Version firewall only ran at install. A later allow/block list did not stop nvm use. Authenticode still trusts an official Node 10 binary dropped into a v24.0.0 folder.

Testing

  • go test ./installer/ (parseCoreVersion, swap mismatch, missing exe skip, non-PE reject)

Risk

Community common/acl stub still always allows. PE check is fail-closed when node.exe exists without VERSIONINFO.

ActivateVersion calls acl.IsAllowedVersion and compares node.exe
FileVersion to the folder so policy and swap attacks fail at use.

Signed-off-by: Corey Butler <[email protected]>
@coreybutler
coreybutler merged commit 495c874 into main Oct 28, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant