Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Sparkle framework for security vulnerabilities #254

Closed
reedloden opened this issue Jan 30, 2016 · 16 comments · Fixed by #255
Closed

Update Sparkle framework for security vulnerabilities #254

reedloden opened this issue Jan 30, 2016 · 16 comments · Fixed by #255

Comments

@reedloden
Copy link
Contributor

https://vulnsec.com/2016/osx-apps-vulnerabilities/

Hermes is vulnerable to this, so would be good to get Sparkle updated.

reedloden added a commit to reedloden/Hermes that referenced this issue Jan 30, 2016
Update the in-tree copy of Sparkle to v1.13.1 for the security vulnerabilities
mentioned in https://vulnsec.com/2016/osx-apps-vulnerabilities/.

Change SUFeedURL to use https:// to protect against MITM of AppCast feed
(fixes HermesApp#254).
@taoeffect
Copy link

😨😭🔫

EDIT: this isn't as bad as has been reported. See my comment below.

@reedloden
Copy link
Contributor Author

@winny-
Copy link
Contributor

winny- commented Jan 31, 2016

Hello, unfortunately I can no longer contribute tested changes to Hermes, and have since moved on, so somebody else will have to address this. Please contact me or @nriley if you have interest in maintaining and actively developing Hermes.

As for the risk factor of this vulnerability, it isn't very significant when one considers Sparkle uses DSA signatures to sign and verify updates; and there is no network of trust associated with the key pair.

Regardless this is still a vulnerability, so it should be fixed, if anybody is up to taking over.

@taoeffect
Copy link

As for the risk factor of this vulnerability, it isn't very significant when one considers Sparkle uses DSA signatures to sign and verify updates; and there is no network of trust associated with the key pair.

See the link in the OP, the DSA stuff doesn't matter.

@winny-
Copy link
Contributor

winny- commented Jan 31, 2016

My mistake -- I had only read the second link :). Yes looks like the weak app signing via DSA is irrelevant. At any rate, I don't have the resources to fix this issue, which would require:

  1. Add a SSL/TLS cert to hermesapp.org
  2. Push a fix for Hermes that has the HTTPS Sparkle URL.

One could get a letsencrypt cert, however I don't have a Mac to do (2).

Somebody needs to take over the project if they want to see this fixed.

@taoeffect
Copy link

@winny- all that's needed is an updated version of sparkle. you don't need to do any HTTPS stuff.

@taoeffect
Copy link

Sparkle 1.13.1 specifically

@winny-
Copy link
Contributor

winny- commented Jan 31, 2016

Unfortunately to push a new version of Sparkle in Hermes, one needs to have XCode and friends. In addition they will need two keys which I can hand over, provided you're trust worthy.

https://github.com/HermesApp/Hermes/blob/master/Documentation/ReleaseEngineering.md

@taoeffect
Copy link

Just an fyi: 1.13.1 on website might still be vulnerable

@reedloden
Copy link
Contributor Author

For the SSL/TLS option, you could use CloudFlare to front the domain and
then just pass through to https://HermesApp.github.io transparently. That
is a free option and doesn't require you to do anything on your end to host
the website or proxy the SSL/TLS cert.

In any case, you don't even need to get HTTPS on hermesapp.org to solve
this particular issue. If you see in my diff, I swapped it to use
https://raw.githubusercontent.com/... which takes the domain out of it
entirely and goes directly to GitHub.

Also, it's best to get things on HTTPS and upgrade Sparkle. Only doing
the latter just means that any more Sparkle vulns could cause another
security issue.

On Saturday, January 30, 2016, Greg Slepak notifications@github.com wrote:

Just an fyi: 1.13.1 on website might still be vulnerable
sparkle-project/Sparkle#726


Reply to this email directly or view it on GitHub
#254 (comment).

@reedloden
Copy link
Contributor Author

@taoeffect check the last comment in
https://trac.videolan.org/vlc/ticket/11987#comment:29 -- perhaps you want
to try with something besides VLC?

On Saturday, January 30, 2016, Reed Loden reed@reedloden.com wrote:

For the SSL/TLS option, you could use CloudFlare to front the domain and
then just pass through to https://HermesApp.github.io transparently. That
is a free option and doesn't require you to do anything on your end to host
the website or proxy the SSL/TLS cert.

In any case, you don't even need to get HTTPS on hermesapp.org to solve
this particular issue. If you see in my diff, I swapped it to use
https://raw.githubusercontent.com/... which takes the domain out of it
entirely and goes directly to GitHub.

Also, it's best to get things on HTTPS and upgrade Sparkle. Only doing
the latter just means that any more Sparkle vulns could cause another
security issue.

On Saturday, January 30, 2016, Greg Slepak <notifications@github.com
javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

Just an fyi: 1.13.1 on website might still be vulnerable
sparkle-project/Sparkle#726


Reply to this email directly or view it on GitHub
#254 (comment).

@taoeffect
Copy link

@reedloden did you mean to send that reply to this thread or here? Either way, I can't get even the most basic of modules working (like hack_title.rb).

@reedloden
Copy link
Contributor Author

@taoeffect The other thread, sorry. I'm watching all your threads right now as you investigate this, and doing it from mobile while I'm out with friends isn't helping with keeping track of stuff. Hah.

@nriley
Copy link
Contributor

nriley commented Jan 31, 2016

Sorry, I can't address this either — too many other projects contending with my time and resources, and I don't even use Hermes as a user any more. If someone (or more than one person) wants to take over Hermes maintenance, I'm happy to facilitate this in any way possible, but they need to be actually committed to it. I've had enough experiences where people asked to contribute to one of my projects, I spent a bunch of time trying to help and then never heard from them again.

@taoeffect
Copy link

Good news folks! EDIT: Nope! See comment below :(

There are ways to mitigate against this and it's also not as bad as reported.

Just published details:

Sky Not Falling: Sparklegate Not As Bad As It Could Be

@taoeffect
Copy link

Apologies! Sky Kinda Falling + Protecting Yourself From Sparklegate

It turns out that I was mistaken, in some situations Gatekeeper does get bypassed. I just published a post with details + mitigations. Thanks to @radekk for insisting that I was missing something!

https://www.taoeffect.com/blog/2016/02/apologies-sky-kinda-falling-protecting-yourself-from-sparklegate/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants