{"id":123003,"date":"2025-03-26T10:22:42","date_gmt":"2025-03-26T08:22:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes"},"modified":"2025-03-26T10:22:42","modified_gmt":"2025-03-26T08:22:42","slug":"uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes","title":{"rendered":"Vulnerabilidades no ingress-nginx permitem a execu\u00e7\u00e3o de c\u00f3digo e o controle de clusters Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Quatro vulnerabilidades foram identificadas no controlador de ingress do Kubernetes, ingress-nginx, permitindo a execu\u00e7\u00e3o de c\u00f3digo em servidores de sistemas em nuvem que utilizam a plataforma Kubernetes, resultando em acesso total privilegiado ao cluster Kubernetes. As quest\u00f5es foram classificadas com um n\u00edvel cr\u00edtico de severidade (9.8 em 10). Os pesquisadores que identificaram os problemas deram \u00e0s vulnerabilidades o codinome IngressNightmare e observaram que as falhas afetam cerca de 43% dos ambientes em nuvem. As vulnerabilidades foram corrigidas nas vers\u00f5es ingress-nginx 1.11.5 e 1.12.1.    <\/p>\n<p>O controlador de ingress atua como um gateway e \u00e9 utilizado no Kubernetes para gerenciar o acesso da rede externa aos servi\u00e7os dentro do cluster. O controlador ingress-nginx \u00e9 o mais popular e aplica <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/\"   title=\"servidor\" data-wpil-keyword-link=\"linked\">servidor<\/a> NGINX para encaminhar solicita\u00e7\u00f5es ao cluster, roteando solicita\u00e7\u00f5es externas e balanceando carga. O projeto Kubernetes oferece controladores de ingress b\u00e1sicos para AWS, GCE e nginx, sendo que este \u00faltimo n\u00e3o est\u00e1 relacionado ao controlador kubernetes-ingress, que \u00e9 mantido pela empresa F5\/NGINX (as vulnerabilidades discutidas n\u00e3o afetam projetos desenvolvidos pelos desenvolvedores do NGINX, e a men\u00e7\u00e3o ao nginx no nome ingress-nginx est\u00e1 apenas relacionada ao uso do nginx como proxy).     <\/p>\n<p>As vulnerabilidades permitem que um atacante n\u00e3o autenticado consiga executar seu c\u00f3digo no contexto do controlador ingress-nginx, ao ter a capacidade de enviar uma solicita\u00e7\u00e3o ao manipulador web Admission. Durante a varredura de rede, mais de 6500 clusters Kubernetes vulner\u00e1veis foram detectados, utilizando controladores vulner\u00e1veis p\u00fablicos com o manipulador Admission acess\u00edvel a solicita\u00e7\u00f5es externas.    <\/p>\n<p>Na configura\u00e7\u00e3o padr\u00e3o, o c\u00f3digo executado pelo atacante pode acessar as configura\u00e7\u00f5es do objeto Ingress, onde, entre outras coisas, est\u00e3o armazenadas as credenciais para se conectar aos servidores Kubernetes, possibilitando o acesso privilegiado a todo o cluster. Como uma medida de seguran\u00e7a, recomenda-se desativar a fun\u00e7\u00e3o \"Validating Admission Controller\" no ingress-nginx.    <\/p>\n<p>O controlador Admission \u00e9 iniciado em um ambiente de pod separado e realiza a verifica\u00e7\u00e3o de objetos ingress recebidos antes de sua implanta\u00e7\u00e3o. Por padr\u00e3o, o manipulador web Admission aceita solicita\u00e7\u00f5es sem autentica\u00e7\u00e3o da rede p\u00fablica. Durante a verifica\u00e7\u00e3o, o controlador Admission cria uma configura\u00e7\u00e3o para o servidor http nginx com base no conte\u00fado do objeto ingress recebido e verifica sua validade.    <\/p>\n<p>As vulnerabilidades identificadas permitem a substitui\u00e7\u00e3o de suas pr\u00f3prias configura\u00e7\u00f5es no nginx atrav\u00e9s do envio de um objeto ingress formatado especificamente diretamente para o controlador Admission. Pesquisadores descobriram que algumas propriedades das requisi\u00e7\u00f5es de verifica\u00e7\u00e3o, definidas no campo \".request.object.annotations\", s\u00e3o diretamente inclu\u00eddas na configura\u00e7\u00e3o do nginx. A configura\u00e7\u00e3o gerada n\u00e3o \u00e9 aplicada, mas apenas testada executando o arquivo execut\u00e1vel \"nginx\" com a op\u00e7\u00e3o \"-t\".      <\/p>\n<p>Em particular, a substitui\u00e7\u00e3o de dados externos na configura\u00e7\u00e3o \u00e9 realizada para os par\u00e2metros \"mirror-target\", \"mirror-host\" (CVE-2025-1098), \"auth-tls-match-cn\" (CVE-2025-1097) e \"auth-url\" (CVE-2025-24514). Por exemplo, na linha de configura\u00e7\u00e3o \"set $target {{ $externalAuth.URL }};\" em vez de \"{{ $externalAuth.URL }}\" \u00e9 inserido o URL especificado no par\u00e2metro \"auth-url\". Neste caso, a validade do URL n\u00e3o \u00e9 verificada. Assim, o atacante pode transmitir como URL um valor como \"http:\/\/example.com\/#;\nconfigura\u00e7\u00f5es\" e inserir suas pr\u00f3prias configura\u00e7\u00f5es no arquivo de configura\u00e7\u00e3o.          <\/p>\n<p>Para executar c\u00f3digo arbitr\u00e1rio durante a verifica\u00e7\u00e3o da configura\u00e7\u00e3o com o comando \"nginx -t\", os pesquisadores aproveitaram o fato de que al\u00e9m de verificar a sintaxe, o nginx carrega bibliotecas com m\u00f3dulos e abre arquivos mencionados na configura\u00e7\u00e3o para avaliar sua disponibilidade. Entre outros, ao processar a diretiva ssl_engine, ocorre o carregamento da biblioteca compartilhada especificada na diretiva. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/ssl-sertifikat\/\"   title=\"SSL\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2324\">SSL<\/a>-o mecanismo.    <\/p>\n<p>Para carregar sua biblioteca no servidor Kubernetes, os pesquisadores se aproveitaram do (CVE-2025-1974) do fato de que, ao processar grandes solicita\u00e7\u00f5es, o nginx salva o corpo da solicita\u00e7\u00e3o em um arquivo tempor\u00e1rio, que \u00e9 imediatamente deletado, mas no sistema de arquivos \u00ab\/proc\u00bb permanece um descritor de arquivo aberto para esse arquivo. Assim, \u00e9 poss\u00edvel enviar solicita\u00e7\u00f5es simultaneamente para salvar o arquivo tempor\u00e1rio e iniciar a verifica\u00e7\u00e3o da configura\u00e7\u00e3o, onde o caminho do descritor no sistema de arquivos \u00ab\/proc\u00bb \u00e9 especificado na diretiva \u00abssl_engine\u00bb.     <\/p>\n<p>Para que o descritor de arquivo permane\u00e7a acess\u00edvel por um longo per\u00edodo, o valor \u00abContent-Length\u00bb na solicita\u00e7\u00e3o pode ser especificado como deliberadamente maior do que os dados realmente enviados (o servidor aguardar\u00e1 a recep\u00e7\u00e3o dos dados restantes). Uma complexidade adicional \u00e9 a necessidade de adivinhar o PID do processo e o n\u00famero do descritor de arquivo associado \u00e0 biblioteca compartilhada carregada, mas como geralmente \u00e9 usado um n\u00famero m\u00ednimo de processos em um cont\u00eainer, os valores necess\u00e1rios s\u00e3o adivinhados por tentativa e erro em algumas tentativas. Em caso de sucesso e carregamento da biblioteca compartilhada injetada, o atacante pode obter acesso aos par\u00e2metros armazenados dentro do ambiente pod, suficientes para controlar todo o cluster.          <center>  <iframe title=\"Ingress NGINX\" src=\"https:\/\/player.vimeo.com\/video\/1068882440?h=99b4db6dd8\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen style =\"max-width: 100%;\" loading=\"lazy\"><\/iframe>  <\/center>            <\/p>\n<p>Para verificar o uso do ingress-nginx vulner\u00e1vel, voc\u00ea pode executar o comando: kubectl get pods \u2014all-namespaces \u2014selector app.kubernetes.io\/name=ingress-nginx<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62946\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Kubernetes ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ingress-nginx \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Kubernetes, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443 Kubernetes. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 (9.8 \u0438\u0437 10). \u0412\u044b\u044f\u0432\u0438\u0432\u0448\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u043c \u043a\u043e\u0434\u043e\u0432\u043e\u0435 \u0438\u043c\u044f IngressNightmare \u0438 \u043e\u0442\u043c\u0435\u0442\u0438\u043b\u0438, \u0447\u0442\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442 \u043e\u043a\u043e\u043b\u043e 43% \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439. \u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-123003","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Kubernetes ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ingress-nginx \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Kubernetes, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 ingress-nginx, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Kubernetes ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ingress-nginx \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Kubernetes, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-03-26T08:22:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-03-26T08:22:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vulnerabilidades no ingress-nginx, permitindo a execu\u00e7\u00e3o de c\u00f3digo e a tomada de controle dos clusters Kubernetes | ProHoster","description":"No projeto em desenvolvimento do controlador de ingress no Kubernetes, ingress-nginx, foram identificadas quatro vulnerabilidades que permitem a execu\u00e7\u00e3o de c\u00f3digo em servidores de sistemas de nuvem que utilizam a plataforma Kubernetes, e obter.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 ingress-nginx, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes | ProHoster","og:description":"\u0412 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Kubernetes ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ingress-nginx \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Kubernetes, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-03-26T08:22:42+00:00","article:modified_time":"2025-03-26T08:22:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"123003","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:43:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 11:36:20","updated":"2026-02-09 17:43:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/123003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=123003"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/123003\/revisions"}],"predecessor-version":[{"id":173087,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/123003\/revisions\/173087"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=123003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=123003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=123003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}