- Se descapó
- 7 de agosto de 2026 a las 5:02 UTC
- Autor
- Kamo
- Compromit
- 21670e5
La pasarela dejó de las cuerdas de consulta enviadas de doble codificación en 3c24d32, pero cuatro otros proxies en este servicio todavía concatenados ya por cien-encoded bytes en una Cadena y se la entregó a la sobrecarga de la cuerda de RestTemplate, que lo trata como plantilla de URI y la codifica por segunda vez: %2C a la izquierda en %252C, la corriente ascendente decodificado una vez y consiguió el literal ficha A%2CB. Todas estas son superficies públicas, por lo que los fracasos son silenciosos y aterrizan fuera de la empresa: - /api/public/esign/** - Estado del cliente de un plan de negocios=SENT%2CCOMETED El filtro llegó a ESigService como una muestra. - /api/public/webinar/** - de la misma forma, MediaService lado. - /api/social/webhook/-token. El apretón de manos de GET ES la consulta cuerda. Un ficha de Meta que contiene un espacio comparado de desigual aguas abajo y MediaService respondió 200-vacío, así que Meta dejó caer la suscripción; X's crc-token es HMAC'd textualmente, así que uno desechado descarna el gancho web. Seguro para cambiar: La firma de X-hub de Meta-256 y X son ambas HMAC sobre el crudo BODY (MessengerAdapter:110, InstagramAdapter:114, XAdapter:151), que se envía como un byte virvolo[]. Ninguna firma cubre la URL. - /api/public-chat/** los tres manejadores que añaden getQueryString (). El ayudante se muda de APIGatewayController en UpstreamUri por lo que cuatro clases compartir una rama de parse-and-fall-back en lugar de cuatro copias. Una URL que URI.crear los rechazos (espacio bruto, "ojo", "o, escape truncado" formas que funcionan hoy en día sólo BECAUSE del segundo codificador) todavía va por el viejo camino de la Cadena con un WARN, el tráfico tan malformado se comporta exactamente como lo hizo. La chat pública necesitaba un segundo punto de entrada en lugar de la puerta. Su camino es construido a partir de PathVariables que la primavera ya se ha desCODado mientras que su consulta es en bruto, así que envolver la URL concatenada en URI.create habría sido un regresión: una sesión de tomak que llega en abc%23xyz decodifica a abc-xyz, que URI.create acepta mientras truncamiento silenciosamente el camino en el fragmento. El las mitades se mantienen separadas en el sitio de la llamada. El camino codificado a través de la misma UriComponentsBuilder llama DefaultUriBuilderHaceFactory, por lo que esos bytes son Sin cambios; la consulta se fue sola. Los siete manejadores sin consultas se quedan con la cuerda camino intacto: sin consulta, sin código doble para arreglar. Deliberadamente NO cambió, y deben permanecer así todos el código exactamente una vez hoy, por lo que "arreglarlos" serían 502 tráfico en vivo: suscripción-catológica (splices a DECODADOS "RequestParam locale), promociones por suscripción (fijando literalmente), validate-key en ************* (SHA-256 hex, un punto fijo bajo URI-COMPONENTE), LeadIntakePublicController (Varia de ruta UUID descontada, nunca llamadas getQueryString), la grabación VOIP ingestar POST (config literal, toda entrada en el cuerpo multiparte), y CapchaVerificationService (la carga de pago está en el cuerpo JSON).