Skip to content

Fix HackerOne -3045235 by disabling the hyperlink - #6140

Open
sandboxcoder wants to merge 2 commits into
masterfrom
rno/H1-3045235
Open

Fix HackerOne -3045235 by disabling the hyperlink#6140
sandboxcoder wants to merge 2 commits into
masterfrom
rno/H1-3045235

Conversation

@sandboxcoder

@sandboxcoder sandboxcoder commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

The installer runs elevated (nsis.perMachine = true -> RequestExecutionLevel
admin), and NSIS's license page turns URLs in the licence text into live
hyperlinks -- including the GPLv3 header's https://fsf.org/. NSIS opens them
with a plain ShellExecute, so the browser inherits the installer's Administrator
token.

Remove the link rather than the URL: the GPL text is not ours to edit
("changing it is not allowed").

DisableLicenseLinks now clears ENM_LINK from the RichEdit's event mask. That is
the actual kill switch -- NSIS opens URLs in response to the EN_LINK
notification, so a control that never sends it can never trigger the
ShellExecute. It also turns off EM_AUTOURLDETECT and strips CFE_LINK across the
document so the text stops looking clickable.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

Below is image, user can no longer click on the URL:
image

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates Streamlabs Desktop’s embedded GPLv3 text in top-level license documents to remove angle brackets around the FSF URL, aiming to prevent the URL from being rendered as a hyperlink.

Changes:

  • Updated the FSF copyright line in LICENSE to remove <...> around the FSF URL.
  • Updated the same line in BASEAGREEMENT to match.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
LICENSE Removes angle brackets around the FSF URL in the GPLv3 header text.
BASEAGREEMENT Mirrors the same GPLv3 header text change in the embedded agreement copy.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread LICENSE Outdated
Comment thread BASEAGREEMENT Outdated
@bundlemon

bundlemon Bot commented Aug 27, 2026

Copy link
Copy Markdown

BundleMon

Unchanged files (4)
Status Path Size Limits
renderer.(hash).js
10.52MB -
vendors~renderer.(hash).js
4.67MB -
updater.js
115.29KB -
guest-api.js
40.23KB -

No change in files bundle size

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.

Comment thread installer.nsh Outdated
Comment thread installer.nsh Outdated
@sandboxcoder
sandboxcoder marked this pull request as ready for review August 27, 2026 22:18
Copilot AI review requested due to automatic review settings August 27, 2026 22:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.

Comment thread installer.nsh Outdated
Comment on lines +3 to +7
; Disable auto-URL detection on the license page RichEdit control so that
; URLs in the license text are displayed as plain text, not clickable links.
; MUI_PAGE_CUSTOMFUNCTION_SHOW is scoped to the license page only: it is
; undefined after the license page insertmacro (inserted by electron-builder)
; to prevent it leaking into subsequent page definitions.

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.

Updated PR description thanks

Comment thread installer.nsh Outdated
Comment on lines +14 to +16
${If} $0 != 0
System::Call 'user32::SendMessage(i $0, i 0x45B, i 0, i 0)'
${EndIf}
@sandboxcoder
sandboxcoder marked this pull request as draft August 28, 2026 15:21
@sandboxcoder sandboxcoder changed the title Fix H1-3045235 by removing the hyperlink Fix HackerOne -3045235 by removing the hyperlink Aug 28, 2026
- fix https://app.asana.com/1/1083097041131/project/1209632301705219/task/1210265116004123

The installer runs elevated (nsis.perMachine = true -> RequestExecutionLevel
admin), and NSIS's license page turns URLs in the licence text into live
hyperlinks -- including the GPLv3 header's <https://fsf.org/>. NSIS opens them
with a plain ShellExecute, so the browser inherits the installer's Administrator
token.

Remove the link rather than the URL: the GPL text is not ours to edit
("changing it is not allowed").

DisableLicenseLinks now clears ENM_LINK from the RichEdit's event mask. That is
the actual kill switch -- NSIS opens URLs in response to the EN_LINK
notification, so a control that never sends it can never trigger the
ShellExecute. It also turns off EM_AUTOURLDETECT and strips CFE_LINK across the
document so the text stops looking clickable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sandboxcoder sandboxcoder changed the title Fix HackerOne -3045235 by removing the hyperlink Fix HackerOne -3045235 by disabling the hyperlink Aug 28, 2026
@sandboxcoder
sandboxcoder marked this pull request as ready for review August 28, 2026 19:44
Copilot AI review requested due to automatic review settings August 28, 2026 19:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Comment thread installer.nsh Outdated
Push $0
Push $1
Push $2
; The licence RichEdit (id 1000) is on the inner dialog (class #32770), a child of

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nit, typo

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.

good catch, thanks. Fixed commit 8e76a41

Copilot AI review requested due to automatic review settings August 28, 2026 19:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants