# DRUPAL-CORE-2020-002: The jQuery project released version 3.5.0, and as part of that, disclosed two security vulnerabilities that affect all prior versions.

> Vulnerable jQuery DOM manipulation methods allow attackers to execute arbitrary scripts via crafted HTML, affecting Drupal sites using affected versions.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 20 May 2020

## What is DRUPAL-CORE-2020-002?

DRUPAL-CORE-2020-002 is a cross-site scripting vulnerability in drupal/core, published on 20 May 2020. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

### Official description

The jQuery project released version 3.5.0, and as part of that, disclosed two security vulnerabilities that affect all prior versions. As mentioned in the [jQuery blog](https://blog.jquery.com/2020/05/04/jquery-3-5-1-released-fixing-a-regression/), both are

> [...] security issues in jQuery’s DOM manipulation methods, as in `.html()`, `.append()`, and the others. Security advisories for both of these issues have been published on GitHub.

Those advisories are:

* [CVE-2020-11022](https://github.com/jquery/jquery/security/advisories/GHSA-gxr4-xjj5-5px2)
* [CVE-2020-11023](https://github.com/jquery/jquery/security/advisories/GHSA-jpcq-cgw6-v4j6)

These vulnerabilities may be exploitable on some Drupal sites. This Drupal security release backports the fixes to the relevant jQuery functions, without making any other changes to the jQuery version that is included in Drupal core or running on the site via some other module such as [jQuery Update](https://www.drupal.org/project/jquery_update). It is not necessary to update jquery\_update on Drupal 7 sites that have the module installed.

Backwards-compatibility code has also been added to minimize regressions to Drupal sites that might rely on jQuery's prior behavior. With jQuery 3.5, incorrect self-closing HTML tags in JavaScript for elements where end tags are normally required will encounter [a change in what jQuery returns or inserts](https://jquery.com/upgrade-guide/3.5/#description-of-the-change). To minimize that disruption in 8.8.x and earlier, this security release retains jQuery's prior behavior for most safe tags. There may still be regressions for edge cases, including invalidly self-closed [custom elements](https://html.spec.whatwg.org/multipage/custom-elements.html) on Internet Explorer.

(Note: the backwards compatibility layer will not be included in the upcoming Drupal 8.9 and 9.0 releases, so Drupal 8 and 9 modules, themes, and sites should correct tags in JavaScript to properly use closing tags.)

If you find a [regression](https://en.wikipedia.org/wiki/Software_regression) caused by the jQuery changes, please report it in [Drupal core's issue queue](https://www.drupal.org/project/issues/drupal) (or that of the relevant contrib project). However, if you believe you have found a security issue, please [report it privately to the Drupal Security Team](https://www.drupal.org/security-team/report-issue).

## Which versions are affected by DRUPAL-CORE-2020-002?

1 open source package ship an affected version, including drupal/core.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `drupal/core` | Packagist | From 8.0.0 | 8.7.14, 8.8.6 |

## How do I fix DRUPAL-CORE-2020-002?

Upgrade drupal/core to a fixed version for your release line: 8.7.14 or 8.8.6.

## Is DRUPAL-CORE-2020-002 being exploited?

There is no known exploitation of DRUPAL-CORE-2020-002 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for DRUPAL-CORE-2020-002 and fix it if it is affected.

What it is: DRUPAL-CORE-2020-002 is a cross-site scripting vulnerability in drupal/core, published on 20 May 2020. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Exploitation: There is no known exploitation of DRUPAL-CORE-2020-002 in the wild and no public exploit code.

Affected packages and fixed versions:
- drupal/core (Packagist): affected from 8.0.0; fixed in 8.7.14, 8.8.6

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/DRUPAL-CORE-2020-002/ (Markdown: https://insights.sbomify.com/DRUPAL-CORE-2020-002/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/DRUPAL-CORE-2020-002

---
From sbomify Insights: https://insights.sbomify.com/DRUPAL-CORE-2020-002/
Summaries are generated and may contain mistakes; the official description above is the record.
