Drupal core - Moderately critical - Cross Site Scripting - SA-CORE-2020-002
https://www.drupal.org/sa-core-2020-002Project: Drupal core (
https://www.drupal.org/project/drupal)Date: 2020-May-20Security risk: Moderately critical 10∕25 AC:Complex/A:Admin/CI:Some/II:Some/E:Theoretical/TD:UncommonVulnerability: Cross Site ScriptingDescription: 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).Solution: Install the latest version:
If you are using Drupal 8.8, upgrade to Drupal 8.8.6 (
https://www.drupal.org/project/drupal/releases/8.8.6).
If you are using Drupal 8.7, upgrade to Drupal 8.7.14 (
https://www.drupal.org/project/drupal/releases/8.7.14).
If you are using Drupal 7, upgrade to Drupal 7.70 (
https://www.drupal.org/project/drupal/releases/7.70).
Versions of Drupal 8 prior to 8.7 are end-of-life and do not receive security coverage. Sites on 8.6 or earlier should update to 8.7.14.
The pre-release Drupal versions (8.9 and 9.0) have been updated jQuery to version 3.5.1 as of 8.9.0-beta3 and 9.0.0-beta3.
Reported By: Drew Webber (
https://www.drupal.org/user/255969) of the Drupal Security Team
Emerson Jair Reis Oliveira da Silva (
https://www.drupal.org/user/3580914)
Fixed By: Drew Webber (
https://www.drupal.org/user/255969) of the Drupal Security Team
Sally Young (
https://www.drupal.org/user/161058)
cilefen (
https://www.drupal.org/user/1850070) of the Drupal Security Team
Jess (
https://www.drupal.org/user/65776) of the Drupal Security Team
Emerson Jair Reis Oliveira da Silva (
https://www.drupal.org/user/3580914)
Lee Rowlands (
https://www.drupal.org/user/395439) of the Drupal Security Team