Skip to content

add RedirectionGuard=no to windows-installer.iss#9863

Open
acarl005 wants to merge 3 commits intomasterfrom
andy/disable-inno-setup-redirection-guard
Open

add RedirectionGuard=no to windows-installer.iss#9863
acarl005 wants to merge 3 commits intomasterfrom
andy/disable-inno-setup-redirection-guard

Conversation

@acarl005
Copy link
Copy Markdown
Contributor

@acarl005 acarl005 commented May 1, 2026

Description

This fixes #9044

As a bonus, we are also getting auto-update failures for our community package in scoop extras and this should fix that #9796

See: https://jrsoftware.org/ishelp/index.php?topic=setup_redirectionguard

Symlink traversal was being blocked by Warp and all child processes. This caused all kinds of failures:

  • inability to start in user's configured new session starting dir if that contained a symlink
  • bootstrap failures if PROFILE file contained symlink
  • unable to show code review if ~/.gitconfig is a symlink
  • other examples in the linked issue.

Testing

You can test this by building the installer, running the installer, and installing it with the "Run Warp" option checked at the end of the installer.

pwsh -NoProfile script\windows\bundle.ps1 -DEBUG_BUILD -CHANNEL preview
& C:\Users\dev\warp\warp\script\windows\Output\WarpPreviewSetup.exe

Changelog Entries for Stable

CHANGELOG-BUG-FIX: [Windows] Symlink traversal fixed.

@acarl005 acarl005 requested a review from peicodes May 1, 2026 22:08
@cla-bot cla-bot Bot added the cla-signed label May 1, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 1, 2026

@acarl005

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR disables Inno Setup RedirectionGuard for the Windows installer.

Concerns

  • The stated fix depends on RedirectionGuard affecting Warp and its child processes, but Inno Setup documents this directive as applying only to Setup/Uninstall and not being inherited by child processes or the installed application. Disabling it therefore weakens installer/uninstaller protection without addressing the runtime symlink traversal issue described in the PR.

Verdict

Found: 0 critical, 1 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread script/windows/windows-installer.iss
@acarl005 acarl005 removed the request for review from peicodes May 1, 2026 23:36
@acarl005 acarl005 closed this May 2, 2026
@acarl005 acarl005 reopened this May 2, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 2, 2026

@acarl005

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR disables Inno Setup's RedirectionGuard mitigation for the Windows setup/uninstall process.

Concerns

  • Disabling RedirectionGuard removes a Windows junction/symlink traversal mitigation from an installer that can run elevated, while the documented directive scope is the setup/uninstall process rather than the installed Warp app runtime.

Security

  • The installer allows administrative install mode, so disabling RedirectionGuard can re-open privileged path-redirection attack surface during install or uninstall.

Verdict

Found: 0 critical, 1 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread script/windows/windows-installer.iss
@acarl005 acarl005 requested a review from peicodes May 2, 2026 06:15
created by non-admin users will fail with error 448."
);
}
}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not the fix. This just detects this error case and logs a warning. This will be helpful if this regresses.

SetupMutex={#AppMutexName}Setup
; Version 1809 / Build 18362 is required for ConPTY. See https://github.com/microsoft/vscode-docs/blob/9d736b662fdde3fed17d8bc2ed70bfea4ae20636/docs/supporting/troubleshoot-terminal-launch.md?plain=1#L66/
MinVersion=10.0.18362
; Tell Windows Explorer to reload the environment so that path changes take effect.
ChangesEnvironment=true
RedirectionGuard=no
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is the actual fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

(Windows 11) OS Error 448: All symlink/junction traversal fails inside Warp

1 participant