Hardening Firefox against Injection Attacks

Web browsers display content using HTML, CSS, and JavaScript, which can be untrusted and potentially malicious. Firefox uses these same technologies for both its interface and web content, creating security challenges.
Overzicht
Web browsers display content in the form of HTML, CSS and JavaScript retrieved from the world wide web. The loaded content is subject to the web security model and considered untrusted and potentially malicious. To complicate security matters, Firefox uses the same technologies to render its user interface as it does to render untrusted web content which blurs the distinction between the two privilege levels.
Getting interactions between the two correct turns out to be complicated and has led to numerous real-world security vulnerabilities. We study those vulnerabilities to discover common threats and explain how we address them systematically to harden Firefox.