15 lines of CSS code can cause Apple devices to crash, and the latest iOS 12 is not immune

15 lines of CSS code can cause Apple devices to crash, and the latest iOS 12 is not immune

Just 15 lines of CSS to crash your iPhone

Security researcher Sabri Haddouche of Wire has discovered a new attack that can cause iOS to reboot and macOS to freeze simply by visiting a webpage containing certain CSS and HTML. Windows and Linux users are not affected by this bug.

The attack exploits a weakness in the -webkit-backdrop-filter CSS property, by using nested divs with that property, it can quickly consume all graphical resources and crash or freeze the operating system. The attack does not require Javascript to be enabled, so it also works in Mail. On macOS, this manifests as a UI freeze. On iOS, this manifests itself as a device reboot. The attack affects all browsers on iOS, as well as Safari and Mail in macOS, since they all use the WebKit rendering engine.

For those who want to see the code that leads to this attack, the researchers have published it on their GitHub page.

Be careful when clicking on rawgit.com links, as it can quickly crash iOS or cause problems on your Mac.

rawgit.com link:

https://www.bleepingcomputer.com/news/security/new-css-attack-restarts-an-iphone-or-freezes-a-mac/

Code GitHub:

https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea

Open this GitHub page and you can see the code as follows:

The red part above is a base64-encoded image, and below it are many <div> tags. As Haddouche said, the purpose of the attack is to consume device resources by embedding a large number of HTML element tags in the filter attributes.

<<:  HTML Tutorial: Collection of commonly used HTML tags (5)

>>:  When modifying a record in MySQL, the update operation field = field + string

Recommend

Example of how to deploy a Django project using Docker

It is also very simple to deploy Django projects ...

How to write high-quality JavaScript code

Table of contents 1. Easy to read code 1. Unified...

Summary of CSS front-end knowledge points (must read)

1. The concept of css: (Cascading Style Sheet) Ad...

Basic understanding and use of HTML select option

Detailed explanation of HTML (select option) in ja...

Web Design Tutorial (7): Improving Web Design Efficiency

<br />Previous article: Web Design Tutorial ...

How to create an index on a join table in MySQL

This article introduces how to create an index on...

Native js to realize a simple snake game

This article shares the specific code of js to im...

A Different Kind of "Cancel" Button

The “Cancel” button is not part of the necessary ...

Basic learning and experience sharing of MySQL transactions

A transaction is a logical group of operations. E...

Detailed explanation of Vue configuration request multiple server solutions

1. Solution 1.1 Describing the interface context-...

Mysql splits string into array through stored procedure

To split a string into an array, you need to use ...

10 key differences between HTML5 and HTML4

HTML5 is the next version of the HTML standard. M...

Teach you to create custom hooks in react

1. What are custom hooks Logic reuse Simply put, ...

Detailed explanation of how to adjust Linux command history

The bash history command in Linux system helps to...

Detailed explanation of several examples of insert and batch statements in MySQL

Table of contents Preface 1.insert ignore into 2....