CVE-2020-28458 is a prototype pollution vulnerability in all versions of the datatables.net package. The vulnerability exists due to an incomplete fix for a previous issue (SNYK-JS-DATATABLESNET-598806), allowing attackers to manipulate the prototype of base objects via crafted input.
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.
2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos.
This repository provides a Python-based exploit and scanner for CVE-2020-28458, a prototype pollution vulnerability in DataTables (datatables.net) versions 1.10.16 through 1.10.22. The main exploit is implemented in 'exploit.py', which sends a crafted JSON payload to a user-specified HTTP endpoint in an attempt to pollute the JavaScript object prototype on the server. The exploit checks for success by looking for a 'polluted' property in the server's response. Supporting scripts include 'CVE-2020-28458_scanner_' and 'datatables_versions_scanner.py', which help identify if a target is running a vulnerable version of DataTables and enumerate common DataTables endpoints. The repository also contains a Python virtual environment and dependencies, but the core logic is in the three main Python scripts. The exploit is operational and can be used to verify and exploit the vulnerability on susceptible web applications.
This repository provides tools for detecting and exploiting CVE-2020-28458, a prototype pollution vulnerability in DataTables (versions 1.10.16 through 1.10.22). The structure includes three Python scripts: 1. 'CVE-2020-28458_scanner_' is a scanner that checks a given URL for the presence of DataTables and attempts to determine its version by parsing the HTML response. It reports if the detected version is vulnerable. 2. 'datatables_versions_scanner.py' is a simpler scanner that checks for the presence of DataTables in the HTML and probes several common endpoints (such as '/api/data', '/data', '/datatable') to identify possible DataTables API endpoints. 3. 'exploit.py' is the main exploit script. It sends a specially crafted JSON payload to a user-supplied URL, attempting to exploit the prototype pollution vulnerability by injecting a property ('polluted') into the global object prototype. The script checks the response for evidence of successful exploitation. The repository is focused on web-based exploitation, requiring the attacker to know or guess the correct endpoint that processes JSON input. The exploit is operational, providing a working payload and basic detection of success, but does not include advanced post-exploitation features. No hardcoded IPs or domains are present; all endpoints are user-supplied or based on common patterns.
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.
No public activity tracked yet. Mallory keeps watching.
No public activity observed for this vulnerability.
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.