-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
2.xSparkle 2.0Sparkle 2.0
Milestone
Description
🔥 Here's the new implementation that will be Sparkle 2.0: https://github.com/sparkle-project/Sparkle/tree/ui-separation-and-xpc 🔥 It implements the changes discussed in the issue below.
There has been a very old branch with a sandbox support, but Andy has rejected it due to unresolved security issues.
So I'm opening an issue here to start a discussion how we can support sandboxed applications in Sparkle while keeping the sandbox as tight as possible.
I think minimal requirements are:
- The XPC helper must not trust the host app at all, so it must verify integrity of downloaded update and unpack it by itself. The current approach of telling XPC helper "hey, install this path, I've unpacked it and checked it's ok" can't be secure.
- the XPC can't trust the host to supply a valid DSA key (a compromised host could give a valid and signed update, but signed by the wrong person). The XPC helper must find the trusted DSA key by itself (i.e. find the app's path and read Info.plist from there) and refuse to update any other path.
- Apple Code Signing verification code needs to be refactored (or not supported in sandboxed environment), because the host app checks against its own signature, but the host app is not supposed to be doing the checking.
danielcompton, foss-, sindresorhus, mittsh and AlexPerathonermittsh
Metadata
Metadata
Assignees
Labels
2.xSparkle 2.0Sparkle 2.0