Breaches Twitter TOS (OAuth twitter authentication uses embedded browser)

Bug #627871 reported by Greg A
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Gwibber
Invalid
Undecided
Ken VanDine

Bug Description

Just wanted to bring to your attention a couple of comments regarding the new twitter authentication:

"The problem with the current implementation is that it completely disregards the advantage of OAuth, namely, that the user does not have to trust the application to not steal his/her password. For proper OAuth support, I suppose the browser should be opened with the correct URL (which I'll admit is not ideal) that the user can check." [1]

This also breaches the TOS defined by Twitter:
    (c) Your application should not:
    ...
    o replicate, frame, or mirror the Twitter website or its design."

    Twitter wants all authorizations to be passed through a "trusted" browser, such as Firefox or Chrome, or Safari on the iPhone. Gwibber (or, in this case, the Ubuntu application) will likely be suspended.
[2]

[1] http://ubuntuforums.org/showthread.php?t=1565315
[2] http://www.omgubuntu.co.uk/2010/09/oauthcalypse-arrives-gwibber-is-ready.html#comment-73648611

Greg A (etulfetulf)
security vulnerability: yes → no
visibility: private → public
Revision history for this message
Greg A (etulfetulf) wrote :

This is not a duplicate of bug #627565 - more a bug in the current fix forbug #627565

Revision history for this message
Vadim Rutkovsky (roignac) wrote :

If a new browser will be opened, secret and access token cannot be passed back to Gwibber. In this case, we have to use embedded browser.

Revision history for this message
Vincent (vinnl) wrote :

Ah good, there's a bug now :)

After some quick research I ended up here: http://dev.twitter.com/pages/xauth

Has Gwibber already applied for xAuth privileges? Doesn't sound like it should be hard to obtain (and perhaps should've been requests a while ago if it hasn't been yet).

Revision history for this message
Vincent (vinnl) wrote :

Oh, by the way, an alternative sign-in process for Facebook would also be desirable for the same reasons I outlined in the forum post.

Revision history for this message
Armin Ronacher (mitsuhiko) wrote :

The current process of gwibber is perfectly fine as far as I know. I don't know any twitter client that uses something different there. xauth privileges are only given to applications for the transition phase to oauth.

Revision history for this message
Ken VanDine (ken-vandine) wrote :

xAuth keys have special privileges and twitter said they would not give them to us. The current implementation is the simplest for users. If we opened a browser window, we rely on the user needing to copy and paste from the browser into gwibber. I don't really see a problem with embedding a browser into the accounts dialog, it is just a browser and a user can either allow or deny gwibber access. If they don't allow it, then nothing is passed back to gwibber.

Revision history for this message
Ken VanDine (ken-vandine) wrote :

The current implementation does not "replicate, frame, or mirror the Twitter website or its design." It is just a browser displaying the full page twitter provides, I see no way this could violate the TOS. I don't see anything that specifies which browsers are allowed, do you have a reference for that?

Revision history for this message
Ken VanDine (ken-vandine) wrote :

As far as I can tell, this isn't a breach. If any finds a reference otherwise, please re-open.

Changed in gwibber:
assignee: nobody → Ken VanDine (ken-vandine)
status: New → Invalid
Revision history for this message
Vincent (vinnl) wrote :

The current implementation does frame the Twitter website. The risk is a phishing risk: Gwibber could very well be pretending to display the Twitter website but not actually displaying it.

Anyway, I suppose if xAuth was not granted and Twitter is being such a PITA about it (which I'm glad Ryan Paul has commented on [1]), this method isn't worse than the previous one, and Gwibber can't really help it. Good to know it is being actively looked at, so that if Twitter was ever to fix its progress, Gwibber would adopt it (I suppose).

[1] http://arstechnica.com/security/guides/2010/09/twitter-a-case-study-on-how-to-do-oauth-wrong.ars/

Revision history for this message
Ken VanDine (ken-vandine) wrote :

It isn't actually framing the website, it is displaying the whole website, just another browser. Twitter's definition of framing is using an iframe, embedded in another page. Twitter is very focused on other web applications that use twitter, not really desktop clients. So they not only don't cater to our use case technically, their terminology is different too.

gwibber-accounts displays the full web page, just like any other browser. As far as phishing attacks go, the user has to tell twitter they are trusting gwibber/ubuntu as a client anyway, if they don't trust the application they wouldn't even get that far. It isn't like some random window that pops up when a user clicks on a link in a web page pretending to be something else. This is a desktop service, which the user has to choose to run, in doing so they are already trusting it.

Revision history for this message
Olivier Jeulin (olivierjln) wrote :

Ken VanDine wrote on 2010-09-01: …“I don't really see a problem with embedding a browser into the accounts dialog, it is just a browser and a user can either allow or deny gwibber access.”
No it's not "just a browser": in a browser, I can check the URL and the protocal (I use https to log in to twitter). With this embedded browser, I can't check anything.
Oh, and the authorization page says that the application "Ubuntu" is requesting access to twitter. "Ubuntu"? Sorry, that doesn't look good to me.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.