The online world was all aflutter yesterday with news of a worm spreading through Twitter. The "onMouseOver" issue--which presented pop-up boxes and redirected users to porn sites -- was quickly handled by Twitter, but the events that led up to it hold some valuable lessons for IT.
A blog post from the official Twitter blog explains the worm incident in more detail. "Early this morning, a user noticed the security hole and took advantage of it on Twitter.com. First, someone created an account that exploited the issue by turning tweets different colors and causing a pop-up box with text to appear when someone hovered over the link in the Tweet. This is why folks are referring to this an "onMouseOver" flaw -- the exploit occurred when someone moused over a link. Other users took this one step further and added code that caused people to retweet the original Tweet without their knowledge."
There is nothing all that mystical about cross-site scripting (XSS) vulnerabilities. In terms of Web attacks, XSS is fairly common and doesn't require any significant skill. IT admins and Web developers should already be aware of the potential risks and should be inspecting Web code to ensure such holes aren't left open.
That brings us to the lesson part of the Twitter incident. The fact is, Twitter did know about the XSS hole. In fact, Twitter knew a month prior to this worm incident, and actually patched the hole to prevent attackers from exploiting it.
If that is the case, how was the XSS hole still open? Well, it wasn't "still" open, it was open again. Twitter explains, "We discovered and patched this issue last month. However, a recent site update (unrelated to new Twitter) unknowingly resurfaced it."
Therein lies the lesson. It is an old one, but obviously worth reiterating in light of the Twitter worm incident. IT needs to have effective patch management and change control procedures in place--in addition to secure coding practices -- to ensure that subsequent patches, changes, or modifications to servers or Web sites don't expose new holes, or -- as happened with Twitter -- re-open previously identified and patched vulnerabilities.
Thankfully, the Twitter worm was more mischievous than malicious, and the nature of the Twitter community led to quick discovery and resolution of the issue. But, a similar XSS flaw on your Web server might not be so lucky, so learn from Twitter's mistake and be more vigilant.