Sealed with an XSS: I gave TweetDeck a heart attack, says teen comp sci boff Firo
I only wanted to post a cute graphic, says innocent lad
A teenager claims to have been the source of the embarrassing TweetDeck security gaffe that was exposed to millions of Twitter users on Wednesday.
The 19-year-old "small, strange but cuddly" Austrian electronics and computer science student - whose handle on the micro-blogging site is Firo Xl - said that he spotted a very basic cross-site scripting (XSS) vuln in the Twitter desktop client when he was experimenting with the code for a heart symbol to tweet to his followers.
"I was tweeting about the HTML-heart-symbol (♥), because I didn't know that this is possible," He told The Register in response to questions via email.
"TweetDeck is not supposed to display this as an image. Because it's simple text, which should be escaped to '♥'. But in my tweet I used the Unicode-character of the heart as a reference for my followers."
He explained to the Reg:
There were two hearts. One was black (at the position where the ♥ was supposed to be) and one was red (this one was the Unicode-char and got replaced by TweetDeck).
So, I started to play around, and discovered, that the Unicode-Heart (which gets replaced with an image by TweetDeck) somehow prevents the tweet from being HTML-escaped. So I used a strong-HTML-tag to verify this ... It worked.
So I wrote a little script which displays a popup and then blocks itself. It worked.
This is called XSS (Cross-Site-Scripting) and is very dangerous. No web developer should ever make this possible. TweetDeck did. And that was the point where I reported this to TweetDeck.
However, Twitter - Firo told us - did not respond directly to his alert.
"TweetDeck actually did not react in any way. Their next tweet was saying that there is a security issue and that users should log in again."
He added: "That TweetDeck made this mistake is really, really bad. As far as I know they already had problems in 2011 I think. In my opinion they should rewrite the whole code."
It meant that hackers could abuse the flaw and go all Maximus Decimus Meridius by hijacking a Twitter account and, well, unleashing viral popup hell.
This tweet alone forced users of Twitter's own flagship client to retweet it more than 80,000 times, after the XSS vuln was crafted to self-propagate across TweetDeck.
Unwitting news organisations - whose social media teams should frankly have known better - were caught up in the chaos. It was amateur hour over at the Beeb after its @BBCBreaking Twitter account, which has more than 10 million followers, was suckerpunched by the vuln because its operators clearly failed to revoke TweetDeck's access in time.
Ironically, Vulture Central notes that the BBC Breaking News crew won gongs at the Online Media Awards last night for best Twitter feed and best use of, ahem, crowd-sourcing and citizen journalism.
Twitter flacks, meanwhile, are keeping quiet about the whole sorry affair after the company said it had fixed the bug late yesterday. A spokeswoman told el Reg that the profit-light micro-blogging site had "nothing to add beyond the @Tweetdeck Tweets."
We asked Firo - whose real name is Florian - if he was hoping for a future career as a white hat. The young man told us: "Actually I don't know what I'm looking for. Let's see what time brings us." ®