Home Cyber Attack New JavaScript-based SMASH Attack Confirms Rowhammer Bug As A Persistent Threat

New JavaScript-based SMASH Attack Confirms Rowhammer Bug As A Persistent Threat

by Abeerah Hashim
SMASH attack rowhammer

While Rowhammer attacks are nothing new, another exploitation of the bug has arrived. Dubbed SMASH, the Javascript-based attack exploits Rowhammer to target even some of the modern DDR4 RAM cards.

SMASH Attack Exploits Rowhammer Bug

Researchers from the Vrije University in Amsterdam and ETH Zurich have shared their findings of a new Rowhammer exploit. They have called it ‘SMASH’ (Synchronized MAny-Sided Hammering) attack that bypasses existing mitigations for Rowhammer. Thus, this technique can aggressively target the modern DDR4 systems as well

Briefly, SMASH is a JavaScript-based attack that triggers bit flips to target the browser. As explained by the researchers,

SMASH exploits high-level knowledge of cache replacement policies to generate optimal access patterns for eviction-based many-sided Rowhammer. To lift the requirement for large physically-contiguous memory regions, SMASH decomposes n-sided Rowhammer into multiple double-sided pairs, which we can identify using slice coloring. Finally, to bypass the in-DRAM TRR mitigations, SMASH carefully schedules cache hits and misses to successfully trigger synchronized many-sided Rowhammer bit flips.

In a real-world scenario, executing the SMASH attack only requires a target user to visit a malicious website (set up by the attacker) or visit a site with a malicious ad. It can then let the adversary takeover a user’s browser. In their study, the researchers could easily SMASH Firefox browser within 15 minutes.

The following video demonstrates the attack. Whereas, the researchers have shared the code on GitHub.

Recommended Mitigations

Alongside presenting the details of the attack, the researchers have also shared some mitigations. In short, they recommend disabling THP, which SMASH necessarily requires to build self-evicting patterns. Also, the researchers’ exploit heavily relied on browser pointers to break ASLR. Thus, protecting the integrity of pointers can also help in preventing these SMASH attacks.

The researchers have shared the details of the SMASH attack in a white paper scheduled for presentation at the USENIX Security ’21.

You may also like

Latest Hacking News

Privacy Preference Center


The __cfduid cookie is used to identify individual clients behind a shared IP address and apply security settings on a per-client basis.

cookie_notice_accepted and gdpr[allowed_cookies] are used to identify the choices made from the user regarding cookie consent.

For example, if a visitor is in a coffee shop where there may be several infected machines, but the specific visitor's machine is trusted (for example, because they completed a challenge within your Challenge Passage period), the cookie allows Cloudflare to identify that client and not challenge them again. It does not correspond to any user ID in your web application, and does not store any personally identifiable information.

__cfduid, cookie_notice_accepted, gdpr[allowed_cookies]


DoubleClick by Google refers to the DoubleClick Digital Marketing platform which is a separate division within Google. This is Google’s most advanced advertising tools set, which includes five interconnected platform components.

DoubleClick Campaign Manager: the ad-serving platform, called an Ad Server, that delivers ads to your customers and measures all online advertising, even across screens and channels.

DoubleClick Bid Manager – the programmatic bidding platform for bidding on high-quality ad inventory from more than 47 ad marketplaces including Google Display Network.

DoubleClick Ad Exchange: the world’s largest ad marketplace for purchasing display, video, mobile, Search and even Facebook inventory.

DoubleClick Search: is more powerful than AdWords and used for purchasing search ads across Google, Yahoo, and Bing.

DoubleClick Creative Solutions: for designing, delivering and measuring rich media (video) ads, interactive and expandable ads.



The _ga is asssociated with Google Universal Analytics - which is a significant update to Google's more commonly used analytics service. This cookie is used to distinguish unique users by assigning a randomly generated number as a client identifier. It is included in each page request in a site and used to calculate visitor, session and campaign data for the sites analytics reports. By default it is set to expire after 2 years, although this is customisable by website owners.

The _gat global object is used to create and retrieve tracker objects, from which all other methods are invoked. Therefore the methods in this list should be run only off a tracker object created using the _gat global variable. All other methods should be called using the _gaq global object for asynchronous tracking.

_gid works as a user navigates between web pages, they can use the gtag.js tagging library to record information about the page the user has seen (for example, the page's URL) in Google Analytics. The gtag.js tagging library uses HTTP Cookies to "remember" the user's previous interactions with the web pages.

_ga, _gat, _gid