{"id":17266,"date":"2021-09-30T16:29:16","date_gmt":"2021-09-30T14:29:16","guid":{"rendered":"https:\/\/herolab.usd.de\/?page_id=17266"},"modified":"2022-05-02T11:43:03","modified_gmt":"2022-05-02T09:43:03","slug":"usd-2020-0105","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2020-0105\/","title":{"rendered":"usd-2020-0105"},"content":{"rendered":"<p>[et_pb_section fb_built=\"1\" _builder_version=\"4.16\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<\/p>\n<h1>usd-2020-0105 | Themeco Cornerstone Editor<\/h1>\n<p><span><\/span><br \/><strong>Advisory ID<\/strong><span>: usd-2020-0105<\/span><br \/><strong>Affected Product<\/strong><span>: Themeco Cornerstone Editor<\/span><br \/><strong>Affected Version<\/strong><span>: v7.2.3<\/span><br \/><strong>Vulnerability Type<\/strong><span>: Stored Cross-Site Scripting (Stored XSS)<\/span><br \/><strong>Security Risk<\/strong><span>: High<\/span><br \/><strong>Vendor URL<\/strong>: <a href=\"https:\/\/theme.co\/\" target=\"_blank\" rel=\"noopener\">https:\/\/theme.co\/<\/a><br \/><strong>Vendor Status<\/strong><span>: Not fixed<\/span><em><\/em><\/p>\n<p><span><\/span><\/p>\n<h3>Description<\/h3>\n<p>The Themeco Cornerstone Editor is a WordPress plugin that offers a HTML WYSIWYG editor with a broad feature set.<\/p>\n<p>Authenticated users may create and edit X Theme frontend articles. In doing so, moderators can embed different content elements, including <em>Classic Text<\/em>, <em>Text<\/em> and more.<\/p>\n<p>The <em>text<\/em> content element suffers from a stored Cross-Site Scripting (XSS) vulnerability, injected JavaScript is executed if a victim enters the \"Edit\" view of a prepared article as well as published blog posts. As this functionality is available for relatively low-privileged moderators, a malicious user could target higher privileged backend users with this XSS vulnerability.<\/p>\n<p>The described issue probably affects other content elements as well.<\/p>\n<p><span><\/span><\/p>\n<h3>Proof of Concept (PoC)<\/h3>\n<p>XSS inside Editor:<\/p>\n<p>1. Create a new article at https:\/\/vulnerablewebsite.com\/x\/#\/content<\/p>\n<p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2021\/09\/xss1.png\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" custom_padding=\"0px||0px|||\" global_colors_info=\"{}\"]<\/p>\n<p>2. Create a <em>Classic Text<\/em> element<\/p>\n<p>3. Choose \"&lt;\/&gt;\" to enter HTML and set the content to of the element to:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.16\" _module_preset=\"9e260d37-0be2-4a12-a10e-3ed7e27b6ac6\" custom_margin=\"20px||20px||false|false\" global_colors_info=\"{}\"]<\/p>\n<p>&amp;lt;script&amp;gt;alert(document.domain)&amp;lt;\/script&amp;gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" custom_padding=\"0px|||||\" global_colors_info=\"{}\"]<\/p>\n<p>4. Observe that the JavaScript is executed<\/p>\n<p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2021\/09\/xss2-1.png\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" custom_padding=\"0px|||||\" global_colors_info=\"{}\"]<\/p>\n<p>XSS in published article:<\/p>\n<p>1. Create a new article at https:\/\/vulnerablewebsite.com\/x\/#\/content<\/p>\n<p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2021\/10\/xss3-1_N.png\" title_text=\"xss3-1_N\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" custom_padding=\"0px|||||\" global_colors_info=\"{}\"]<\/p>\n<p>2. Create a <em>Classic Text<\/em> element<\/p>\n<p>3. Choose \"&lt;\/&gt;\" to enter HTML and set the content to of the element to:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.16\" _module_preset=\"9e260d37-0be2-4a12-a10e-3ed7e27b6ac6\" global_colors_info=\"{}\"]<\/p>\n<p>&lt;script&gt;alert(document.domain)&lt;\/script&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<\/p>\n<p>4. Observe that the JavaScript is executed<\/p>\n<p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2021\/09\/xss4-1.png\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<\/p>\n<div class=\"e16902-22 x-container max width\">\n<div class=\"e16902-23 x-column x-sm x-1-1\">\n<h3>Fix<\/h3>\n<div>WordPress allows to assign different roles to backend users. Users with relatively low moderator privileges should only be allowed to insert text contents and at most harmless markup. Thus, it is recommended to sanitize and\/or encode user controlled contents in a context-aware manner.<\/div>\n<p>&nbsp;<\/p>\n<div><\/div>\n<h3>References<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.owasp.org\/index.php\/Cross-site_Scripting_(XSS)\" target=\"_blank\" rel=\"noopener\">https:\/\/www.owasp.org\/index.php\/Cross-site_Scripting_(XSS)<\/a><a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2018-10054\" target=\"_blank\" rel=\"noopener\"><\/a><\/li>\n<\/ul>\n<h3><\/h3>\n<h3>Timeline<\/h3>\n<ul>\n<li>2020-08-28: Vulnerability identified by Lauritz Holtmann of usd AG.<\/li>\n<li>2020-08-28: First contact attempt via <a href=\"https:\/\/theme.co\/contact\" target=\"_blank\" rel=\"noopener\">https:\/\/theme.co\/contact<\/a>.<\/li>\n<li>2020-08-28: Vendor asks for details, a secure communication channel is established.<\/li>\n<li>2020-10-01: Vulnerability details transmitted to vendor.<\/li>\n<li>2021-02-18: Follow up e-mail on triage\/remediation status.<\/li>\n<li>2021-02-24: Vulnerability details are transmitted to vendor, as Theme.co claims the details were not received.<\/li>\n<li>2021-03-10: Vendor acknowledges that they received the vulnerability details.<\/li>\n<li>2021-04-15: Follow up e-mail on triage\/remediation status.<\/li>\n<li>2021-05-06: Follow up e-mail on triage\/remediation status.<\/li>\n<li>2021-05-07: The vendor provides a statement on the submitted issues including details on future releases.<\/li>\n<li>2021-07-14: Status update requested from vendor.<\/li>\n<li>2021-09-21: Status update requested from vendor, release date set for end of September.<\/li>\n<li>2021-09-30: Security Advisory released by usd AG.<\/li>\n<\/ul>\n<h3><\/h3>\n<h3>Credits<\/h3>\n<p>This security vulnerability was found by Lauritz Holtmann of usd AG.<\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>usd-2020-0105 | Themeco Cornerstone Editor Advisory ID: usd-2020-0105Affected Product: Themeco Cornerstone EditorAffected Version: v7.2.3Vulnerability Type: Stored Cross-Site Scripting (Stored XSS)Security Risk: HighVendor URL: https:\/\/theme.co\/Vendor Status: Not fixed Description The Themeco Cornerstone Editor is a WordPress plugin that offers a HTML WYSIWYG editor with a broad feature set. Authenticated users may create and edit X Theme [&hellip;]<\/p>\n","protected":false},"author":96,"featured_media":0,"parent":16124,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"class_list":["post-17266","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/17266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/users\/96"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=17266"}],"version-history":[{"count":0,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/17266\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16124"}],"wp:attachment":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/media?parent=17266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}