Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
MediumPublic exploit

jQuery DOM manipulation XSS via htmlPrefilter

IdentifiersCVE-2020-11022CWE-79· Improper Neutralization of Input…

CVE-2020-11022 is a cross-site scripting vulnerability in jQuery affecting versions starting with 1.12.0 and before 3.5.0. The issue is caused by improper handling of attacker-controlled HTML by jQuery's htmlPrefilter logic prior to insertion through DOM manipulation methods such as .html(), .append(), and related APIs. According to the provided content, HTML from untrusted sources may lead to execution of untrusted code even if that HTML has already been sanitized, because jQuery's preprocessing can transform the markup in unsafe ways before it is inserted into the DOM. The vulnerability is patched in jQuery 3.5.0.

Share:
For your environment

Are you exposed to this one?

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.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation results in client-side script execution in the victim's browser in the security context of the affected application or page. This can enable session theft, DOM manipulation, credential harvesting, unauthorized actions on behalf of the user, and access to sensitive data exposed to the page. The provided content characterizes the issue as arbitrary code execution in context, but specifically this is browser-side XSS rather than server-side code execution.

Mitigation

If you can’t patch tonight, do this now.

If immediate upgrade is not possible, avoid passing any untrusted HTML into jQuery DOM manipulation methods such as .html() and .append(). The provided content includes the upstream workaround of overriding jQuery.htmlPrefilter to return the input unchanged: jQuery.htmlPrefilter = function( html ) { return html; }; This workaround requires jQuery 1.12/2.2 or newer. Additional defensive measures include strict contextual output encoding, reducing reliance on HTML injection patterns, and enforcing CSP where feasible, though these are compensating controls rather than a fix.

Remediation

Patch, then assume compromise.

Upgrade jQuery to version 3.5.0 or later; the provided content also references upgrades to 3.7.1 as a downstream remediation. Where this vulnerability is present through bundled or transitive dependencies, update the affected product or package to a release that includes jQuery 3.5.0+ or the vendor-supplied fix. Examples in the content include upgrading OctoberCMS to Build 466 (v1.0.466) or later and updating downstream packages such as jquery-rails 4.4.0 where applicable.
PUBLIC EXPLOITS

Exploits

2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (3 hidden).

VALID 2 / 5 TOTALView more in app
CVE-2020-11022MaturityPoCVerified exploit

This repository is a small browser-side proof-of-concept for CVE-2020-11022 affecting jQuery versions earlier than 3.5.0. It is not a remote exploit framework or weaponized kit; instead, it provides helper scripts to validate a target page and manually demonstrate DOM XSS. The structure is simple: README.md explains the vulnerability and exploitation workflow; jquery_detection.js checks whether jQuery is present and logs its version; dumps_id.js enumerates all DOM element IDs to help identify candidate sinks; payloads.js defines a crafted HTML payload and injects it into the hardcoded selector '#error-msg' using jQuery .html(). The main capability is execution of arbitrary JavaScript in the victim page context via a malicious HTML fragment containing an img onerror handler. No external network endpoints, C2, download URLs, or hardcoded IPs are present. The only fingerprintable targets are local browser-side selectors and file names. Overall, this is a manual DOM-XSS PoC intended for testing vulnerable pages that use old jQuery and unsafe DOM manipulation patterns.

ibnurusdiantoDisclosed May 3, 2026markdownjavascriptbrowserweb
CVE-2020-11022-CVE-2020-11023MaturityPoCVerified exploit

This repository is a proof-of-concept exploit for CVE-2020-11022 and CVE-2020-11023, which are cross-site scripting (XSS) vulnerabilities in jQuery versions prior to 3.5.0. The repository contains two files: a README.md with detailed exploitation instructions and an index.php file that serves as a vulnerable web application. The exploit demonstrates how an attacker can inject arbitrary JavaScript via the 'value' URL parameter, leading to XSS and cookie theft. The attack is performed by hosting index.php on a PHP webserver with a vulnerable jQuery version, then visiting a crafted URL and triggering DOM manipulation via a button. The exploit also shows how to exfiltrate cookies to an attacker-controlled server. The repository is structured as a simple, educational POC and does not include weaponized or automated exploitation features.

