- Se descapó
- 7 de agosto de 2026 a las 5:11 UTC
- Autor
- Kamo
- Compromit
- b10c950
21670e5 enrutado SocialWebhookConlor a través de la entrada FULLY-PRE-ENCODED de UpstreamUri punto, pero su URL es un híbrido: "token" es un PathVariable, así que la primavera le da las manos El valor DECODED, mientras que getQueryString (en bruto) es crudo. Ese punto de entrada codicia nada, que es correcto para la mitad cruda y mal para el decodificado, el espejo imagen del doble código de este conjunto de cambios se trata. POST /api/social/webhook/ab%252Ccd llega como la cadena ab%2Ccd, fue reenviado Limpió, y MediaService lo decodificaba por segunda vez hasta ab,cd. Antes de 21670e5 Redoblado correctamente, por lo que esto fue una regresión, no un agujero preexistente. Cero impacto en vivo: las fichas son 32 hex chars **************** y así Inserción, que es exactamente por lo que nada lo atrapó. El contrato se invirtió. sin embargo, y el primer segmento no sex añadido a esta ruta habría corrompido En silencio. Cambiado al punto de entrada híbrido, que codifica el camino una vez a través de la el mismo UriComponentsBuilder llama DefaultUriBuilderHace y deja la consulta sin tocar. El comportamiento del apretón de manos Meta/X no se modifica. pruebas existentes, que aún afirman cadenas de consulta de escrituras de perro. Dos nuevas pruebas sitúan el contrato con un fichaje no del abex ab%252Ccd, con y sin ella la consulta. Ambos fallan contra el punto de entrada anterior con exactamente ab%2Ccd. También corrige dos exageración en el javadoc de UpstreamUri: - Reclamó la forma híbrida PREVENTS a en una ruta decodificada truncando la variable la petición en el fragmento. No lo hace: **************** Difecciones en la historia de DefaultUriBuilderFactory detrás de la cuerda sobrecarga, por lo que el comportamiento no ha cambiado de cualquier manera. Sin cambios es la decisión correcta en una superficie pública, pero no es una mejora y no debe leerlo como uno. La verdadera razón por la que los puntos de entrada están divididos es el encode-on-vas-vs-not-all distinción arriba, que ahora es lo que dice el javadoc. - Una cadena de consulta vacía (no nula) utilizada para producir un rastro y ahora rinde Ninguno. La misma petición bajo RFC 3986; señalada en un comentario por lo que no es confundido con un descuido más tarde. Prosa y comentarios sólo para esos dos, sin cambio de comportamiento. Suite: 45 pruebas, 0 fallos, 0 errores.