A free browser plugin for creating, editing and viewing PDF files contains 18 security vulnerabilities that could expose users to remote code execution, researchers warned.
According Cisco Talos, the Foxit PDF Reader, which is often used in place of Adobe’s Acrobat application, was designed to securely open protected documents and notify users when new versions of a PDF have been created. The vulnerabilities are primarily found in the product’s JavaScript engine, which was designed to support interactive and dynamic documents, such as PDFs.
How Could the Security Vulnerabilities Be Exploited?
Closing a document can free up used objects embedded in the JavaScript code while the engine continues to operate. Threat actors can take advantage of this window of opportunity — dubbed a “free-after-use” condition — to execute arbitrary code to steal data or perform other malicious actions.
To execute the attack, the researchers noted that, in most cases, the cybercriminals would first need to fool a Foxit user into opening a malicious file. Once any of the 18 security vulnerabilities has been triggered, however, remote code execution attacks could allow attackers to run commands on the victim’s system.
The researchers did not report any instances of users being impacted by the flaws, but they noted that a patch is available that covers all 18 vulnerabilities.
Mitigating the Rush-to-Release Effect
The software market is competitive, and a recent IBM study argued that developers are not necessarily experts in security. As a result, applications are often rushed to release before they can be adequately protected from security vulnerabilities.
The report recommended a strategy that starts with evaluating how important an application is to a particular business or user, scoring the potential risks and then ensuring that the right tools are in place to test and fix any security vulnerabilities that are discovered. Security professionals should regularly review this strategy to gauge the organization’s preparedness for threats such as remote code execution before they happen.
Source: Cisco Talos