smartbanner.js rel noopener vulnerability
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:
-
Ensure View link is only taking users to App Store or Google Play Store where security is guarded by respective app store security teams
-
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 alltarget="_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
For more information
If you have any questions or comments about this advisory:
- Open an issue in smartbanner.js
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | smartbanner.js | < 1.14.1 | 1.14.1 |
References
- CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N/E:U- Weakness (CWE)
CWE-601, CWE-79- Platform
- npm
- Package
smartbanner.js- Disclosed
- 13.09.2019
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-9mrq-cjgh-32g2 - CC BY 4.0
Vulnerability history: smartbanner.js
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
This is the only known vulnerability of this package.
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.