Julio de 2026: dos avisos de severidad alta, los dos en rutas que no piden login

· JD + AI · Umbraco

Julio de 2026: dos avisos de severidad alta, los dos en rutas que no piden login

Dos cosas obligaron a trabajar en julio. El 7 de julio Umbraco parcheó una falla de severidad alta en la Delivery API. El 28 de julio parcheó una falla de severidad alta en Umbraco Forms. Ninguna de las dos requería un usuario autenticado, y si todavía no hizo las dos, revise sus números de versión antes de seguir leyendo.

Todo lo demás que produjo el mes fue la misma fecha de diciembre discutida desde cuatro ángulos. Esa es la historia real de julio, y vale contarla, pero los parches van primero.

7 de julio: la Delivery API entregó contenido protegido a quien no correspondía

El aviso lo firma Andy Butland en el blog oficial de Umbraco. Afectados: Umbraco 13.0.0-13.15.0, 17.0.0-17.5.2 y 18.0.0-18.0.1. Corregido en 13.15.1, 17.5.3 y 18.0.2, publicado como GHSA-wr57-hqmp-fgvh, con crédito a Ardya Suryadinata por el reporte responsable.

El mecanismo es la parte que hay que entender, porque decide si a usted le toca. El contenido protegido podía ser recuperado por llamadores no autorizados cuando ese contenido estaba seleccionado en un documento no protegido y entraba en la respuesta vía output expansion. Un camino parecido exponía elementos referenciados que la configuración debía restringir por tipo. Output expansion no es una opción exótica. Es lo que se activa la primera vez que un front necesita el contenido seleccionado en un pedido en lugar de tres, y contenido para miembros seleccionado dentro de una página pública es un modelo de contenido normal, no un descuido. Los sitios en Umbraco Cloud que estaban en la última minor se parchearon el mismo día; lo que no estuviera ya en 13.15.x, 17.5.x o 18.0.x necesitaba primero una actualización de minor. La 13.15.1 además movió la dependencia de MessagePack fuera de una versión marcada como vulnerable, lo cual es una ganancia gratis si venía atrasado.

Del 23 al 28 de julio: Forms aceptaba envíos que nunca se completaron

Rick Butterfield publicó el preaviso el 23 de julio: parche para el 28 de julio a las 08:00 UTC, severidad alta, rangos afectados publicados (Forms 13.0.0-13.9.7, 17.0.0-17.4.6, 18.0.0-18.0.4) y detalles retenidos a propósito hasta la salida. Llegó en horario. El post del parche, también de Butterfield, da las versiones con la corrección: 13.9.8, 17.4.7 y 18.0.5, con Cloud actualizado automáticamente y crédito a Ismael Machuca.

La falla estaba en cómo Forms manejaba el avance del envío. Se podía manipular para que el servidor tratara el formulario como completo antes de tiempo y, en palabras del aviso, "an unauthenticated user could finalise a submission without completing the intended submission flow". La validación del lado del servidor que normalmente corre antes de aceptar podía saltarse, y los workflows configurados igual se disparaban. Los formularios de una sola página también están afectados, que es la frase que se saltea quien asume que "multi-página" quiere decir "a mí no me toca".

Ese último detalle es por qué el bump del paquete es la mitad fácil. Si alguno de sus formularios dispara algo aguas abajo, un registro en el CRM, una notificación, un paso de fulfillment, entonces las entradas guardadas entre el momento en que quedó vulnerable y el día que parcheó son lo que hay que auditar. El código lo arregla NuGet. La basura que ya llegó a su CRM, no.

Las dos eran sin autenticar, y las dos vivían en superficie que agregamos a propósito

Una vulnerabilidad de backoffice necesita a alguien logueado. Estas dos no necesitaban a nadie. La Delivery API y los formularios públicos son las dos cosas que una construcción Umbraco actual expone a internet abierta de forma deliberada, porque para eso están el headless y la captación de leads.

Hace cinco años el patrón de avisos de este CMS se inclinaba al backoffice, donde el radio de impacto lo acota quién tiene cuenta. "Headless más un formulario de contacto" es un perfil de riesgo distinto al de un sitio MVC todo-en-uno con el admin detrás de un login, y julio es el mes en que el historial de avisos empezó a parecerse a la arquitectura que venimos entregando.

Todo lo demás de julio fue la fecha de diciembre

Corné Hoskam pasó de 13.5.2 a 17.5.3 en unas dos horas sobre Umbraco Cloud, con el salto de .NET 8 a .NET 10 incluido, y cuenta que la migración de datos de TinyMCE a Tiptap corrió sin que él la tocara. Lea las salvedades antes de citarle las dos horas a un cliente. Su sitio no tenía código propio de backoffice, y él mismo dice que si uno depende de paquetes comunitarios de v13 o de trabajo custom en el backoffice, "the heavy parts of the upgrade are in there". También ubica el fin de vida de Umbraco 13 en diciembre de este año, citando la página de ciclo de vida de Umbraco. De esa fecha solo tenemos su post, no la página del fabricante, así que confírmela en umbraco.com antes de que un presupuesto dependa de ella.

Tim Gaunt discute el caso contrario en el blog de su propia empresa, TSD Digital, y lo hace bien: "End-of-life is a date on the vendor's calendar. It isn't a fact about the customer's business." Todavía mantiene un sitio en Umbraco v4 a propósito. Su distinción entre un riesgo gestionado y el abandono liso y llano, construida sobre exposición y contención en lugar de números de versión, es lo más útil que escribió alguien sobre actualizaciones este mes. TSD vende soporte de cola larga y su propio producto derivado de Umbraco, así que no es una posición desinteresada. Sigue siendo la correcta.

