The Flash Player update released Tuesday not only fixed two vulnerabilities that were being targeted by attackers, but added additional protections that will make entire classes of security flaws much harder to exploit in the future.
There were three low-level defenses added in Flash Player 18.104.22.168, two of which block a technique that has been used by many Flash exploits since 2013.
The technique involves corrupting the length of an ActionScript Vector buffer object so that malicious code can be placed at predictable locations in memory and executed. ActionScript is the programming language in which Flash applications are written.
This method was used by at least two of the Flash Player exploits found among the files leaked from Italian surveillance software maker Hacking Team, as well as in two other flash zero-day exploits used by cyberespionage groups this year, researchers from Google said in a blog post Thursday.
Google’s security engineers contributed a mitigation for this issue that Adobe Systems integrated into the latest Flash Player version. They call it “heap partitioning” and can be used to isolate different objects from one another in the heap. The heap is special region of the computer’s memory where programs store variables.
“Chrome uses heap partitioning extensively, and it has become a common defensive technique in multiple browsers,” the Google researchers said. “We have now introduced this technology into Flash.”
This defensive mechanism is much more powerful for the 64-bit version of Flash Player, so the Google researchers recommend using a 64-bit browser and Flash on computers that run a 64-bit OS.
The 64-bit version of Google Chrome for example also has other performance and security benefits, they said.
Adobe also developed and added its own mitigation for Vector buffer length corruptions that complements the one contributed by Google. Called Vector length validation, this mitigation works better on 32-bit version of Flash than Google’s defense and also covers more types of Vectors.
Finally, the new Flash Player update also improves the randomization of the Flash heap thanks to another contribution from Google, making exploitation harder.
For now this defense only exists in the Flash Player plug-in that uses the Pepper Plugin API (PPAPI), like the one bundled in Chrome. However, Adobe plans to add it to the other versions of the plug-in—the ones designed for Internet Explorer and Firefox—next month.
The Google researchers expect that attackers will work to find ways around these defenses, but for now the added protection is an important step for Flash Player’s security.
“It’s a cat-and-mouse-game, but we’ll be looking out for attackers’ attempts to adapt, and devising further mitigations based on what we see,” the researchers said. “Perhaps more importantly, we’re also devising a next level of defenses based on what we expect we might see.”