Skip to content

update embedded jQuery & jquery-ui to one that addresses known vulnerabilities #279

Open

Description

@foreveremain

We've had some reports from JalviewJS users about detectable vulnerabilities in the SwingJS runtime - see e.g. jalview/jalview-js#12

The core problem is jQuery v1.11.0. Whilst its possible we could patch the vulnerability (or it perhaps isn't even serious for SwingJS deployments), scanners will still see the version number and most likely complain.

I've had a go at porting the patches in swingjs2.js to the latest release of jQuery, this seemed to work OK - but I've now got issues with JQueryUI. Would be great to get some guidance @BobHanson !

Activity

  1. BobHanson commented on Jan 25, 2025

    @BobHanson
    Owner
  2. foreveremain commented on Jan 27, 2025

    @foreveremain
    Author

    Mostly they're just detecting that jquery 1.11 is luring inside swingjs/swingjs2.js - this is picked up by retire.js. I can see that Jmol's demo pages don't get flagged - since Jmol-SwingJS bundles jQuery v3.7.4. I guess the simplest thing would be to rebuild against the unified SwingJS/Jmol-SwingJS runtime ?

    retire.js report:

    1.11.0 Found in https://builds.jalview.org/artifact/JB-GJB/shared/build-472/JalviewJS-site/swingjs/swingjs2.js _____Vulnerability info:medium2432 3rd party CORS request may execute CVE-2015-9251 GHSA-rmxg-73gg-4p981234mediumCVE-2015-9251 11974 parseHTML() executes scripts in event handlers GHSA-rmxg-73gg-4p98123mediumCVE-2019-11358 4333 jQuery before 3.4.0, as used in Drupal, Backdrop CMS, and other products, mishandles jQuery.extend(true, {}, ...) because of Object.prototype pollution GHSA-6c3j-c64m-qhgq123mediumCVE-2020-11022 4642 Regex in its jQuery.htmlPrefilter sometimes may introduce XSS GHSA-gxr4-xjj5-5px21mediumCVE-2020-11023 CVE-2020-23064 4647 passing HTML containing elements from untrusted sources - even after sanitizing it - to one of jQuery's DOM manipulation methods (i.e. .html(), .append(), and others) may execute untrusted code. GHSA-jpcq-cgw6-v4j61low73 jQuery 1.x and 2.x are End-of-Life and no longer receiving security update medium 2432 3rd party CORS request may execute CVE-2015-9251 GHSA-rmxg-73gg-4p98 1234 medium CVE-2015-9251 11974 parseHTML() executes scripts in event handlers GHSA-rmxg-73gg-4p98 123 medium CVE-2019-11358 4333 jQuery before 3.4.0, as used in Drupal, Backdrop CMS, and other products, mishandles jQuery.extend(true, {}, ...) because of Object.prototype pollution GHSA-6c3j-c64m-qhgq 123 medium CVE-2020-11022 4642 Regex in its jQuery.htmlPrefilter sometimes may introduce XSS GHSA-gxr4-xjj5-5px2 1 medium CVE-2020-11023 CVE-2020-23064 4647 passing HTML containing elements from untrusted sources - even after sanitizing it - to one of jQuery's DOM manipulation methods (i.e. .html(), .append(), and others) may execute untrusted code. GHSA-jpcq-cgw6-v4j6 1 low 73 jQuery 1.x and 2.x are End-of-Life and no longer receiving security update
    medium 2432 3rd party CORS request may execute CVE-2015-9251 GHSA-rmxg-73gg-4p98 1234
    medium CVE-2015-9251 11974 parseHTML() executes scripts in event handlers GHSA-rmxg-73gg-4p98 123
    medium CVE-2019-11358 4333 jQuery before 3.4.0, as used in Drupal, Backdrop CMS, and other products, mishandles jQuery.extend(true, {}, ...) because of Object.prototype pollution GHSA-6c3j-c64m-qhgq 123
    medium CVE-2020-11022 4642 Regex in its jQuery.htmlPrefilter sometimes may introduce XSS GHSA-gxr4-xjj5-5px2 1
    medium CVE-2020-11023 CVE-2020-23064 4647 passing HTML containing elements from untrusted sources - even after sanitizing it - to one of jQuery's DOM manipulation methods (i.e. .html(), .append(), and others) may execute untrusted code. GHSA-jpcq-cgw6-v4j6 1
    low 73 jQuery 1.x and 2.x are End-of-Life and no longer receiving security update
  3. BobHanson commented on Jan 27, 2025

    @BobHanson
    Owner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions