Security

Researchers find 134 flaws in the way Word, PDFs, handle scripts

‘Cooperative mutation’ spots problems that checking code alone will miss


Black Hat Asia Security researchers have devised a tool that detects flaws in the way apps like Microsoft Word and Adobe Acrobat process JavaScript, and it's proven so effective they've found 134 bugs – 59 of them considered worthy of a fix by vendors, 33 assigned a CVE number, and 17 producing bug bounty payments totaling $22,000.

The tool is named "Cooper" – a reference to the "Cooperative mutation" technique employed by the tool.

Speaking at the Black Hat Asia conference in Singapore, PhD student Xu Peng of the Chinese Academy of Sciences – one of the tool's co-authors – explained that the likes of Word and Acrobat accept input from scripting languages. Acrobat, for example, allows JavaScript to manipulate PDF files.

Making that happen requires the PDF both to define native PDF objects and to parse JavaScript code. The native objects are processed by Acrobat modules, and an embedded JavaScript engine handles the scripts. A "binding layer" does the translation.

In his talk and a paper [PDF] describing Cooper, Xu and his collaborators assert the binding code "is prone to inconsistent semantics and security holes, which lead to severe vulnerabilities."

That bit about severe vulns is not just bluster. Cooper identified CVE-2021-21028 and https://nvd.nist.gov/vuln/detail/CVE-2021-21035 – a pair of 8.8/10 rated flaws in Acrobat.

Xu said Cooper can find such flaws because the cooperative mutation technique it uses "simultaneously modifies the script code and the related document objects to explore various code paths of the binding code." That approach contrasts with other defensive techniques that check for flaws in scripts.

As explained on the tool's GitHub page, Cooper has three components:

Cooper is therefore in some ways an elaborate fuzzing tool – inferring the relationships guides the process of searching for conditions under which scripts, apps, and the binding layer produce unwanted and/or dangerous behaviour.

The tool is itself a set of scripts – in Python – and is yours for the asking here.

The project was created by Xu Peng and Professor Purui Su, both of the Chinese Academy of Sciences, security researcher Yanhao Wang from the QI-ANXIN Technology Research Institute, and Hong Hu, an assistant professor at Pennsylvania State University. ®

Send us news
27 Comments

Microsoft squashes SmartScreen security bypass bug exploited in the wild

Plus: Adobe, SAP, Fortinet, VMware, Cisco issue pressing updates

US government excoriates Microsoft for 'avoidable errors' but keeps paying for its products

In what other sphere does a bad supplier not feel pain for its foulups?

Adobe will fork over cash for clips to train text-to-video AI

Not touching copyrighted material with a barge pole

Cisco creates architecture to improve security and sell you new switches

Hypershield detects bad behavior and automagically reconfigures networks to snuff out threats

OpenAI's GPT-4 can exploit real vulnerabilities by reading security advisories

While some other LLMs appear to flat-out suck

H-1B visa fraud alive and well amid efforts to crack down on abuse

It's the gold ticket favored by foreign techies – and IT giants suspected of gaming the system

Microsoft slammed for lax security that led to China's cyber-raid on Exchange Online

CISA calls for 'fundamental, security-focused reforms' to happen ASAP, delaying work on other software

It's 2024 and Intel silicon is still haunted by data-spilling Spectre

Go, go InSpectre Gadget

Japanese government rejects Yahoo<i>!</i> infosec improvement plan

Just doesn't believe it will sort out the mess that saw data leak from LINE messaging app

Ransomware feared as IT 'issues' force Octapharma Plasma to close 150+ centers

Source blames BlackSuit infection – as separately ISP Frontier confirms cyberattack

Crooks exploit OpenMetadata holes to mine crypto – and leave a sob story for victims

'I want to buy a car. That's all'

Zero-day exploited right now in Palo Alto Networks' GlobalProtect gateways

Out of the PAN-OS and into the firewall, a Python backdoor this way comes