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).”
Also Read New Attack Called “XSSJacking” Discovered That Combined of Clickjacking, Pastejacking and Self-XSS Attacks
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.
The best defense for the users is to disable the execution of that CSS in the browser, researchers submitted plugins for Chrome and Firefox to defend against the CSS Exfil attacks.
Sounds like the best security decision would be to NOT USE CSS – duh…..