Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: reverse tabnabbing vulnerability in URLs #591

Merged
merged 4 commits into from Dec 29, 2021
Merged

fix: reverse tabnabbing vulnerability in URLs #591

merged 4 commits into from Dec 29, 2021

Conversation

AnirudhMergu
Copy link
Contributor

Tabnabbing - "it's the capacity to act on parent page's content or location from a newly opened page via the back link exposed by the opener javascript object instance."

This vulnerability usually manifests when either

The "target" attribute is used to specify the target location in an anchor tag to open 3rd party URL/resource(s) without including the attribute rel="noopener,noreferrer " in the anchor tag

noopener - When noopener is set, the child window opened will not have access to the parent window via "Window.opener" and at the same time, the parent window will not have access to the child window. "Note that when noopener is used, nonempty target names other than _top, _self, and _parent are all treated like _blank in terms of deciding whether to open a new window/tab."

noreferrer - When noreferrer is set, the child window opened will not have access to parent URL. "In addition, setting this feature also automatically sets noopener."

Tabnabbing - "it's the capacity to act on parent page's content or location from a newly opened page via the back link exposed by the opener javascript object instance."

This vulnerability usually manifests when either

The "target" attribute is used to specify the target location in an anchor <a> tag to open 3rd party URL/resource(s) without including the attribute rel="noopener,noreferrer " in the anchor <a> tag

noopener - When noopener is set, the child window opened will not have access to the parent window via "Window.opener" and at the same time, the parent window will not have access to the child window. "Note that when noopener is used, nonempty target names other than _top, _self, and _parent are all treated like _blank in terms of deciding whether to open a new window/tab."

noreferrer - When noreferrer is set, the child window opened will not have access to parent URL. "In addition, setting this feature also automatically sets noopener."

NOTE: - Though "noreferrer" also enforces "noopener", it is recommended to set both the options to maximize proper remediation of tabnabbing regardless of the browser type used by the customer.
Tabnabbing - "it's the capacity to act on parent page's content or location from a newly opened page via the back link exposed by the opener javascript object instance."

This vulnerability usually manifests when either

The "target" attribute is used to specify the target location in an anchor <a> tag to open 3rd party URL/resource(s) without including the attribute rel="noopener,noreferrer " in the anchor <a> tag

noopener - When noopener is set, the child window opened will not have access to the parent window via "Window.opener" and at the same time, the parent window will not have access to the child window. "Note that when noopener is used, nonempty target names other than _top, _self, and _parent are all treated like _blank in terms of deciding whether to open a new window/tab."

noreferrer - When noreferrer is set, the child window opened will not have access to parent URL. "In addition, setting this feature also automatically sets noopener."

NOTE: - Though "noreferrer" also enforces "noopener", it is recommended to set both the options to maximize proper remediation of tabnabbing regardless of the browser type used by the customer.
@bcoe bcoe changed the title Fix Reverse Tabnabbing Vulnerability in the URLs. fix: reverse tabnabbing vulnerability in URLs Dec 29, 2021
@bcoe bcoe merged commit 4eceb9e into istanbuljs:master Dec 29, 2021
@github-actions github-actions bot mentioned this pull request Dec 29, 2021
@bcoe
Copy link
Member

bcoe commented Dec 29, 2021

@AnirudhMergu thank you for the contribution \o/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants