{"id":13374,"date":"2025-08-18T16:51:51","date_gmt":"2025-08-18T16:51:51","guid":{"rendered":"http:\/\/localhost\/?p=13374"},"modified":"2025-08-18T16:51:51","modified_gmt":"2025-08-18T16:51:51","slug":"exploit-for-os-command-injection-in-jenkins-pipelinegroovy","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=13374","title":{"rendered":"Exploit for OS Command Injection in Jenkins Pipeline\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-08-18T21:27:17&#8243;,&#8221;description&#8221;:&#8221;# Pipeline: Groovy Plugin\\n\\n[![Jenkins Plugin](https:\/\/img.shields.io\/jenkins\/plugin\/v\/workflow-cps)](https:\/\/plugins.jenkins.io\/workflow-cps)\\n[![Changelog](https:\/\/img.shields.io\/github\/v\/tag\/jenkinsci\/workflow-cps-plugin?label=changelog)](https:\/\/github.com\/jenkinsci\/workflow-cps-plugin\/blob\/master\/CHANGELOG.md)\\n[![Jenkins Plugin Installs](https:\/\/img.shields.io\/jenkins\/plugin\/i\/workflow-cps?color=blue)](https:\/\/plugins.jenkins.io\/workflow-cps)\\n\\n## Introduction\\n\\nA key component of the Pipeline plugin suite, this provides the standard execution engine for Pipeline steps, based on a custom [Groovy](http:\/\/www.groovy-lang.org\/) interpreter that runs inside the Jenkins controller process.\\n\\n(In principle other execution engines could be supported, with `FlowDefinition` being the API entry point, but none has been prototyped and it would likely be a very substantial effort to write one.)\\n\\nPipeline Groovy script code such as\\n\\n&#8220;`groovy\\nretry(3) {\\nfor (int i = 0; i \\u003c 10; i++) {\\n  branches[\\&#8221;branch${i}\\&#8221;] = {\\n    node {\\n      retry(3) {\\n        checkout scm\\n      }\\n      sh &#8216;make world&#8217;\\n    }\\n  }\\n}\\nparallel branches\\n&#8220;`\\n\\ngets run as a Groovy program, with certain special function calls called *steps* performing Jenkins-specific operations.\\nIn this example the step `parallel` is defined in this plugin, while `node`, `retry`, `checkout`, and `sh` are defined in other plugins in the Pipeline suite. The `scm` global variable is defined in the Pipeline Multibranch plugin.\\n\\nThe Groovy script is compiled to a class named `WorkflowScript`, so that is the name shown in stack traces instead of the script file-name (e.g. `Jenkinsfile`).\\n\\nUnlike a regular Groovy program run from a command line, the complete state of a Pipeline build\u2019s program is saved to disk every time an *asynchronous* operation is performed, which includes most Pipeline steps.\\nJenkins may be restarted while a build is running, and will resume running the program where it left off.\\nThis is not intended to be efficient, and so should be limited to high-level \u201cglue\u201d code directly related to Jenkins features;\\nyour project\u2019s own build logic should be run from external programs on a build node, in a `sh` or `bat` step.\\n\\n## Known limitations\\n\\nThe [Pipeline Groovy epic](https:\/\/issues.jenkins-ci.org\/browse\/JENKINS-35390) in JIRA covers some known limitations in the Groovy interpreter.\\nThese issues stem from the fact that Pipeline cannot run Groovy directly, but must intercept each operation to save the program state.\\n\\nThe [Pipeline Sandbox epic](https:\/\/issues.jenkins-ci.org\/browse\/JENKINS-35391) covers issues with the *Groovy sandbox* used to prevent malicious Pipeline scripts from taking control of Jenkins.\\nScripts run with the sandbox disabled can make direct calls to Jenkins internal APIs, which can be a useful workaround for missing step functionality, but for security reasons only administrators can approve such scripts.\\n\\nThe [Pipeline Snippet Generator epic](https:\/\/issues.jenkins-ci.org\/browse\/JENKINS-35393) covers issues with the tool used to provide samples of step syntax based on live configuration forms.\\n\\n## History\\n\\nThis plugin was previously the \\&#8221;Workflow CPS plugin\\&#8221; or \\&#8221;Workflow Groovy Plugin\\&#8221;. Accordingly it has the Maven `artifactId` `workflow-cps`, not `pipeline-groovy`.\\n\\n## Technical design\\n\\nThe plugin uses the [Groovy CPS library](https:\/\/github.com\/cloudbees\/groovy-cps\/) to implement a [continuation-passing style transformation](https:\/\/en.wikipedia.org\/wiki\/Continuation-passing_style) on the program as it is compiled.\\nThe standard Groovy compiler is used to create the AST, but generation of bytecode is intercepted by a `CompilationCustomizer` which replaces most operations with variants that throw a special \u201cerror\u201d, `CpsCallableInvocation`.\\nThis is then caught by the engine, which uses information from it (such as arguments about to be passed to a method call) to pass control on to the next continuation.\\n\\nPipeline scripts may mark designated methods with the annotation `@NonCPS`.\\nThese are then compiled normally (except for sandbox security checks), and so behave much like \u201cbinary\u201d methods from the Java Platform, Groovy runtime, or Jenkins core or plugin code.\\n`@NonCPS` methods may safely use non-`Serializable` objects as local variables, though they should not accept nonserializable parameters or return or store nonserializable values.\\nYou may not call regular (CPS-transformed) methods, or Pipeline steps, from a `@NonCPS` method, so they are best used for performing some calculations before passing a summary back to the main script.\\nNote in particular that `@Override`s of methods defined in binary classes,\\nsuch as `Object.toString()`,\\nshould in general be marked `@NonCPS` since it will commonly be binary code calling them.\\n\\nSome kinds of objects are intrinsically not safe to serialize as such, yet we want to retain a reference to them in the program graph.\\nAn example is the `Executor` (~ executor slot on a built-in or agent node) which is part of the context passed by a `node` step to any step in its block, especially `sh`\/`bat`.\\nPipeline uses the `Pickle` API to substitute serialization-safe versions of these objects.\\nWhen a `WorkflowRun` is loaded from disk after a restart, the program state is deserialized, and pickles are deserialized (\u201crehydrated\u201d) in parallel.\\nIf and when all pickles are successfully deserialized and the resulting objects placed back in the program state, the program begins running again, and `StepExecution.onResume` is called to restore timers and the like.\\n\\nAll program logic is run inside a \u201cCPS VM thread\u201d, which is just a Java thread pool that can run binary methods and figure out which continuation to do next.\\nThe `parallel` step uses \u201cgreen threads\u201d (also known as co\u00f6perative multitasking): it records logical thread (~ branch) names for various actions, but does not literally run them simultaneously.\\nThe program may seem to perform tasks concurrently, but only because most steps run asynchronously, while the VM thread is idle, and they may overlap in time.\\nNo Java thread is consumed except during the typically brief intervals when Groovy code is actually being run on the VM thread.\\nThe executor widget only displays an entry for the \u201cflyweight\u201d executor on the built-in node when the VM thread is busy; normally it is hidden.\\n&#8221;,&#8221;published&#8221;:&#8221;2025-08-17T06:40:10&#8243;,&#8221;modified&#8221;:&#8221;2025-08-17T06:41:02&#8243;,&#8221;type&#8221;:&#8221;githubexploit&#8221;,&#8221;title&#8221;:&#8221;Exploit for OS Command Injection in Jenkins Pipeline\\\\:_Groovy&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;E70A90E3-A691-580C-9098-8330B9CB9FEB&#8221;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2022-25173&#8243;],&#8221;sourceData&#8221;:&#8221;&#8221;,&#8221;sourceHref&#8221;:&#8221;&#8221;,&#8221;cvss&#8221;:{&#8220;score&#8221;:8.8,&#8221;severity&#8221;:&#8221;HIGH&#8221;,&#8221;vector&#8221;:&#8221;CVSS:3.1\/AV:N\/AC:L\/PR:L\/UI:N\/S:U\/C:H\/I:H\/A:H&#8221;,&#8221;version&#8221;:&#8221;3.1&#8243;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/github.com\/shoucheng3\/jenkinsci__workflow-cps-plugin_CVE-2022-25173_2646-v6ed3b5b01ff1&#8243;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-08-18T21:27:17&#8243;,&#8221;description&#8221;:&#8221;# Pipeline: Groovy Plugin\\n\\n[![Jenkins Plugin](https:\/\/img.shields.io\/jenkins\/plugin\/v\/workflow-cps)](https:\/\/plugins.jenkins.io\/workflow-cps)\\n[![Changelog](https:\/\/img.shields.io\/github\/v\/tag\/jenkinsci\/workflow-cps-plugin?label=changelog)](https:\/\/github.com\/jenkinsci\/workflow-cps-plugin\/blob\/master\/CHANGELOG.md)\\n[![Jenkins Plugin Installs](https:\/\/img.shields.io\/jenkins\/plugin\/i\/workflow-cps?color=blue)](https:\/\/plugins.jenkins.io\/workflow-cps)\\n\\n## Introduction\\n\\nA key component of the Pipeline plugin suite, this provides the standard execution engine for Pipeline steps, based&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,41,12,32,15,13,7,11,5],"class_list":["post-13374","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-cvss-88","tag-exploit","tag-githubexploit","tag-high","tag-news","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Exploit for OS Command Injection in Jenkins Pipeline\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB - zero redgem<\/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:\/\/zero.redgem.net\/?p=13374\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Exploit for OS Command Injection in Jenkins Pipeline\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-08-18T21:27:17&#8243;,&#8221;description&#8221;:&#8221;# Pipeline: Groovy Pluginnn[![Jenkins Plugin](https:\/\/img.shields.io\/jenkins\/plugin\/v\/workflow-cps)](https:\/\/plugins.jenkins.io\/workflow-cps)n[![Changelog](https:\/\/img.shields.io\/github\/v\/tag\/jenkinsci\/workflow-cps-plugin?label=changelog)](https:\/\/github.com\/jenkinsci\/workflow-cps-plugin\/blob\/master\/CHANGELOG.md)n[![Jenkins Plugin Installs](https:\/\/img.shields.io\/jenkins\/plugin\/i\/workflow-cps?color=blue)](https:\/\/plugins.jenkins.io\/workflow-cps)nn## IntroductionnnA key component of the Pipeline plugin suite, this provides the standard execution engine for Pipeline steps, based...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=13374\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-18T16:51:51+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=13374#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=13374\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"Exploit for OS Command Injection in Jenkins Pipeline\\\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB\",\"datePublished\":\"2025-08-18T16:51:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=13374\"},\"wordCount\":1154,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-8.8\",\"exploit\",\"githubexploit\",\"HIGH\",\"news\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=13374#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=13374\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=13374\",\"name\":\"Exploit for OS Command Injection in Jenkins Pipeline\\\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-08-18T16:51:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=13374#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=13374\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=13374#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Exploit for OS Command Injection in Jenkins Pipeline\\\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Exploit for OS Command Injection in Jenkins Pipeline\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB - zero redgem","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:\/\/zero.redgem.net\/?p=13374","og_locale":"en_US","og_type":"article","og_title":"Exploit for OS Command Injection in Jenkins Pipeline\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-08-18T21:27:17&#8243;,&#8221;description&#8221;:&#8221;# Pipeline: Groovy Pluginnn[![Jenkins Plugin](https:\/\/img.shields.io\/jenkins\/plugin\/v\/workflow-cps)](https:\/\/plugins.jenkins.io\/workflow-cps)n[![Changelog](https:\/\/img.shields.io\/github\/v\/tag\/jenkinsci\/workflow-cps-plugin?label=changelog)](https:\/\/github.com\/jenkinsci\/workflow-cps-plugin\/blob\/master\/CHANGELOG.md)n[![Jenkins Plugin Installs](https:\/\/img.shields.io\/jenkins\/plugin\/i\/workflow-cps?color=blue)](https:\/\/plugins.jenkins.io\/workflow-cps)nn## IntroductionnnA key component of the Pipeline plugin suite, this provides the standard execution engine for Pipeline steps, based...","og_url":"https:\/\/zero.redgem.net\/?p=13374","og_site_name":"zero redgem","article_published_time":"2025-08-18T16:51:51+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=13374#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=13374"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"Exploit for OS Command Injection in Jenkins Pipeline\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB","datePublished":"2025-08-18T16:51:51+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=13374"},"wordCount":1154,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-8.8","exploit","githubexploit","HIGH","news","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=13374#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=13374","url":"https:\/\/zero.redgem.net\/?p=13374","name":"Exploit for OS Command Injection in Jenkins Pipeline\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-08-18T16:51:51+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=13374#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=13374"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=13374#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"Exploit for OS Command Injection in Jenkins Pipeline\\:_Groovy_E70A90E3-A691-580C-9098-8330B9CB9FEB"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/13374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13374"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/13374\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}