Chris Osterhout, de la agencia Diagram, que implementa Umbraco comercialmente, arma el argumento de 17 como algo más que una salida de emergencia, sobre la idea de que los chequeos con IA van adentro del flujo editorial y no en reportes posteriores: "AI can become part of the publishing process instead of another tool you use afterward". El mecanismo que describe, metadatos redactados automáticamente y chequeos de accesibilidad capaces de frenar una publicación, se puede construir hoy sobre 17. La pieza es marketing con forma de estrategia, y la estrategia igual es correcta.

Debajo de todo, .NET. El equipo de .NET de Microsoft publicó .NET 11 Preview 6, que le importa a Umbraco no porque haya que instalar una preview sino porque 17 apunta a .NET 10 y 11 es la próxima conversación de LTS. Pablo Lopes anunció un curso gratuito de modernización de .NET para principiantes armado alrededor del agente de modernización de GitHub Copilot; apunta a ASP.NET legacy y no a Umbraco, pero produce exactamente los artefactos que Hoskam produjo a mano: un assessment, un plan y una lista de tareas. El post de David Ortinau sobre CoreCLR y el calendario de Mono está en el conjunto de este mes porque viaja en el hilo de .NET 11; si usted solo corre Umbraco en web no le cambia nada, y decirlo es mejor que rellenar.

Del lado del front, salió Next.js 16.3.0-preview.10 con trabajo sobre prefetch y caché de rutas. No tiene autor humano, solo el bot de releases de Vercel. Una preview no es algo para llevar a producción, pero el prefetching es la costura donde un front alimentado por la Delivery API gana o pierde sus tiempos de respuesta, así que conviene leerlo antes de que 16.3 sea estable.

El julio propio de Umbraco fue sobre agentes

Cinco de las catorce fuentes de este post, un 36%, salen del blog oficial de Umbraco. Tres son los avisos de arriba, donde el fabricante es la única fuente correcta. Las otras dos son anuncios de producto, y un fabricante escribiendo sobre su propio lanzamiento es un anuncio, no un análisis. Otras cuatro vienen del blog de .NET de Microsoft, que es la misma relación una capa más abajo.

Bolette Kern anunció Umbraco Automate, un producto de automatización con lienzo drag-and-drop para Umbraco 17+, open source, sin tope de ejecuciones ni de acciones y con conectores propios para Forms, Deploy, Engage, Commerce, Workflow y UI Builder. Lo interesante no es el lienzo, es que los conectores salen de HQ, que es lo que define si esto sobrevive al contacto con el flujo real de un cliente.

El post de Phil Whittaker sobre MCP como plataforma es el más consecuente de los dos: un Base MCP SDK compartido debajo de cada servidor MCP de Umbraco, un CLI que expone el mismo conjunto de herramientas sobre otro transporte, encadenado de MCP para que el autor de un paquete componga las herramientas ya existentes de documentos y medios en vez de reimplementarlas, y MCP hosteado como endpoint HTTP con OAuth. Whittaker dice que Umbraco como MCP remoto estará disponible en todos los planes de Umbraco Cloud en el verano (boreal) de 2026. Es la hoja de ruta declarada por el fabricante, y así hay que pesarla.

Al lado de eso, Jeff Handley publicó la v2.0 del SDK oficial de MCP para C# contra la revisión 2026-07-28 de la especificación, que elimina el handshake de initialize y la cabecera Mcp-Session-Id a favor de pedidos autocontenidos sin estado, manteniendo compatibilidad hacia atrás con el código v1. Si está construyendo un servidor MCP para Umbraco, el transporte le cambió por debajo y con él se fue el problema de las sesiones pegajosas.

La mejor escritura de ingeniería del mes Umbraco no lleva firma. La página no acredita a nadie; el post está escrito en primera persona por el mantenedor de Examine, en el blog Shazwazza, que es el de Shannon Deminick. Los flujos agénticos de GitHub Next corrieron sobre Examine de forma programada durante dos meses: 124 ejecuciones exitosas del Perf Improver, 24 PRs de rendimiento mergeados, tres releases publicadas, y ManagedQuery bajando de 11,42 ms a 2,17 ms sobre un índice de 1.000 documentos, con asignaciones de 1.323 KB a 371 KB. El autor además vende ExamineX, un servicio gestionado que corre sobre las mismas entrañas, y lo dice en el post. Los benchmarks quedaron en el repositorio junto al código que miden, que es más de lo que trae la mayoría de las afirmaciones sobre productividad con IA.

Qué debería cambiar este mes

Umbraco pasó julio publicando superficie que le responde a máquinas y parcheando superficie que le respondía a desconocidos. Son bases de código distintas y no estoy diciendo que la nueva sea insegura. La afirmación más acotada es más difícil de discutir: la porción de una instalación de Umbraco que responde a un pedido sin autenticar creció con cada release desde que apareció la Delivery API, el MCP hosteado en todos los planes de Cloud la agranda otra vez, y julio es el primer mes en que los dos avisos de severidad alta cayeron exactamente con esa forma.

Así que lo que hay que cambiar es el inventario, no la actitud. Si no puede responder "qué endpoints de este sitio contestan sin sesión de backoffice, y qué ve cada uno" en diez minutos a partir de un documento que ya mantiene, lo va a responder contra reloj el día del próximo aviso. La frase de Gaunt es el contrapeso y apunta en la misma dirección: una versión vieja que alguien mira le gana a una actual que no mira nadie. El inventario es esa mirada. Los números de versión solo dicen qué hacer después.

Fuentes

Los títulos se conservan en su idioma original: así es como se cita un documento y así es como lo vas a encontrar.

umbraco · umbraco-cms · umbraco-apis · umbraco-cloud · product · community · release · sitecore-search

2026 © Umbracolombia - Todos los derechos reservados.