{"id":160,"date":"2026-01-19T00:00:00","date_gmt":"2026-01-18T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/es\/vulnerabilidad-critica-acf-extended-escalada-privilegios-sin-login\/"},"modified":"2026-01-19T00:00:00","modified_gmt":"2026-01-18T23:00:00","slug":"vulnerabilidad-critica-acf-extended-escalada-privilegios-sin-login","status":"publish","type":"post","link":"https:\/\/helloblog.io\/es\/vulnerabilidad-critica-acf-extended-escalada-privilegios-sin-login\/","title":{"rendered":"Vulnerabilidad cr\u00edtica en ACF Extended: escalada de privilegios sin login y c\u00f3mo comprobar si te afecta"},"content":{"rendered":"\n<p>Advanced Custom Fields: Extended (ACF Extended) es un plugin muy popular que ampl\u00eda Advanced Custom Fields con m\u00e1s campos y un gestor de formularios. Precisamente esa parte de formularios es la que ha estado en el foco por una vulnerabilidad cr\u00edtica de <em>Privilege Escalation<\/em> (escalada de privilegios) que, en determinados escenarios, permite a un atacante <strong>sin autenticaci\u00f3n<\/strong> asignarse el rol de administrador.<\/p>\n\n\n\n<p>El aviso se ha publicado tras un reporte responsable y ya existe versi\u00f3n corregida. Aun as\u00ed, merece la pena entender el matiz importante: <strong>no todas las instalaciones quedan expuestas por defecto<\/strong>, pero si tienes formularios de creaci\u00f3n\/actualizaci\u00f3n de usuario con el campo de rol mapeado, el impacto puede ser total.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 se ha descubierto exactamente (CVE-2025-14533)<\/h2>\n\n\n\n<p>Seg\u00fan el an\u00e1lisis publicado por Wordfence, el plugin ACF Extended es vulnerable en versiones <strong>hasta 0.9.2.1<\/strong> (incluida) a una escalada de privilegios sin autenticaci\u00f3n, catalogada como <strong>cr\u00edtica (CVSS 9.8)<\/strong> y registrada como <strong>CVE-2025-14533<\/strong>.<\/p>\n\n\n\n<p>El problema aparece en el flujo de formularios cuando se usa una acci\u00f3n de tipo <strong>\u201cCreate user\u201d<\/strong> (<code>insert_user<\/code>) o <strong>\u201cUpdate user\u201d<\/strong> y se permite que un valor de formulario acabe construyendo los argumentos que llegan a <code>wp_insert_user()<\/code>.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-danger is-style-danger is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Impacto pr\u00e1ctico<\/h4>\n\n\n<p>Si un atacante consigue enviar <code>role=administrator<\/code> en ese formulario y el sitio lo acepta, obtiene acceso administrativo. Con un usuario admin, el compromiso del sitio puede ser completo (instalaci\u00f3n de plugins\/temas maliciosos, modificaci\u00f3n de contenido, redirecciones, spam, backdoors, etc.).<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Cu\u00e1ndo te afecta de verdad: la condici\u00f3n que lo vuelve explotable<\/h2>\n\n\n\n<p>Este punto es clave: la explotaci\u00f3n no depende solo de tener el plugin instalado. El escenario cr\u00edtico ocurre cuando el sitio ha montado un formulario de ACF Extended para alta\/gesti\u00f3n de usuarios y, adem\u00e1s, <strong>ha mapeado el campo <code>role<\/code><\/strong> (rol) a un campo del formulario\/field group.<\/p>\n\n\n\n<p>Wordfence menciona expl\u00edcitamente que la vulnerabilidad <strong>solo puede explotarse si <code>role<\/code> est\u00e1 mapeado al custom field<\/strong>. Es decir, si no has expuesto el rol en el formulario (o no lo has mapeado), no estar\u00edas en el caso cr\u00edtico descrito.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 fall\u00f3 en el dise\u00f1o: restricciones en el campo vs. restricciones en el formulario<\/h2>\n\n\n\n<p>ACF Extended permite definir un grupo de campos para datos de usuario (email, username, password y tambi\u00e9n role). Ese campo de rol tiene una opci\u00f3n para restringir roles permitidos (por ejemplo, una configuraci\u00f3n tipo \u201cAllow User Role\u201d). Lo esperable es que el formulario aplique esas mismas restricciones.<\/p>\n\n\n\n<p>El problema, seg\u00fan el informe, es que en la versi\u00f3n vulnerable el manejo de la acci\u00f3n <code>insert_user<\/code> <strong>no restring\u00eda los roles con los que un usuario pod\u00eda registrarse<\/strong>, de modo que un atacante pod\u00eda suministrar un rol elevado (por ejemplo <code>administrator<\/code>) y el sistema lo aceptaba, incluso aunque la interfaz sugiriese restricciones.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Detalles t\u00e9cnicos a alto nivel (sin perderse en el c\u00f3digo)<\/h2>\n\n\n\n<p>En la implementaci\u00f3n analizada por Wordfence, el m\u00f3dulo que gestiona acciones de formularios construye un array <code>$args<\/code> recorriendo los valores guardados\/mapeados y lo pasa a <code>wp_insert_user($args)<\/code> cuando la acci\u00f3n es <code>insert_user<\/code>. La debilidad est\u00e1 en que, en versiones afectadas, <strong>no se aplica un control efectivo sobre el valor de <code>role<\/code><\/strong> cuando llega desde el formulario.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/\/ Esquema simplificado del flujo descrito por Wordfence\n$args = [];\n\nforeach ($save as $user_field =&gt; $value) {\n    \/\/ Se construyen argumentos de usuario a partir de campos mapeados\n    if (in_array($user_field, $this-&gt;fields) &amp;&amp; !acf_is_empty($value)) {\n        $args[$user_field] = $value;\n    }\n}\n\n\/\/ Acci\u00f3n: inserci\u00f3n de usuario\n$user_id = wp_insert_user($args);\n\n\/\/ Si $args['role'] puede ser controlado por el atacante y no se valida,\n\/\/ el atacante puede intentar establecer 'administrator'.\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#6A737D\">\/\/ Esquema simplificado del flujo descrito por Wordfence<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">$args <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#E1E4E8\"> [];<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">foreach<\/span><span style=\"color:#E1E4E8\"> ($save <\/span><span style=\"color:#F97583\">as<\/span><span style=\"color:#E1E4E8\"> $user_field <\/span><span style=\"color:#F97583\">=><\/span><span style=\"color:#E1E4E8\"> $value) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\">    \/\/ Se construyen argumentos de usuario a partir de campos mapeados<\/span><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">    if<\/span><span style=\"color:#E1E4E8\"> (<\/span><span style=\"color:#79B8FF\">in_array<\/span><span style=\"color:#E1E4E8\">($user_field, <\/span><span style=\"color:#79B8FF\">$this<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#E1E4E8\">fields) <\/span><span style=\"color:#F97583\">&#x26;&#x26;<\/span><span style=\"color:#F97583\"> !<\/span><span style=\"color:#B392F0\">acf_is_empty<\/span><span style=\"color:#E1E4E8\">($value)) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">        $args[$user_field] <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#E1E4E8\"> $value;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\">\/\/ Acci\u00f3n: inserci\u00f3n de usuario<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">$user_id <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#B392F0\"> wp_insert_user<\/span><span style=\"color:#E1E4E8\">($args);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\">\/\/ Si $args['role'] puede ser controlado por el atacante y no se valida,<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\">\/\/ el atacante puede intentar establecer 'administrator'.<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Nota importante<\/h4>\n\n\n<p>El fragmento anterior no pretende ser el c\u00f3digo exacto completo, sino una representaci\u00f3n del patr\u00f3n: construir <code>$args<\/code> desde inputs del formulario y crear el usuario con <code>wp_insert_user()<\/code>. El riesgo aparece cuando <code>role<\/code> entra en ese array sin validaci\u00f3n\/whitelist efectiva.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Versiones afectadas y versi\u00f3n corregida<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Afectadas: ACF Extended <strong><= 0.9.2.1<\/strong><\/li>\n\n\n<li>Corregida: <strong>0.9.2.2<\/strong> (parche publicada por el vendor seg\u00fan el aviso)<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mitigaci\u00f3n y pasos recomendados para sites en producci\u00f3n<\/h2>\n\n\n\n<p>Si administras WordPress en entornos reales (agencias, SaaS, multisite o mantenimiento recurrente), aqu\u00ed lo pragm\u00e1tico es actuar en dos capas: <strong>actualizar<\/strong> y <strong>revisar configuraci\u00f3n<\/strong>.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>Actualiza ACF Extended a <strong>0.9.2.2<\/strong> o superior cuanto antes.<\/li>\n\n\n<li>Audita tus formularios de ACF Extended: busca acciones tipo <strong>Create user<\/strong> \/ <strong>Update user<\/strong> y revisa si hay un campo de rol (<code>role<\/code>) mapeado.<\/li>\n\n\n<li>Si el formulario existe por necesidad (por ejemplo, onboarding interno), evita exponer roles; si necesitas asignar roles, hazlo del lado servidor con l\u00f3gica expl\u00edcita (whitelist) y nunca desde un input manipulable.<\/li>\n\n\n<li>Revisa usuarios recientes con rol administrador y su fecha de creaci\u00f3n\/\u00faltimo acceso, especialmente si tu sitio ten\u00eda formularios p\u00fablicos de registro basados en ACF Extended.<\/li>\n\n\n<li>Aplica medidas de contenci\u00f3n habituales tras un incidente: rotaci\u00f3n de contrase\u00f1as, revisi\u00f3n de plugins\/temas instalados, comprobaci\u00f3n de integridad y logs.<\/li>\n\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Protecci\u00f3n con Wordfence: ventana temporal y reglas de firewall<\/h2>\n\n\n\n<p>El mismo informe indica que Wordfence despleg\u00f3 una regla de firewall para bloquear intentos de explotaci\u00f3n:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Usuarios de <strong>Wordfence Premium \/ Care \/ Response<\/strong>: regla disponible desde el <strong>11 de diciembre de 2025<\/strong>.<\/li>\n\n\n<li>Usuarios de <strong>Wordfence Free<\/strong>: la misma protecci\u00f3n lleg\u00f3 el <strong>10 de enero de 2026<\/strong> (30 d\u00edas despu\u00e9s).<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Cronolog\u00eda de divulgaci\u00f3n (resumen)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>2025-12-10: recepci\u00f3n del reporte a trav\u00e9s del Bug Bounty Program de Wordfence.<\/li>\n\n\n<li>2025-12-11: validaci\u00f3n y confirmaci\u00f3n del PoC; env\u00edo de detalles al vendor; regla de firewall para usuarios de pago.<\/li>\n\n\n<li>2025-12-14: el vendor publica la versi\u00f3n parcheada <strong>0.9.2.2<\/strong>.<\/li>\n\n\n<li>2026-01-10: la regla de firewall llega a usuarios de Wordfence Free.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 aprender de este caso (si desarrollas plugins o montas formularios en WordPress)<\/h2>\n\n\n\n<p>Aunque aqu\u00ed hablamos de un plugin concreto, el patr\u00f3n se repite mucho en WordPress: cuando un formulario termina construyendo objetos sensibles (usuarios, capacidades, roles) hay que aplicar controles en el backend aunque el UI \u201cparezca\u201d restringir opciones.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Nunca conf\u00edes en restricciones de interfaz: valida en servidor con listas blancas (whitelists).<\/li>\n\n\n<li>Si un endpoint o acci\u00f3n crea usuarios, trata <code>role<\/code> como dato cr\u00edtico: o lo ignoras, o lo fuerzas a un valor permitido.<\/li>\n\n\n<li>Revisa cualquier integraci\u00f3n que termine llamando a funciones core como <code>wp_insert_user()<\/code> con datos procedentes de usuarios an\u00f3nimos.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Cierre<\/h2>\n\n\n\n<p>La vulnerabilidad <strong>CVE-2025-14533<\/strong> en Advanced Custom Fields: Extended demuestra lo delicado que es exponer flujos de creaci\u00f3n\/actualizaci\u00f3n de usuarios desde formularios. Si tienes ACF Extended instalado, la prioridad es actualizar a <strong>0.9.2.2<\/strong> y comprobar si en tu sitio existe un formulario con acci\u00f3n de usuario y el campo <code>role<\/code> mapeado. Si esa combinaci\u00f3n se da en un formulario accesible p\u00fablicamente, el riesgo es cr\u00edtico.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1600\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-1-scaled-1.png\" alt=\"Configuraci\u00f3n de un grupo de campos en ACF Extended incluyendo un campo de rol\" class=\"wp-image-158\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-1-scaled-1.png 2560w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-1-scaled-1-300x188.png 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-1-scaled-1-1024x640.png 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-1-scaled-1-768x480.png 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-1-scaled-1-1536x960.png 1536w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-1-scaled-1-2048x1280.png 2048w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-1-scaled-1-400x250.png 400w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">. \u2014 <em>Forr\u00e1s: Wordfence.com<\/em><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1599\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-2-scaled-1.png\" alt=\"Creaci\u00f3n de un formulario en ACF Extended con acci\u00f3n para crear usuario y mapeo de campos\" class=\"wp-image-159\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-2-scaled-1.png 2560w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-2-scaled-1-300x187.png 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-2-scaled-1-1024x640.png 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-2-scaled-1-768x480.png 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-2-scaled-1-1536x959.png 1536w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-2-scaled-1-2048x1279.png 2048w, https:\/\/helloblog.io\/app\/uploads\/sites\/5\/2026\/01\/acfe-2-scaled-1-400x250.png 400w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">. \u2014 <em>Forr\u00e1s: Wordfence.com<\/em><\/figcaption><\/figure>\n\n\n<div class=\"references-section\">\n                <h2>Referencias \/ Fuentes<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/www.wordfence.com\/blog\/2026\/01\/100000-wordpress-sites-affected-by-privilege-escalation-vulnerability-in-advanced-custom-fields-extended-wordpress-plugin\/\" target=\"_blank\" rel=\"noopener noreferrer\">100,000 WordPress Sites Affected by Privilege Escalation Vulnerability in Advanced Custom Fields: Extended WordPress Plugin<\/a><\/li><li><a href=\"https:\/\/www.wordfence.com\/threat-intel\/vulnerabilities\/wordpress-plugins\/acf-extended\/advanced-custom-fields-extended-0921-unauthenticated-privilege-escalation-via-insert-user-form-action\" target=\"_blank\" rel=\"noopener noreferrer\">Advanced Custom Fields: Extended &lt;= 0.9.2.1 &#8212; Unauthenticated Privilege Escalation via Insert User Form Action<\/a><\/li><li><a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2025-14533\" target=\"_blank\" rel=\"noopener noreferrer\">CVE-2025-14533<\/a><\/li><li><a href=\"https:\/\/wordpress.org\/plugins\/acf-extended\/\" target=\"_blank\" rel=\"noopener noreferrer\">Advanced Custom Fields: Extended (WordPress plugin directory)<\/a><\/li><li><a href=\"https:\/\/www.wordfence.com\/threat-intel\/bug-bounty-program\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bug Bounty Program<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Si usas Advanced Custom Fields: Extended para construir formularios de alta de usuarios, hay una combinaci\u00f3n de configuraci\u00f3n que puede permitir que un atacante termine como administrador sin autenticarse.<\/p>\n","protected":false},"author":16,"featured_media":157,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[72,12,11,15,10],"class_list":["post-160","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seguridad","tag-acf","tag-plugins","tag-seguridad","tag-wordfence","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts\/160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/comments?post=160"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts\/160\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/media\/157"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/media?parent=160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/categories?post=160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/tags?post=160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}