Quill reverse tabnabbing via anchor links

Severity: low · CVSS 3.1 · Published 2020-09-03

Quill is a popular rich text editor library used in web applications. The library uses HTML anchor tags with target="_blank" to open links in new tabs without properly securing them, allowing attackers to redirect the original page to a phishing site when users click links. This vulnerability can be exploited for phishing attacks and session hijacking.

Technologies: quill (npm). Vendors: npm.

Quick answers

Is This vulnerability exploited in the wild?
No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
How severe is This vulnerability?
Low severity, with a CVSS score of 3.1, published 3 September 2020.
Which products and versions are affected?
quill (npm) SEMVER:introduced=0,fixed=1.3.7.
Is there a fix for This vulnerability?
Yes. quill (npm): upgrade to 1.3.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is This vulnerability attacked?
It is attacked over the network, in a software library.
Am I affected?
Check whether you run quill (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • quill (npm): upgrade to 1.3.7 or later
    npm install quill@1.3.7

Technical details

This is a reverse tabnabbing vulnerability (CWE-1022) in the anchor tag creation logic of Quill's link format handler. When Quill renders links with target="_blank", it fails to set the rel="noopener noreferrer" attribute, which normally prevents the opened page from accessing the window.opener object. An attacker-controlled destination page can use window.opener to redirect the original tab to a malicious phishing page. The vulnerability is exploitable in both normal editing mode and read-only display mode where users click embedded links. No user privilege or authentication is required; only user interaction (clicking a link) is needed. The fix involves adding rel="noopener noreferrer" to anchor tags created by the formats/link.js module. Version 1.3.7 and later contain the patch.

Affected products

  • Quill Quill < 1.3.7

Timeline

  • 2020-09-03: disclosed

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.