CSS is a stylesheet language which provides a presentation for documents, all our modern websites heavily depend on the CSS. A new CSS vulnerability dubbed CSS Exfil can be used by attackers to steal data from the webpages using CSS.
With the vulnerability, attackers can steal sensitive data’s including usernames, passwords, and sensitive data such as date of birth, social security numbers, and credit card numbers. Also, this method can de-anonymize Tor users.
Gualtieri says “By crafting targeted CSS selectors and injecting them into a web page, an attacker can trick the page into sending pieces of data to a remote server (e.g. usernames, passwords, and sensitive data such as date of birth, social security numbers, and credit card numbers).”
Attackers can inject CSS, take full control over the look and feel of the website and even steal the data. Also, the exfiltration is easy as they use only CSS.
Attackers can launch various attack scenarios to leverage the CSS Exfil vulnerability
- Reflected or stored code injection flaws.
- Malicious third-party components.
- Hijacked browser extensions.
- DOM elements that added accidentally.
Researchers published PoC explaining CSS Exfil attack to leak page data, stealing password stealing username and date of birth.
A test page was published by the researcher to check your browser against the vulnerability and the test page attempts to load four remote images using CSS selectors which parse a hidden text field. If it is able to load any of those four images your browser is vulnerable to the CSS Exfil attack.
Also, another researcher detailed stealing CSRF token in 10 seconds with CSS injection, once the attacker has stolen the victim CSRF token, he can complete CSRF attack against the user.
Defense Suggested – CSS Exfil
Researchers suggested website owners to use Content Security Policy to limit the ability of an attacker to use the remote URL’s. Fixing code injection flaws and using a Web Application Firewall would help.