{"id":2851,"date":"2014-03-28T11:20:10","date_gmt":"2014-03-28T11:20:10","guid":{"rendered":"https:\/\/dn-www.azurewebsites.net\/2014\/03\/28\/reproducing-an-umbraco-remote-code-execution-vulnerability\/"},"modified":"2024-03-18T15:40:48","modified_gmt":"2024-03-18T15:40:48","slug":"reproducing-an-umbraco-remote-code-execution-vulnerability","status":"publish","type":"post","link":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/","title":{"rendered":"Reproducing an Umbraco Remote Code Execution Vulnerability"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2851\" class=\"elementor elementor-2851\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-47530c31 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"47530c31\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-191acbd8\" data-id=\"191acbd8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2bd62f4d elementor-widget elementor-widget-text-editor\" data-id=\"2bd62f4d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"field field-name-body field-type-text-with-summary field-label-hidden\"><div class=\"field-items\"><div class=\"field-item even\"><p>During a recent penetration test I came across a website running Umbraco CMS (<a href=\"https:\/\/umbraco.com\/\">https:\/\/umbraco.com\/<\/a>). Umbraco is an open source content management system for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based infrastructure. Doing some research looking for vulnerabilities I found that last year a critical flaw was reported by MWR Labs after doing a security audit on the CMS:<\/p><p><a href=\"https:\/\/umbraco.com\/follow-us\/blog-archive\/2013\/4\/29\/security-vulnerability-found-immediate-action-recommended.aspx\">https:\/\/umbraco.com\/follow-us\/blog-archive\/2013\/4\/29\/security-vulnerabili&#8230;<\/a><br \/><a href=\"https:\/\/labs.mwrinfosecurity.com\/advisories\/2013\/11\/29\/umbraco-cms-templ&#038;#8230\" rel=\"nofollow\">https:\/\/labs.mwrinfosecurity.com\/advisories\/2013\/11\/29\/umbraco-cms-templ&#038;#8230<\/a>;<\/p><p>Even though they did not go into too much detail about the vulnerability, they mentioned a few key things that fortunately were enough to successfully reproduce the issue locally. I thought it would be interesting to share my findings, and hopefully help web developers as well as security consultants to understand the importance of small details and subtleties that can be overlooked when programming a new piece of code, but that can lead to the compromise of the system.<\/p><p>In the description of the vulnerability they mention that the flaw affects all versions prior to 6.0.4. The Umbraco developers made a good job fixing it promptly, and thus recent versions do not contain this security flaw anymore. For this reason the tests were carried out using an old vulnerable version of the CMS (6.0.3) available for download in the following link.<\/p><p><a href=\"https:\/\/github.com\/umbraco\/Umbraco-CMS\/tree\/release-6.0.3\">https:\/\/github.com\/umbraco\/Umbraco-CMS\/tree\/release-6.0.3<\/a><\/p><p>Once we have downloaded the source code, built the project and followed the installation instructions, we will end up with a neat and simple website similar to the one shown below:<\/p><p><img decoding=\"async\" style=\"border: 1px solid black; width: 927px; height: 828px;\" src=\"\/wp-content\/uploads\/files\/U1_0.jpg\" alt=\"image 1\" \/><\/p><p>With the knowledge that Umbraco comes with a number of web services enabled by default, we should be able to access their description by just browsing to the adequate .asmx file. As we can see in the image below, the \u201cupdate\u201d operation of the \u201ctemplateService&#8221; web service is available. This is the operation that was reported to be vulnerable, so we will focus on it from now on.<\/p><p><img decoding=\"async\" style=\"border: 1px solid black; width: 629px; height: 353px;\" src=\"\/wp-content\/uploads\/files\/U2_0.jpg\" alt=\"image 2\" \/><\/p><p>If we follow the &#8220;update&#8221; link we will see another page that shows sample SOAP requests for this operation.<\/p><p><img decoding=\"async\" style=\"border: 1px solid black; width: 1063px; height: 684px;\" src=\"\/wp-content\/uploads\/files\/U3_0.jpg\" alt=\"image 3\" \/><\/p><p>Before we craft a SOAP request, let&#8217;s first take a look behind the scenes and find out what is going on in the server-side code. The source code in charge of handling the TemplateService Web Service can be found at:<\/p><div class=\"codeblock\"><code>.\/Umbraco-CMS-release-6.0.3\/src\/umbraco.webservices\/templates\/templateService.cs<\/code><\/div><p>If we open that file and scroll down to the \u201cupdate\u201d method we will find the following code.<\/p><div class=\"codeblock\"><p><code>[WebMethod]<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public void update(templateCarrier carrier, string username, string password)<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 {<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (carrier.Id == 0) throw new Exception(\"ID must be specifed when updating\");<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (carrier == null) throw new Exception(\"No carrier specified\"); <\/code><\/p><p><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cms.businesslogic.template.Template template;<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 try<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 {<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 template = new cms.businesslogic.template.Template(carrier.Id);<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 catch (Exception)<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 {<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 throw new Exception(\"Template with ID \" + carrier.Id + \" not found\");<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/code><\/p><p><code> <\/code><\/p><p><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 template.MasterTemplate = carrier.MastertemplateId;<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 template.Alias = carrier.Alias;<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 template.Text = carrier.Name;<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 template.Design = carrier.Design;<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 template.Save();<\/code><\/p><p><code> <\/code><\/p><p><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 clearCachedTemplate(template);<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/code><\/p><\/div><p>As we can see, the method is expecting information about the template to update as well as a username and a password, but they do not use the username and password information anywhere within the method to verify that the user who is requesting the operation is authorized. That makes this operation accessible to unauthorized users, who can overwrite the content of an existing template and add arbitrary content.<\/p><p>To reproduce the vulnerability we will use the previous SOAP template to craft a request to the web service, this is shown below:<\/p><p><img decoding=\"async\" style=\"border: 1px solid black; width: 809px; height: 463px;\" src=\"\/wp-content\/uploads\/files\/U4_0.jpg\" alt=\"image 1\" \/><\/p><p>Note that the username and password values are not important, as they are not validated in the server. Also, note that a valid template ID was provided, although this can be easily guessed or brute-forced, for the sake of brevity a valid one was grabbed from the admin panel.<\/p><p>After we send the request, the server returns the following response:<\/p><p><img decoding=\"async\" style=\"border: 1px solid black; width: 727px; height: 387px;\" src=\"\/wp-content\/uploads\/files\/U5_0.jpg\" alt=\"image 1\" \/><\/p><p>And if we browse to the homepage&#8230;<\/p><p><img decoding=\"async\" style=\"border: 1px solid black; width: 282px; height: 68px;\" src=\"\/wp-content\/uploads\/files\/U6_0.jpg\" alt=\"image 1\" \/><\/p><p>Voil\u00e0! The main template was modified with the content we sent, and thus the homepage.<\/p><p>To sum up, we have successfully been able to locally reproduce a vulnerability that was relatively recent. This vulnerability takes advantage of a slip in the development that let unauthenticated users make web service requests to overwrite existing files with arbitrary content, and thus potentially gaining control of the server and other internal systems. From the developers and system administrators point of view this is a clear example of how vital it is to develop and deploy all our systems with a security mindset; a little nuance like this one can leave our systems exposed to malicious users. From the penetration tester point of view, it is important to note that whenever possible, and within the time limitations we face during most of the tests we do, we should test every single bit of each application, and not just assume that because the developers have secured a part of the application, they have done the same with everything else. \u00a0<\/p><p>\u00a0<\/p><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>During a recent penetration test I came across a website running Umbraco CMS (<a href=\"https:\/\/umbraco.com\/\">https:\/\/umbraco.com\/<\/a>). Umbraco is an open source content management system for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[215,207],"class_list":["post-2851","post","type-post","status-publish","format-standard","hentry","category-researchblog","tag-vulnerabilities","tag-web_applications","wpbf-post"],"contentshake_article_id":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Reproducing an Umbraco Remote Code Execution Vulnerability<\/title>\n<meta name=\"description\" content=\"During a recent penetration test I came across a website running Umbraco CMS (https:\/\/umbraco.com\/). Umbraco is an open source content management system for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based&nbsp;\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reproducing an Umbraco Remote Code Execution Vulnerability\" \/>\n<meta property=\"og:description\" content=\"During a recent penetration test I came across a website running Umbraco CMS (https:\/\/umbraco.com\/). Umbraco is an open source content management system for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based&nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/\" \/>\n<meta property=\"og:site_name\" content=\"Dionach\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dionachcyber\" \/>\n<meta property=\"article:published_time\" content=\"2014-03-28T11:20:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-18T15:40:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2025\/02\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg?fit=512%2C512&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dionach Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dionachcyber\" \/>\n<meta name=\"twitter:site\" content=\"@dionachcyber\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dionach Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/reproducing-an-umbraco-remote-code-execution-vulnerability\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/reproducing-an-umbraco-remote-code-execution-vulnerability\\\/\"},\"author\":{\"name\":\"Dionach Admin\",\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#\\\/schema\\\/person\\\/e73f3537233924cf4944f7807068b3c8\"},\"headline\":\"Reproducing an Umbraco Remote Code Execution Vulnerability\",\"datePublished\":\"2014-03-28T11:20:10+00:00\",\"dateModified\":\"2024-03-18T15:40:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/reproducing-an-umbraco-remote-code-execution-vulnerability\\\/\"},\"wordCount\":747,\"publisher\":{\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#organization\"},\"keywords\":[\"vulnerabilities\",\"web applications\"],\"articleSection\":[\"researchblog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/reproducing-an-umbraco-remote-code-execution-vulnerability\\\/\",\"url\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/reproducing-an-umbraco-remote-code-execution-vulnerability\\\/\",\"name\":\"Reproducing an Umbraco Remote Code Execution Vulnerability\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#website\"},\"datePublished\":\"2014-03-28T11:20:10+00:00\",\"dateModified\":\"2024-03-18T15:40:48+00:00\",\"description\":\"During a recent penetration test I came across a website running Umbraco CMS (https:\\\/\\\/umbraco.com\\\/). Umbraco is an open source content management system for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based&nbsp;\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/reproducing-an-umbraco-remote-code-execution-vulnerability\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dionach.com\\\/en-us\\\/reproducing-an-umbraco-remote-code-execution-vulnerability\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/reproducing-an-umbraco-remote-code-execution-vulnerability\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reproducing an Umbraco Remote Code Execution Vulnerability\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#website\",\"url\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/\",\"name\":\"Dionach\",\"description\":\"Real Security in a Virtual World\",\"publisher\":{\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#organization\",\"name\":\"Dionach\",\"url\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dionach.com\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dionach.com\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg\",\"width\":512,\"height\":512,\"caption\":\"Dionach\"},\"image\":{\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dionachcyber\",\"https:\\\/\\\/x.com\\\/dionachcyber\",\"https:\\\/\\\/uk.linkedin.com\\\/company\\\/dionach-ltd\",\"https:\\\/\\\/www.instagram.com\\\/dionachcyber\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dionach.com\\\/en-us\\\/#\\\/schema\\\/person\\\/e73f3537233924cf4944f7807068b3c8\",\"name\":\"Dionach Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3061726a64a760303f6ea8f0976d3e8e0a6997b4da543be9a650b81584b4e79e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3061726a64a760303f6ea8f0976d3e8e0a6997b4da543be9a650b81584b4e79e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3061726a64a760303f6ea8f0976d3e8e0a6997b4da543be9a650b81584b4e79e?s=96&d=mm&r=g\",\"caption\":\"Dionach Admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reproducing an Umbraco Remote Code Execution Vulnerability","description":"During a recent penetration test I came across a website running Umbraco CMS (https:\/\/umbraco.com\/). Umbraco is an open source content management system for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based&nbsp;","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/","og_locale":"en_US","og_type":"article","og_title":"Reproducing an Umbraco Remote Code Execution Vulnerability","og_description":"During a recent penetration test I came across a website running Umbraco CMS (https:\/\/umbraco.com\/). Umbraco is an open source content management system for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based&nbsp;","og_url":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/","og_site_name":"Dionach","article_publisher":"https:\/\/www.facebook.com\/dionachcyber","article_published_time":"2014-03-28T11:20:10+00:00","article_modified_time":"2024-03-18T15:40:48+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2025\/02\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg?fit=512%2C512&ssl=1","type":"image\/jpeg"}],"author":"Dionach Admin","twitter_card":"summary_large_image","twitter_creator":"@dionachcyber","twitter_site":"@dionachcyber","twitter_misc":{"Written by":"Dionach Admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/#article","isPartOf":{"@id":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/"},"author":{"name":"Dionach Admin","@id":"https:\/\/dionach.com\/en-us\/#\/schema\/person\/e73f3537233924cf4944f7807068b3c8"},"headline":"Reproducing an Umbraco Remote Code Execution Vulnerability","datePublished":"2014-03-28T11:20:10+00:00","dateModified":"2024-03-18T15:40:48+00:00","mainEntityOfPage":{"@id":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/"},"wordCount":747,"publisher":{"@id":"https:\/\/dionach.com\/en-us\/#organization"},"keywords":["vulnerabilities","web applications"],"articleSection":["researchblog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/","url":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/","name":"Reproducing an Umbraco Remote Code Execution Vulnerability","isPartOf":{"@id":"https:\/\/dionach.com\/en-us\/#website"},"datePublished":"2014-03-28T11:20:10+00:00","dateModified":"2024-03-18T15:40:48+00:00","description":"During a recent penetration test I came across a website running Umbraco CMS (https:\/\/umbraco.com\/). Umbraco is an open source content management system for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based&nbsp;","breadcrumb":{"@id":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dionach.com\/en-us\/reproducing-an-umbraco-remote-code-execution-vulnerability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dionach.com\/en-us\/"},{"@type":"ListItem","position":2,"name":"Reproducing an Umbraco Remote Code Execution Vulnerability"}]},{"@type":"WebSite","@id":"https:\/\/dionach.com\/en-us\/#website","url":"https:\/\/dionach.com\/en-us\/","name":"Dionach","description":"Real Security in a Virtual World","publisher":{"@id":"https:\/\/dionach.com\/en-us\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dionach.com\/en-us\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dionach.com\/en-us\/#organization","name":"Dionach","url":"https:\/\/dionach.com\/en-us\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dionach.com\/en-us\/#\/schema\/logo\/image\/","url":"https:\/\/www.dionach.com\/wp-content\/uploads\/2025\/02\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg","contentUrl":"https:\/\/www.dionach.com\/wp-content\/uploads\/2025\/02\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg","width":512,"height":512,"caption":"Dionach"},"image":{"@id":"https:\/\/dionach.com\/en-us\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dionachcyber","https:\/\/x.com\/dionachcyber","https:\/\/uk.linkedin.com\/company\/dionach-ltd","https:\/\/www.instagram.com\/dionachcyber\/"]},{"@type":"Person","@id":"https:\/\/dionach.com\/en-us\/#\/schema\/person\/e73f3537233924cf4944f7807068b3c8","name":"Dionach Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3061726a64a760303f6ea8f0976d3e8e0a6997b4da543be9a650b81584b4e79e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3061726a64a760303f6ea8f0976d3e8e0a6997b4da543be9a650b81584b4e79e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3061726a64a760303f6ea8f0976d3e8e0a6997b4da543be9a650b81584b4e79e?s=96&d=mm&r=g","caption":"Dionach Admin"}}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/ph4Ojq-JZ","_links":{"self":[{"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/posts\/2851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/comments?post=2851"}],"version-history":[{"count":0,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/posts\/2851\/revisions"}],"wp:attachment":[{"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/media?parent=2851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/categories?post=2851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/tags?post=2851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}