{"id":16707,"date":"2021-07-08T13:19:03","date_gmt":"2021-07-08T11:19:03","guid":{"rendered":"https:\/\/herolab-usd.formwandler.rocks\/security-advisories\/usd-2020-0054\/"},"modified":"2021-07-19T14:17:08","modified_gmt":"2021-07-19T12:17:08","slug":"usd-2020-0054","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2020-0054\/","title":{"rendered":"usd-2020-0054"},"content":{"rendered":"<p>[et_pb_section fb_built=\"1\" _builder_version=\"4.9.4\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\"][et_pb_row _builder_version=\"4.9.4\" _module_preset=\"default\"][et_pb_column type=\"4_4\" _builder_version=\"4.9.4\" _module_preset=\"default\"][et_pb_text _builder_version=\"4.9.4\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" hover_enabled=\"0\" sticky_enabled=\"0\"]<\/p>\n<h1 class=\"h-custom-headline usd-small-letters h2\"><span>usd-2020-0054 | Gophish v0.10.1<\/span><\/h1>\n<p><span><\/span><br \/><strong>Advisory ID<\/strong><span>: usd-2020-0054<\/span><br \/><strong>CVE Number<\/strong><span>: CVE-2020-24710<\/span><br \/><strong>Affected Product<\/strong><span>: Gophish<\/span><br \/><strong>Affected Version<\/strong><span>: v0.10.1<\/span><br \/><strong>Vulnerability Type<\/strong><span>: Stored Cross-Site Scripting<\/span><br \/><strong>Security Risk<\/strong><span>: Medium<\/span><br \/><strong>Vendor URL<\/strong><span>: <a href=\"https:\/\/getgophish.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/getgophish.com\/<\/a><\/span><br \/><strong>Vendor Status<\/strong><span>: Fixed<\/span><\/p>\n<h3><\/h3>\n<h3>Description<\/h3>\n<p><span>Several occurrences of server-side request forgery were found during the pentest. These could be used to perform port scans of the server that hosts Gophish. In the majority of cases the error message resulting from querying the local server, with localhost or a loopback address, discloses the banner of the tested service. And in one case, where the banner was not visible, long response times indicated that the port was available. The screenshot below illustrates a successful port scan of the local host.<\/span><\/p>\n<h3>Proof of Concept (PoC)<\/h3>\n<p>URL: <code>\/webhooks<\/code><br \/>Comment: It is possible for a remote user to scan the open ports of the server that hosts the gophish admin application. Furthermore, the error messages reveals parts of the available service\u2019s banners. For example SSH\u2019s \u201cDebian-9\u201c.<\/p>\n<p>URL: <code>\/sending_profiles<\/code><br \/>Comment: It is possible for a remote user to scan the open ports of the server that hosts the gophish admin application. Open ports are disclosed by long response times after pressing the \u201cSend\u201c button of the \u201cSend Test Email\u201c feature.<\/p>\n<p>URL: <code>\/landing_pages<\/code><br \/>Comment: It is possible for a remote user to scan the open ports of the server that hosts the gophish admin application. Furthermore, the error messages reveals parts of the available service\u2019s banners. For example SSH\u2019s \u201cDebian-9\u201c.<\/p>\n<p>URL: <code>\/settings<\/code><br \/>Comment: It is possible for a remote user to scan the open ports of the server that hosts the gophish admin application. Furthermore, the error messages reveals parts of the available service\u2019s banners. For example SSH\u2019s \u201cSSH-2.0-OpenSSH_7.9p1 Debian-9\u201c.<\/p>\n<p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2021\/07\/usd20200054.png\" _builder_version=\"4.9.4\" _module_preset=\"default\" title_text=\"usd20200054\" hover_enabled=\"0\" sticky_enabled=\"0\"][\/et_pb_image][et_pb_text _builder_version=\"4.9.4\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" hover_enabled=\"0\" sticky_enabled=\"0\"]<\/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<p><span>A whitelist approach is not a valid solution when a user can make the application send requests to any external IP address or domain name. Despite knowing that the blacklist approach is not an impenetrable wall, it is the best solution in this scenario since it would inform the application to not send any requests to the server\u2019s loopback addresses or to private IP address ranges.<\/span><\/p>\n<h3><\/h3>\n<h3>Timeline<\/h3>\n<ul>\n<li>2020-06-18 First contact request via security@getgophish.com<\/li>\n<li>2020-06-22 Vendor responds to initial contact<\/li>\n<li>2020-08-20 Vendor publishes a fix <a href=\"https:\/\/github.com\/gophish\/gophish\/commit\/e3352f481e94054ffe08494c9225d3878347b005\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/gophish\/gophish\/commit\/e3352f481e94054ffe08494c9225d3878347b005<\/a><\/li>\n<li>2020-09-29 Security advisory released<\/li>\n<\/ul>\n<h3><\/h3>\n<h3>Credits<\/h3>\n<p><span>This security vulnerability was found by Marcus Nilsson of usd AG.<\/span><\/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-0054 | Gophish v0.10.1 Advisory ID: usd-2020-0054CVE Number: CVE-2020-24710Affected Product: GophishAffected Version: v0.10.1Vulnerability Type: Stored Cross-Site ScriptingSecurity Risk: MediumVendor URL: https:\/\/getgophish.com\/Vendor Status: Fixed Description Several occurrences of server-side request forgery were found during the pentest. These could be used to perform port scans of the server that hosts Gophish. In the majority of cases the [&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-16707","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16707","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=16707"}],"version-history":[{"count":0,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16707\/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=16707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}