CVE-2026-41699: Spring GraphQL RCE-Lücke

CVE-2026-41699: Spring GraphQL RCE-Lücke

Am 10. Juni 2026 veröffentlichte das Spring-Sicherheitsteam einen kritischen Advisory: CVE-2026-41699. Die Schwachstelle mit einem CVSS-Score von 8.1 (High) betrifft Spring-for-GraphQL-Anwendungen und ermöglicht Angreifern die Ausführung beliebigen Codes (RCE) über manipulierte GraphQL-Anfragen mit paginierten Verbindungen. Betroffene Versionen müssen umgehend aktualisiert werden.

Was ist CVE-2026-41699?

CVE-2026-41699 beschreibt eine Unsafe Deserialization-Schwachstelle im Spring-for-GraphQL-Framework. Sie tritt auf, wenn Anwendungen paginierte Felder (sogenannte Connection-Felder) über GraphQL-Queries bereitstellen. Dabei werden vom Client übermittelte Cursor-Werte deserialisiert, ohne ausreichend auf bösartige Payloads geprüft zu werden.

Die Lücke wurde von VMware intern entdeckt und am 10. Juni 2026 veröffentlicht. Sie wurde unter der CWE-502-Klasse Deserialization of Untrusted Data kategorisiert.

Welche Anwendungen sind betroffen?

Eine Anwendung ist nur dann anfällig, wenn alle der folgenden Bedingungen erfüllt sind:

  • Die Anwendung nutzt Spring for GraphQL
  • Es werden paginierte (Connection) Felder über GraphQL-Queries exponiert
  • Im Classpath befinden sich spezifische Klassen, die Angreifer zur Ausführung unerwünschter Logik während der Deserialisierung ausnutzen können

Betroffene Versionen:

  • Spring for GraphQL 2.0.0 bis 2.0.3
  • Spring for GraphQL 1.4.0 bis 1.4.5
  • Spring for GraphQL 1.3.0 bis 1.3.8
  • Nicht mehr unterstützte Versionen sind ebenfalls betroffen

Wie funktioniert der Angriff?

Angreifer können einen speziell präparierten Cursor in einer paginierten GraphQL-Anfrage einbetten. Dieser Cursor wird serverseitig deserialisiert und führt zur Instanziierung bösartiger Klassen im Classpath — typischerweise bekannte Gadget-Chains, die über commons-collections, Jackson oder ähnliche Bibliotheken zur Remote Code Execution führen.

Da die Anfrage über das öffentliche GraphQL-Schema erfolgt, benötigt der Angreifer in der Regel keine Authentifizierung. Die Ausnutzbarkeit wird im NVD als Network mit High Impact eingestuft.

Mitigation: Patches & Workarounds

Das Spring-Team hat für alle betroffenen Version-Tracks korrigierte Releases bereitgestellt:

  • 2.0.x → 2.0.4 (OSS)
  • 1.4.x → 1.4.6 (OSS)
  • 1.3.x → 1.3.9 (Commercial)

Die empfohlene Maßnahme ist das sofortige Upgrade auf die jeweilige Fix-Version. Das Spring-for-GraphQL-Release 2.0.4 vom 10. Juni 2026 behebt neben CVE-2026-41699 auch zwei weitere High-Severity-CVEs (CVE-2026-41700 und CVE-2026-41856).

Es sind keine weiteren Workarounds oder Konfigurationsänderungen erforderlich — ein reines Dependency-Update genügt.

Github Release 2.0.4 — Weitere Fixes

Das Release 2.0.4 enthält neben den Security-Fixes folgende Verbesserungen:

  • Verbesserte Flexibilität bei Collection-Typen in JsonKeysetCursorStrategy
  • Bugfix: Argument-Annotations auf Handler-Methoden in generischen Interfaces werden jetzt korrekt erkannt
  • WebSocket-Keepalive-PING für alle idle Sessions
  • Dependency-Upgrades: Kotlin 2.3.20, Micrometer 1.16.6, Reactor 2025.0.6, Spring Framework 7.0.8

Fazit

CVE-2026-41699 ist eine ernste Sicherheitslücke für alle Spring-for-GraphQL-Anwendungen mit paginierten Queries. Mit einem CVSS-Score von 8.1 und der Möglichkeit zur Remote Code Execution sollte das Update auf 2.0.4 (bzw. 1.4.6 oder 1.3.9) umgehend erfolgen. Da keine zusätzlichen Konfigurationsschritte nötig sind, ist das Risiko eines Patch-Einsatzes minimal — das Risiko einer Nicht-Patchung jedoch erheblich.

Quellen

Kommentar abschicken