VDB
Sign up
LOW

GHSA-9mrq-cjgh-32g2

smartbanner.js rel noopener vulnerability

Quick fix

GHSA-9mrq-cjgh-32g2 — smartbanner.js: upgrade to the fixed version with the command below.

npm install smartbanner.js@1.14.1

Details

## rel noopener vulnerability

### Impact Clicking on smartbanner _View_ link and navigating to 3rd party page leaves `window.opener` exposed. It may allow hostile 3rd parties to abuse `window.opener`, e.g. by redirection or injection on the original page with smartbanner.

### Patches `rel="noopener"` is automatically populated to links as of `v1.14.1` which is a recommended upgrade to resolve the vulnerability.

### Workarounds If you can not upgrade to `v1.14.1`: 1. Ensure _View_ link is only taking users to App Store or Google Play Store where security is guarded by respective app store security teams 2. If _View_ link is going to a 3rd party page, limit smartbanner.js to be used on iOS that decreases the scope of the vulnerability since as of Safari 12.1, `rel="noopener"` is imposed on all `target="_blank"` links.

Following combination of smartbanner meta tags can be used to achieve the above:

```html <meta name="smartbanner:enabled-platforms" content="none"> <meta name="smartbanner:include-user-agent-regex" content="Mobile.*Safari"> ```

### References * [About rel=noopener](https://mathiasbynens.github.io/rel-noopener/) * [Safari 12.1 Release Notes](https://developer.apple.com/documentation/safari_release_notes/safari_12_1_release_notes#3130296)

### For more information If you have any questions or comments about this advisory: * Open an issue in [smartbanner.js](https://github.com/ain/smartbanner.js/issues/new)

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/smartbanner.js
Introduced in: 0Fixed in: 1.14.1
Fixnpm install smartbanner.js@1.14.1

References