Update dependency swiper to v14 [SECURITY] - #73
renovate[bot] wants to merge 1 commit into
Conversation
e1e5dbe to
7173906
Compare
7173906 to
72ce4bb
Compare
|
❌ The last analysis has failed. |
28c33df to
bea0087
Compare
d3546fe to
3e25f0d
Compare
2688582 to
874b887
Compare
f5e90d8 to
336f9ec
Compare
5e1b1ec to
66c0c32
Compare
382cc4e to
177b84c
Compare
d63956e to
77b38d1
Compare
77b38d1 to
302bf0b
Compare
|
302bf0b to
91e1287
Compare
|
ffec373 to
ed1fe5f
Compare
ed1fe5f to
f0355f7
Compare
f0355f7 to
885d295
Compare
885d295 to
55e1d6f
Compare
b7e5a00 to
0052f51
Compare
0052f51 to
50854b6
Compare
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|




This PR contains the following updates:
^10.2.0→^14.0.0Prototype pollution in swiper
CVE-2026-27212 / GHSA-hmx5-qpq5-p643
More information
Details
Summary
A prototype pollution vulnerability exists in the the npm package swiper (>=6.5.1, < 12.1.2). Despite a previous fix that attempted to mitigate prototype pollution by checking whether user input contained a forbidden key, it is still possible to pollute
Object.prototypevia a crafted input using Array.prototype. The exploit works across Windows and Linux and on Node and Bun runtimes. This issue is fixed in version 12.1.2Details
The vulnerability resides in line 94 of shared/utils.mjs where indexOf() function is used to check whether user provided input contain forbidden strings.
PoC
Steps to reproduce
Expected behavior
Prototype pollution should be prevented and {} should not gain new properties.
This should be printed on the console:
Actual behavior
Object.prototype is polluted
This is printed on the console:
Impact
This is a prototype pollution vulnerability, which can have severe security implications depending on how swiper is used by downstream applications. Any application that processes attacker-controlled input using this package may be affected.
It could potentially lead to the following problems:
Array.prototype.indexOfproperty can result in crash when swiper.default.extendDefaults is called because swiper makes use of this global property. This can lead to Denial of Service.Related CVEs
CVE-2026-25521
CVE-2026-25047
CVE-2026-26021
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nolimits4web/Swiper (swiper)
v14.2.0Compare Source
Bug Fixes
Features
v14.1.0Compare Source
Bug Fixes
v14.0.7Compare Source
Bug Fixes
v14.0.6Compare Source
Bug Fixes
v14.0.5Compare Source
Bug Fixes
v14.0.2Compare Source
Bug Fixes
v14.0.1Compare Source
Patch release fixing two web-component (and Vue wrapper) regressions introduced by the v14 rewrite.
Bug Fixes
<swiper-container>element initialized with zero slides becauseslidesElwas resolved to the shadow root instead of the host element (b3b822f), closes #8196<swiper-container navigation>, Vue:navigation="true") stopped rendering the built-in controls (253fa39), closes #8196v14.0.0Compare Source
Swiper v14 is a ground-up TypeScript rewrite of the entire codebase, focused on smaller bundles, more accurate types, and a modern browser baseline. (We skipped v13.)
Upgrading from v12 requires no code changes. Every option, default, event, payload, method signature, and module import (
swiper/modules,swiper/react,swiper/vue,swiper/element, …) behaves exactly as before. The only differences you may notice are tighter TypeScript types and a narrower set of supported browsers — see Breaking Changes below.Highlights
src/is now.ts/.tsx. The hand-maintained.d.tstree (src/types/, the per-module.d.tsfiles) is gone — declarations are emitted directly from the runtime source withtsc, so the shipped types can no longer drift from the implementation. Several signatures that used to beanyare now correctly typed (e.g.getTranslate(): number).Swiper/SwiperOptions/SwiperEventsinterfaces. Importing a module (e.g.import { Navigation } from 'swiper/modules') brings its option, method, and event types along with it — mirroring how the runtime already requires registration.node,node16/nodenext, andbundlermodule resolution, andswiper/bundleexposes every module's options out of the box. Verified by a consumer-simulation test suite.ssr-windowdependency was removed and replaced with inline environment guards. Swiper now installs with no transitive runtime deps.swiper.min.js−4.1%,swiper-element.min.js−2.9%,swiper-bundle.min.js−2.3%).@babel/preset-envis a no-op at the v14 baseline. Runtime output is byte-identical (React output is marginally smaller).Breaking Changes
smoothScrollsupport flag, the Safari < 16.2 perspective workaround, and the legacyDocumentTouchtouch check). iOS/Android-specific quirk handling is kept but simplified. If you need to support older browsers, stay on v12.engineswas>= 4.7.0). This does not affect the browser runtime.any-typed access to Swiper internals. These are compile-time only — there are no runtime behavior changes.SSR
ssr-window's mockwindow/documentwere replaced with inlinetypeofguards. Server rendering with the React / Vue / Element wrappers is unaffected — they only instantiate Swiper in client-side mount effects. Imperatively callingnew Swiper(...)in a pure Node (non-DOM) environment once again no-ops gracefully, matching v12 behavior, and is now locked down by a dedicated SSR runtime test.v12.2.0Compare Source
Bug Fixes
v12.1.4Compare Source
Bug Fixes
Features
v12.1.3Compare Source
Bug Fixes
slidesPerViewbefore calculating number of slides (#8172) (49a55ab)Features
v12.1.2Compare Source
v12.1.1Compare Source
Bug Fixes
v12.1.0Compare Source
Bug Fixes
data-swiper-slide-indexforrealIndexwhen virtual module is enabled (#8142) (bd957f8)autoScrolltothumbs.updatetype signature (#8146) (5d91e6e)Features
v12.0.3Compare Source
Bug Fixes
Features
v12.0.2Compare Source
Features
addIconsparameter to add SVG icons to nav buttons (b955b0c), closes #8088 #8087v12.0.1Compare Source
Bug Fixes
v12.0.0Compare Source
Bug Fixes
Features
v11.2.10Compare Source
Bug Fixes
v11.2.9Compare Source
Bug Fixes
v11.2.8Compare Source
Bug Fixes
v11.2.7Compare Source
Bug Fixes
effectparam type (#7945) (42eec07)v11.2.6Compare Source
Bug Fixes
v11.2.5Compare Source
Bug Fixes
zoom.in()function (#7904) (f7febe1)Features
v11.2.4Compare Source
Bug Fixes
v11.2.3Compare Source
Bug Fixes
Features
v11.2.2Compare Source
Bug Fixes
v11.2.1Compare Source
Bug Fixes
v11.2.0Compare Source
Bug Fixes
Features
v11.1.15Compare Source
Bug Fixes
slidesEl,slidesGrid, andslidesSizesGrid(#7768) (fb59a41)v11.1.14Compare Source
Bug Fixes
v11.1.12Compare Source
Bug Fixes
Features
containerRoleparameter (#7708) (1542c01)v11.1.11Compare Source
Bug Fixes
v11.1.10Compare Source
Bug Fixes
v11.1.9Compare Source
Bug Fixes
Features
v11.1.8Compare Source
Bug Fixes
v11.1.7Compare Source
Bug Fixes
v11.1.6Compare Source
Bug Fixes
Features
scrollOnFocus(#7632) (f4f7da0)v11.1.5Compare Source
Bug Fixes
v11.1.4Compare Source
Bug Fixes
v11.1.3Compare Source
Bug Fixes
v11.1.2Compare Source
Bug Fixes
Performance Improvements
v11.1.1Compare Source
Bug Fixes
slidesEl,slidesGrid, andslidesSizesGrid(#7768) (fb59a41)v11.1.0Compare Source
Bug Fixes
v11.0.7Compare Source
Bug Fixes
Features
v11.0.6Compare Source
Bug Fixes
Features
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.