diff --git a/.gitmodules b/.gitmodules index 0c9f13beb..f9464ea1c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -60,7 +60,7 @@ url=git@github.com:isubit/luggage_placeholder.git url = git@github.com:isubit/luggage_people_isu.git [submodule "sites/all/themes/omega"] path = sites/all/themes/omega - url = http://git.drupal.org/project/omega.git + url = https://git.drupalcode.org/project/omega.git [submodule "sites/all/themes/suitcase"] path = sites/all/themes/suitcase url = git@github.com:isubit/suitcase.git diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 39c48f1ba..870dd3446 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,12 @@ Drupal 7.xx, xxxx-xx-xx (development version) ----------------------- +Drupal 7.70, 2020-05-19 +----------------------- +- Fixed security issues: + - SA-CORE-2020-002 + - SA-CORE-2020-003 + Drupal 7.69, 2019-12-18 ----------------------- - Fixed security issues: diff --git a/LUGGAGE_CHANGELOG.txt b/LUGGAGE_CHANGELOG.txt index 186e1522f..a6d8097d5 100644 --- a/LUGGAGE_CHANGELOG.txt +++ b/LUGGAGE_CHANGELOG.txt @@ -2,6 +2,11 @@ How to read this changelog: The LUGG- prefix refers to JIRA issue numbers; the # prefix refers to GitHub issue numbers. +Luggage 3.6.11, 2020-05-20 +Drupal 7.70, 2020-05-20 +------------------------- +- LUGG-1211 Drupal 7.70 SA-CORE-2020-002 SA-CORE-2020-003 + Luggage 3.6.10, 2020-03-09 Drupal 7.69, 2019-12-18 ------------------------- diff --git a/LUGGAGE_ISU_CHANGELOG.txt b/LUGGAGE_ISU_CHANGELOG.txt index 046cb6dd0..5ba84779c 100644 --- a/LUGGAGE_ISU_CHANGELOG.txt +++ b/LUGGAGE_ISU_CHANGELOG.txt @@ -6,6 +6,12 @@ The Luggage_ISU version number shows the upstream Luggage version it is based on as well as the Luggage_ISU version. For example, Luggage_ISU 3.5.0-5.0 is based on the upstream Luggage release 3.5.0. +Luggage_ISU 3.6.11-6.11, 2020-05-20 +Drupal 7.70, 2020-05-20 +------------------------- +Merged with upstream Luggage 3.6.11 +- LUGG-1211 - Drupal 7.70 SA-CORE-2020-002 SA-CORE-2020-003 + Luggage_ISU 3.6.10-6.10, 2020-03-09 Drupal 7.69, 2019-12-18 ------------------------- diff --git a/LUGGAGE_ISU_VERSION.php b/LUGGAGE_ISU_VERSION.php index a877ed6fa..7fe2a8932 100644 --- a/LUGGAGE_ISU_VERSION.php +++ b/LUGGAGE_ISU_VERSION.php @@ -1,3 +1,3 @@ 3) || (majorVersion === 3 && minorVersion >= 5) ) { + return; + } + + // Prior to jQuery 3.5, jQuery converted XHTML-style self-closing tags to + // their XML equivalent: e.g., "
" to "". This is + // problematic for several reasons, including that it's vulnerable to XSS + // attacks. However, since this was jQuery's behavior for many years, many + // Drupal modules and jQuery plugins may be relying on it. Therefore, we + // preserve that behavior, but for a limited set of tags only, that we believe + // to not be vulnerable. This is the set of HTML tags that satisfy all of the + // following conditions: + // - In DOMPurify's list of HTML tags. If an HTML tag isn't safe enough to + // appear in that list, then we don't want to mess with it here either. + // @see https://github.com/cure53/DOMPurify/blob/2.0.11/dist/purify.js#L128 + // - A normal element (not a void, template, text, or foreign element). + // @see https://html.spec.whatwg.org/multipage/syntax.html#elements-2 + // - An element that is still defined by the current HTML specification + // (not a deprecated element), because we do not want to rely on how + // browsers parse deprecated elements. + // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element + // - Not 'html', 'head', or 'body', because this pseudo-XHTML expansion is + // designed for fragments, not entire documents. + // - Not 'colgroup', because due to an idiosyncrasy of jQuery's original + // regular expression, it didn't match on colgroup, and we don't want to + // introduce a behavior change for that. + var selfClosingTagsToReplace = [ + 'a', 'abbr', 'address', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', + 'blockquote', 'button', 'canvas', 'caption', 'cite', 'code', 'data', + 'datalist', 'dd', 'del', 'details', 'dfn', 'div', 'dl', 'dt', 'em', + 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', + 'h4', 'h5', 'h6', 'header', 'hgroup', 'i', 'ins', 'kbd', 'label', 'legend', + 'li', 'main', 'map', 'mark', 'menu', 'meter', 'nav', 'ol', 'optgroup', + 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', + 'ruby', 's', 'samp', 'section', 'select', 'small', 'source', 'span', + 'strong', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', + 'thead', 'time', 'tr', 'u', 'ul', 'var', 'video' + ]; + + // Define regular expressions for