Application_Webkit

Version 3.1 by Nicolas Gregoire on 2012/01/13 21:59

Dixit Wikipedia : "WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari that by December 2011 held 33.35% of the browser market share between them (according to StatCounter). It is also used as the basis for the experimental browser included with the Amazon Kindle ebook reader, as well as the default browser in the iOS, Android and webOS mobile operating systems."

Applications

Webkit is used as the rendering engine of numerous browsers :

  • Google Chrome : not vulnerable, because of its sandbox
  • Apple Safari : patch available (v5.1)
  • Apple iTunes : patch available (v10.5)
  • Apple iOS : patch available (v5)
  • Maxthon MX3 : v3.0.22.2000 is vulnerable, recent versions weren't tested
  • HP webOS : patch available (v3.0.2)
  • Nokia S60 : untested
  • Blackberry Torch / Playbook : not vulnerable according to the BBSIRT 
  • Epiphany : v2.30.2 available in Ubuntu 10.04 is vulnerable

It is also used in others softwares rendering HTML :

  • Liferea (RSS reader) :  v1.6.2 available in Ubuntu 10.04 is vulnerable
  • Amazon Kindle : untested
  • Valve Steam : untested
  • and much more ...

File creation vulnerability

Webkit uses libxslt as its XSLT engine. Old versions were not restricting write access by the engine to the file system, leading to a remotely exploitable vulnerability (CVE-2011-1774). This was patched in Changeset 79159 by adding appropriate calls to xsltSetSecurityPrefs().

PoC included on the libxslt page are enough to demonstrate the vulnerability. A auxiliary plugin is available in Metasploit