0xAJ2KDisclosed Oct 16, 2021phpjavascriptbrowser
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
AdobeAdobe Experience Managerapplication
DebianDebian Linuxoperating_system
DrupalDrupalapplication
Fedora ProjectFedoraoperating_system
JqueryJqueryapplication
JqueryJquery-Railsapplication
Mitsubishi Electric CorporationEcowebserveriiiapplication
NetAppH300e Firmwareoperating_system
NetAppH300s Firmwareoperating_system
NetAppH410c Firmwareoperating_system
NetAppH410s Firmwareoperating_system
NetAppH500e Firmwareoperating_system
NetAppH500s Firmwareoperating_system
NetAppH700e Firmwareoperating_system
NetAppH700s Firmwareoperating_system
NetAppMax Dataapplication
NetAppOncommand Insightapplication
NetAppOncommand System Managerapplication
NetAppSnap Creator Frameworkapplication
NetAppSnapcenterapplication
OctobercmsOctoberapplication
OctobercmsSystemapplication
OpensuseLeapoperating_system
OracleAgile Product Lifecycle Management For Processapplication
OracleAgile Product Supplier Collaboration For Processapplication
OracleApplication Testing Suiteapplication
OracleBanking Digital Experienceapplication
OracleBlockchain Platformapplication
OracleCommunications Application Session Controllerapplication
OracleCommunications Billing And Revenue Managementapplication
OracleCommunications Diameter Signaling Router Idih:application
OracleCommunications Eagle Application Processorapplication
OracleCommunications Services Gatekeeperapplication
OracleCommunications Webrtc Session Controllerapplication
OracleEnterprise Manager Ops Centerapplication
OracleEnterprise Session Border Controllerapplication
OracleFinancial Services Analytical Applications Infrastructureapplication
OracleFinancial Services Analytical Applications Reconciliation Frameworkapplication
OracleFinancial Services Asset Liability Managementapplication
OracleFinancial Services Balance Sheet Planningapplication
OracleFinancial Services Basel Regulatory Capital Basicapplication
OracleFinancial Services Basel Regulatory Capital Internal Ratings Based Approachapplication
OracleFinancial Services Data Foundationapplication
OracleFinancial Services Data Governance For Us Regulatory Reportingapplication
OracleFinancial Services Data Integration Hubapplication
OracleFinancial Services Funds Transfer Pricingapplication
OracleFinancial Services Hedge Management And Ifrs Valuationsapplication
OracleFinancial Services Institutional Performance Analyticsapplication
OracleFinancial Services Liquidity Risk Managementapplication
OracleFinancial Services Liquidity Risk Measurement And Managementapplication
OracleFinancial Services Loan Loss Forecasting And Provisioningapplication
OracleFinancial Services Market Risk Measurement And Managementapplication
OracleFinancial Services Price Creation And Discoveryapplication
OracleFinancial Services Profitability Managementapplication
OracleFinancial Services Regulatory Reporting For European Banking Authorityapplication
OracleFinancial Services Regulatory Reporting For Us Federal Reserveapplication
OracleHealthcare Foundationapplication
OracleHospitality Materials Controlapplication
OracleHospitality Simphonyapplication
OracleInsurance Accounting Analyzerapplication
OracleInsurance Allocation Manager For Enterprise Profitabilityapplication
OracleInsurance Data Foundationapplication
OracleInsurance Insbridge Rating And Underwritingapplication
OracleJdeveloperapplication
OraclePeoplesoft Enterprise Peopletoolsapplication
OraclePolicy Automationapplication
OraclePolicy Automation Connector For Siebelapplication
OraclePolicy Automation For Mobile Devicesapplication
OracleRetail Back Officeapplication
OracleRetail Customer Management And Segmentation Foundationapplication
OracleRetail Returns Managementapplication
OracleSiebel Ui Frameworkapplication
OracleStoragetek Acslsapplication
OracleWeblogic Serverapplication
TenableLog Correlation Engineapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity3

Community discussion across Reddit, Mastodon, and other social sources.