# CVE-2019-5428: jQuery prototype pollution in extend() method

Source: https://junglewise.ai/threats/cve-2019-5428-jquery-prototype-pollution-in-extend-method  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2019-04-23. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2019-5428 · Severity: info · CVSS 6.1 · Published 2019-04-23

jQuery is a widely-used JavaScript library for web development. Versions prior to 3.4.0 contain a prototype pollution vulnerability in the extend() method that allows attackers to modify core JavaScript object properties, potentially affecting all objects created by an application. This could lead to unexpected behavior, security bypasses, or application malfunction across websites using vulnerable versions.

Technologies: [jQuery](https://junglewise.ai/threats/technologies/jquery), [org.webjars.npm:jquery (Maven)](https://junglewise.ai/threats/technologies/org-webjars-npm-jquery), [jquery-rails (RubyGems)](https://junglewise.ai/threats/technologies/jquery-rails). Vendors: [jQuery](https://junglewise.ai/threats/vendors/jquery), [Maven](https://junglewise.ai/threats/vendors/maven), [RubyGems](https://junglewise.ai/threats/vendors/rubygems).

## Quick answers

**Is CVE-2019-5428 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2019-5428 being exploited in the wild.

**How severe is CVE-2019-5428?** Informational severity, with a CVSS score of 6.1, published 23 April 2019.

**Which products and versions are affected?** jQuery prior to 3.4.0; org.webjars.npm:jquery (Maven) ECOSYSTEM:introduced=0,fixed=3.4.0; jquery-rails (RubyGems) ECOSYSTEM:introduced=0,fixed=3.4.0.

**Is there a fix for CVE-2019-5428?** Yes. org.webjars.npm:jquery (Maven): upgrade to 3.4.0 or later; jquery-rails (RubyGems): upgrade to 3.4.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2019-5428 attacked?** It is attacked over the network.

**Am I affected by CVE-2019-5428?** Check whether you run jQuery, org.webjars.npm:jquery (Maven) or jquery-rails (RubyGems) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- org.webjars.npm:jquery (Maven): upgrade to 3.4.0 or later

  ```sh
  # set org.webjars.npm:jquery to 3.4.0 in your pom.xml or build.gradle
  ```

- jquery-rails (RubyGems): upgrade to 3.4.0 or later

  ```sh
  bundle update jquery-rails
  ```


## Technical details

The vulnerability is a prototype pollution flaw in jQuery's extend() method (particularly the deep/recursive extend variant with true parameter). An attacker can supply malicious input to the extend() function that modifies Object.prototype, poisoning the prototype chain and affecting all objects in the application. The attack requires the ability to pass untrusted data to an extend() call but does not require authentication or special privileges. Exploitation can result in property injection into all JavaScript objects, enabling logic bypass, denial of service, or information disclosure. The fix was released in jQuery 3.4.0 (patch merged March 2019) and requires upgrading to that version or later.

## Affected products

- jQuery jQuery prior to 3.4.0
- jQuery jquery-rails prior to 3.4.0

## Identifiers

- CVE-2019-5428
- GHSA-wv67-q8rr-grjp

## Timeline

- 2019-04-23: disclosed
- 2019-04-10: patched: jQuery 3.4.0 released with fix

## References

- [https://github.com/jquery/jquery/pull/4333](https://github.com/jquery/jquery/pull/4333)

## Related threats

- [jQuery Cross Site Scripting in htmlPrefilter](https://junglewise.ai/threats/jquery-cross-site-scripting-in-htmlprefilter-9649f1a0)
- [jQuery Cross-Site Scripting in location.hash element selection](https://junglewise.ai/threats/cve-2011-4969-jquery-cross-site-scripting-in-location-hash-element-selection)
- [jQuery Cross-Site Scripting in main jQuery function](https://junglewise.ai/threats/cve-2012-6708-jquery-cross-site-scripting-in-main-jquery-function)
- [jQuery cross-site scripting in load method](https://junglewise.ai/threats/cve-2020-7656-jquery-cross-site-scripting-in-load-method)
- [jQuery DOM manipulation XSS via option elements](https://junglewise.ai/threats/cve-2020-11023-jquery-cross-site-scripting-xss-vulnerability)
