Skip to content

Update the gaurav theme's jQuery and Bootstrap, drop unused jQuery 2.1.1 - #196

Merged
mraible merged 1 commit into
masterfrom
upgrade-gaurav-jquery
Sep 27, 2026
Merged

mraible merged 1 commit into
masterfrom
upgrade-gaurav-jquery

Conversation

@mraible

@mraible mraible commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Follows up on the jQuery work in #185 by getting rid of the vulnerable jQuery copies Roller still ships outside the admin UI (which is already on the jQuery 3.7.1 webjar).

  • The gaurav theme bundled jQuery 1.12.4 (CVE-2015-9251, CVE-2019-11358, CVE-2020-11022, CVE-2020-11023) and Bootstrap 3.4.0 (CVE-2019-8331). It now ships jQuery 3.7.1 and Bootstrap 3.4.1, taken unmodified from the official webjars. The old files were unmodified 3.4.0 releases, and the file names are unchanged, so the templates and theme.xml stay as they are.
  • roller-ui/scripts/jquery-2.1.1.min.js is deleted. Nothing in Roller references it.

Verified on a fresh jetty:run instance with a weblog on the gaurav theme: the page loads jQuery 3.7.1 and Bootstrap 3.4.1, and the navbar collapse toggle and the Categories dropdown, the only Bootstrap plugins the theme uses, work at phone and desktop widths with no script errors.

Weblogs that customized gaurav keep their own copies of these files. Bootstrap 3 is end of life, so its remaining advisories (CVE-2024-6485, CVE-2025-1647) have no fixed release; moving gaurav to Bootstrap 5 would be a separate redesign.

This doesn't overlap with #156, which removes basicmobile's CDN jQuery 2.1.1 and jQuery Mobile. Once both land, Roller no longer ships or references jQuery 1.x or 2.x. The admin UI's move to jQuery 4.0 is left for after #156, since it touches head.jsp.

The gaurav theme bundled jQuery 1.12.4, which has known XSS vulnerabilities (CVE-2015-9251, CVE-2019-11358, CVE-2020-11022, CVE-2020-11023), and Bootstrap 3.4.0, which has CVE-2019-8331. It now ships jQuery 3.7.1 and Bootstrap 3.4.1, the last Bootstrap 3 release, taken unmodified from the official webjars. The old files were unmodified 3.4.0 releases, so no local changes are lost, and the file names stay the same so the theme's templates and theme.xml don't change. The theme uses only Bootstrap's collapse and dropdown plugins, both verified at phone and desktop widths.

roller-ui/scripts/jquery-2.1.1.min.js is removed. Nothing in Roller references it, and serving it exposed another vulnerable jQuery.

Weblogs that customized the gaurav theme keep their own copies of these files.
@mraible
mraible requested review from mbien and snoopdave September 26, 2026 15:00

@snoopdave snoopdave left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

embedding jquery.js is not ideals, but this is an improvement that we should merge.

@mraible
mraible merged commit 32f477e into master Sep 27, 2026
7 checks passed
@mraible
mraible deleted the upgrade-gaurav-jquery branch September 27, 2026 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants