{"id":23740,"date":"2025-10-28T14:44:45","date_gmt":"2025-10-28T14:44:45","guid":{"rendered":"http:\/\/localhost\/?p=23740"},"modified":"2025-10-28T14:44:45","modified_gmt":"2025-10-28T14:44:45","slug":"cve-2025-62725-from-docker-compose-ps-to-system-compromise","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=23740","title":{"rendered":"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-10-28T18:42:02&#8243;,&#8221;description&#8221;:&#8221;Docker Compose powers millions of workflows, from CI\/CD runners and local development stacks to cloud workspaces and enterprise build pipelines. It\u2019s trusted by developers as the friendly layer above Docker Engine that turns a few YAML lines into a running application.\\n\\nIn early October 2025, while exploring Docker Compose\u2019s new support for OCI-based Compose artifacts, I discovered a high-severity path traversal vulnerability. The flaw allowed attackers to escape Compose\u2019s cache directory and write arbitrary files on the host system, simply by tricking a user into referencing a malicious remote artifact. The issue was patched by the Docker team and assigned CVE-2025-62725, rated High (CVSS 8.9).\\n\\n**We strongly recommend upgrading to Docker version v2.40.2 or later.** In this post I unpack the bug, share the proof of concept, and reconstruct how exploitation would have played out in practice.\\n\\n## **Background: OCI Compose Artifacts and Remote Includes**\\n\\nTo make Compose projects more portable, Docker added support for fetching Compose files published as OCI artifacts. This allows developers to host Compose projects in registries and include them via a simple \u201cinclude:\u201d directive.\\n\\nBehind the scenes, Compose fetches the OCI manifest, downloads each layer, and reconstructs the local project inside a cache directory.\\n\\nEach layer can include annotations such as:\\n\\n_com.docker.compose.file_  \\n_com.docker.compose.envfile_  \\n_com.docker.compose.extends_\\n\\nThese instruct Compose where to write the file and whether it extends the main project definition.\\n\\n## **Path Traversal in Docker Compose OCI Artifacts**\\n\\nThe vulnerable code lived in pkg\/remote\/oci.go, specifically inside pullComposeFiles, writeComposeFile, and writeEnvFile.\\n\\nWhen Compose processed OCI layers it trusted the layer annotations that tell it where to write files. An attacker could set an annotation such as:\\n\\nCompose then performed a literal join between its local cache directory and that annotation:\\n\\nNo normalization, no canonicalization, no checks that the resulting path stayed inside the cache. Because of that, a crafted annotation could traverse out of the cache directory and cause Compose to write files anywhere the Compose process had permission to write.\\n\\nMost people know it&#8217;s a bad idea to run \u201cdocker compose up\u201d on untrusted compose files. What makes this bug subtle and dangerous is that it is triggered during artifact resolution, not only when starting containers. Many seemingly \u201cread only\u201d commands, for example docker compose ps or docker compose config, force Compose to fetch and reconstruct remote OCI artifacts into the cache triggering the vulnerability.\\n\\n## **Exploitation**\\n\\nTo demonstrate the vulnerability, I created a minimal OCI registry that serves a malicious Compose artifact containing a path traversal layer. The registry is available here.\\n\\nAn attacker could exploit this by convincing a victim to run almost any Compose command, such as \u201cdocker compose ps\u201d in a directory that includes a specially crafted docker-compose.yaml file.\\n\\nOnce triggered, the Docker Compose CLI would fetch the remote artifact from the attacker\u2019s registry, inadvertently leaking the server\u2019s IP address. It would then process the artifact\u2019s annotations, blindly writing an additional YAML fragment outside of its cache directory.\\n\\nIn this proof-of-concept the payload targets ~\/[.]ssh\/authorized_keys, injecting the attacker\u2019s public key and immediately granting them SSH access to the victim\u2019s machine, even though no containers were started and no \u201cwrite\u201d operation was explicitly invoked by the user.\\n\\n## **Fix and Mitigation**\\n\\nThe Docker team&#8217;s patch introduces a validatePathInBase() function that normalizes and validates annotation-derived paths before writing, rejecting any that resolve outside the cache directory or that contain absolute paths.\\n\\nWe strongly recommend upgrading to Docker version v2.40.2 or later.\\n\\n## **Timeline**\\n\\n  * **October 9, 2025** \u2014 Vulnerability reported to Docker Security.\\n  * **October 21, 2025** \u2014 Issue confirmed, advisory opened.\\n  * **October 27, 2025** \u2014 Fix released in Docker Compose v2.40.2, CVE-2025-62725 published.\\n\\n\\n\\n## **Conclusion**\\n\\nDocker Compose\u2019s OCI artifact feature was built to make sharing configurations effortless, but as this case shows, any time a tool automatically reconstructs files from untrusted sources, boundaries blur.\\n\\nThe Docker team\u2019s swift response and fix ensured users remain protected, but the broader takeaway for the ecosystem is clear: **sanitize every path, even when \u201cit\u2019s just YAML.\u201d**\\n\\nThe post CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise appeared first on Blog.&#8221;,&#8221;published&#8221;:&#8221;2025-10-28T17:27:53&#8243;,&#8221;modified&#8221;:&#8221;2025-10-28T17:27:53&#8243;,&#8221;type&#8221;:&#8221;impervablog&#8221;,&#8221;title&#8221;:&#8221;CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;IMPERVABLOG:60999244835ED88136CF4FB08F8E160D&#8221;,&#8221;bulletinFamily&#8221;:&#8221;blog&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-62725&#8243;],&#8221;sourceData&#8221;:&#8221;&#8221;,&#8221;sourceHref&#8221;:&#8221;&#8221;,&#8221;cvss&#8221;:{&#8220;score&#8221;:8.9,&#8221;severity&#8221;:&#8221;HIGH&#8221;,&#8221;vector&#8221;:&#8221;CVSS:4.0\/AV:N\/AC:L\/AT:P\/PR:N\/UI:A\/VC:H\/SC:H\/VI:H\/SI:H\/VA:H\/SA:H&#8221;,&#8221;version&#8221;:&#8221;4.0&#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:\/\/www.imperva.com\/blog\/cve-2025-62725-from-docker-compose-ps-to-system-compromise\/&#8221;,&#8221;category_name&#8221;:&#8221;News&#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-10-28T18:42:02&#8243;,&#8221;description&#8221;:&#8221;Docker Compose powers millions of workflows, from CI\/CD runners and local development stacks to cloud workspaces and enterprise build pipelines. It\u2019s trusted by developers as&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[6,8,113,12,15,59,13,7,11,5],"class_list":["post-23740","post","type-post","status-publish","format-standard","hentry","category-category_news","tag-cve","tag-cvss","tag-cvss-89","tag-exploit","tag-high","tag-impervablog","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>CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D - 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=23740\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-10-28T18:42:02&#8243;,&#8221;description&#8221;:&#8221;Docker Compose powers millions of workflows, from CI\/CD runners and local development stacks to cloud workspaces and enterprise build pipelines. It\u2019s trusted by developers as...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=23740\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-28T14:44:45+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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=23740#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=23740\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D\",\"datePublished\":\"2025-10-28T14:44:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=23740\"},\"wordCount\":875,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-8.9\",\"exploit\",\"HIGH\",\"impervablog\",\"news\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_news\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=23740#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=23740\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=23740\",\"name\":\"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-10-28T14:44:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=23740#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=23740\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=23740#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D\"}]},{\"@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":"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D - 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=23740","og_locale":"en_US","og_type":"article","og_title":"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-10-28T18:42:02&#8243;,&#8221;description&#8221;:&#8221;Docker Compose powers millions of workflows, from CI\/CD runners and local development stacks to cloud workspaces and enterprise build pipelines. It\u2019s trusted by developers as...","og_url":"https:\/\/zero.redgem.net\/?p=23740","og_site_name":"zero redgem","article_published_time":"2025-10-28T14:44:45+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=23740#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=23740"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D","datePublished":"2025-10-28T14:44:45+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=23740"},"wordCount":875,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-8.9","exploit","HIGH","impervablog","news","Security","tapic","Vulnerability"],"articleSection":["category_news"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=23740#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=23740","url":"https:\/\/zero.redgem.net\/?p=23740","name":"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-10-28T14:44:45+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=23740#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=23740"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=23740#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"CVE-2025-62725: From \u201cdocker compose ps\u201d to System Compromise_IMPERVABLOG:60999244835ED88136CF4FB08F8E160D"}]},{"@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\/23740","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=23740"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/23740\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=23740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=23740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=23740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}