Skip to content

BertBrowser 1.1.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 23:52
· 25 commits to main since this release

A security and maintenance release. Nothing changes in how the app looks or behaves day to day — the difference is in what happens when BertBrowser starts another program.

Installed copies update themselves. New installs: BertBrowser-win-Setup.exe below, or winget install RobWalsh.BertBrowser.

Launched programs no longer inherit administrator

BertBrowser runs elevated because reading the NTFS MFT requires it. Until now, anything it started — double-clicking a .exe, opening a file with its default handler, a custom context-menu command, "Open in Terminal" — was started as a child of this process and silently inherited that administrator token, with no prompt. A downloaded executable opened from the file list ran as administrator.

Programs are now handed to the desktop shell to launch, so they start at your own integrity level, exactly as they would from Explorer. Where the app can't reach the shell it says so and asks, rather than falling back to the old behaviour.

Elevation is still available, but only when you choose it:

  • Run as administrator in the file list's context menu (one file at a time).
  • Ctrl+Shift+double-click, or Ctrl+Shift+Enter.
  • A per-command Run as administrator checkbox on custom commands in Settings.

Because these requests now go out through the shell rather than from an already-elevated process, Windows shows a real UAC prompt instead of elevating silently.

Imported themes can't write outside the themes folder

A theme's id doubles as its filename, and an imported theme's id is untrusted input. An id like C:\Windows\Temp\evil or ..\..\something would have been written wherever it pointed. Ids are now validated as a single safe path segment before anything is written, and an import that carries an unsafe id gets a generated one instead.

Dependencies and toolchain

  • Now builds on .NET 10 (from .NET 8), with the runtime shipped inside the app as before.
  • Pinned the native SQLite library past GHSA-2m69-gcr7-jv3q, which the SQLite provider still resolved to a vulnerable version. Dependency auditing now fails the build if it regresses.
  • Updated CommunityToolkit.Mvvm, Microsoft.Extensions.DependencyInjection, and the test toolchain.

A new SECURITY.md documents why the app is elevated, what that means, and how reports are handled.

Full changelog: v1.1.0...v1.1.1