CVE-2026-2964 is a prototype pollution vulnerability in higuma web-audio-recorder-js versions 0.1 and 0.1.1. The issue affects the extend function in lib/WebAudioRecorder.js within the library's dynamic configuration handling. By supplying crafted input to the merge/extension logic, an attacker can cause improperly controlled modification of object prototype attributes, including dangerous properties such as proto, prototype, or constructor. Because the vulnerable behavior occurs during configuration processing, exploitation is possible remotely where attacker-controlled data can reach the affected function. Public exploit information is available, although exploitation is described as complex and difficult.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a small Node.js lab that demonstrates CVE-2026-2964 as a server-side prototype pollution to RCE chain using the web-audio-recorder-js library. The main exploit path is in index-vulnerable.js, which starts an Express server, parses JSON bodies, loads WebAudioRecorder.js from ./lib/WebAudioRecorder.js via vm.runInThisContext, and exposes POST /api/audio/config. The handler takes req.body.config and passes it directly into new webAudioRecorder(fakeNode, userConfig) without sanitization. After object construction, the code checks whether a fresh object inherited a polluted property and then contains an explicit RCE gadget: if ({}).toString === 'pwned', it invokes child_process.execSync('whoami') and returns the result to the client. This makes the repository more than a detector; it is an operational lab exploit demonstrating both pollution and command execution. Repository structure is straightforward: README.md explains setup and usage; index-vulnerable.js is the vulnerable demo server; index-fixed.js is the remediated version; package.json defines the default entry point and a setup script that downloads the upstream WebAudioRecorder.js from GitHub; package-lock.json contains dependency metadata; payload.txt provides two curl payloads, one to verify pollution via Object.prototype.polluted and one to trigger the toString gadget for RCE. The fixed server adds recursive sanitization for dangerous keys (__proto__, constructor, prototype) and an allowlist-based config builder for numChannels, encoding, and workerDir before calling the constructor. The exploit capability is network-reachable through the local HTTP API. An attacker who can send crafted JSON to /api/audio/config can attempt to pollute Object.prototype through the vulnerable library integration. In the lab’s vulnerable implementation, successful pollution of toString to the string 'pwned' causes execution of a hardcoded OS command (whoami), proving code execution in the server context. The code does not include a customizable reverse shell or staged payload, so OPERATIONAL is the best fit rather than WEAPONIZED.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
1 sources tracked across advisories and community write-ups. News coverage will land here when it surfaces.
No news coverage yet. Advisories and community discussion only.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.