Prüfen Sie den Status von CVEs. Mehr erfahren.
Die „php2shell“-Patches (CVE-2026-109618 und CVE-2026-109619) für PHP am Ende des Lebenszyklus (EOL) sind nun verfügbar. Da die Antworten des Vertriebs aufgrund der hohen Nachfrage derzeit langsamer als gewöhnlich ausfallen, ist der schnellste Weg zu den gepatchten Paketen der Online-Kauf von ELS für Runtimes (wird in einem neuen Tab geöffnet). | Lesen Sie die FAQ zu den Patches
Dieses CVE wurde vom TuxCare-Team behoben und
ein Patch wurde fürSpring®- Benutzer an ELS geliefert.
Das Spring® Framework ist ein umfassendes Open-Source-Framework für die Entwicklung von Java-Anwendungen. Es bietet Dependency Injection (DI), aspektorientierte Programmierung (AOP) und Transaktionsmanagement und macht die Java-Entwicklung modularer und effizienter.
Spring® Context ist ein Kernmodul des Spring® Frameworks, das leistungsstarke Abhängigkeitsinjektion (DI) und Anwendungskontextverwaltung bietet. Es baut auf dem Spring® Beans-Modul auf und fungiert als zentrale Schnittstelle für die Konfiguration und Verwaltung einerSpring®-Anwendung.
Eine unsachgemäße Behandlung der Groß- und Kleinschreibung liegt vor, wenn das Produkt beim Zugriff auf eine Ressource oder bei der Bestimmung ihrer Eigenschaften Unterschiede in der Groß- und Kleinschreibung nicht korrekt berücksichtigt, was zu inkonsistenten Ergebnissen führt.
CVE-2024-38820 ist eine mittelschwere Sicherheitslücke, die aus der Korrektur für CVE-2022-22968. Der Fix machte disallowedFields-Muster in DataBinder unabhängig von der Groß-/Kleinschreibung. Aufgrund von lokal abhängigen Ausnahmen in String.toLowerCase() sind jedoch einige Felder möglicherweise nicht wie vorgesehen geschützt.
Dieses Problem betrifft mehrere Versionen von:
org.springframework:spring-context-Paket,
org.springframework:spring-core-Paket,
org.springframework:spring-web-Paket,
org.springframework:spring-webflux-Paket,
org.springframework:spring-webmvc-Paket,
org.springframework:spring-websocket-Paket.
| Dossier Schwachstellen | |
| CVE-ID | 38820 |
| Schweregrad | Mittel: 5,3 |
| CWE-ID und Name | CWE-178: Unsachgemäße Behandlung von Groß- und Kleinschreibung |
| Betroffenes Projekt | Spring® -Framework |
| Betroffene Pakete | spring-kontext
Federkern spring-web spring-webflux spring-webmvc spring-websocket |
| Betroffene Versionen | All prior 5.3.0, <5.3.0;5.3.40>,<6.0.0;6.0.24>,<6.1.0;6.1.13> |
| NVD Veröffentlichungsdatum | 18. Oktober 2024 (Spring.io: 17. Oktober 2024) |
| TuxCare Fixtermin | 25. November 2025 |
| TuxCare feste Version | 5.3.39tuxcare.2 |
https://mvnrepository.com/artifact/org.springframework/spring-context
https://mvnrepository.com/artifact/org.springframework/spring-core
https://mvnrepository.com/artifact/org.springframework/spring-web
https://mvnrepository.com/artifact/org.springframework/spring-webflux
https://mvnrepository.com/artifact/org.springframework/spring-webmvc
https://mvnrepository.com/artifact/org.springframework/spring-websocket
Behoben in: ELS für Spring Framework:spring-web v5.3.39.TuxCare.2, das auf der letzten Open-Source-Community-Version 5.3.39 als Basis basiert, auf die alle TuxCare-Patches angewendet wurden.
CVE-2024-38820 ist eine Schwachstelle in der DataBinder-Komponente desSpring® Frameworks, die für die Bindung externer Daten an Java-Objekte zuständig ist. Dieses Problem entsteht durch die unsachgemäße Behandlung der Groß-/Kleinschreibung in den Mustern „disallowedFields“, wodurch möglicherweise eine unbefugte Manipulation von Datenfeldern möglich ist.
CVE-2024-38820 ist ein Problem, da es die unbefugte Manipulation sensibler Felder während der Datenbindung inSpring®-Anwendungen ermöglicht, was möglicherweise zu Sicherheitsumgehungen oder unerwartetem Anwendungsverhalten führen kann.
Spring® DataBinder wird verwendet, um eingehende Daten (z. B. aus HTTP-Anfragen) an Java-Objekte zu binden. Entwickler verwenden häufig disallowedFields, um das Setzen bestimmter Felder zu blockieren, in der Regel aus Sicherheitsgründen (z. B. um zu verhindern, dass Benutzer die Felder isAdmin oder role überschreiben).
CVE-2024-38820 entsteht, weil die disallowedFields Mechanismus ist case-sensitive, sondern Bindung Operationen können Groß-und Kleinschreibung ignorieren oder erlauben alternative Gehäuse.
Es könnte Folgendes passieren:
Korruption der Geschäftslogik - Sensible oder interne Felder könnten manipuliert werden.
Hier ist ein minimales Beispiel zur Reproduktion von CVE-2024-38820, das zeigt, wie eine falsche Groß-/Kleinschreibung in DataBinder.disallowedFields die Einstellung sensibler Felder ermöglichen kann, die eigentlich blockiert werden sollten.
Setup:Spring® Boot +Spring® Web (anfällige Version)
pom.xml – Verwendung einer anfälligenSpring®-Version (z. B. 5.3.39)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.7.18</version> <!– Uses Spring® Framework 5.3.39 –>
</dependency>
Beispiel Code
Benutzer.java
public class User {
private String username;
private boolean isAdmin;
// Getters and setters
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public boolean isAdmin() { return isAdmin; }
public void setAdmin(boolean isAdmin) { this.isAdmin = isAdmin; }
}
UserController.java
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/Benutzer")
public class UserController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.setDisallowedFields("isAdmin"); // Beabsichtigt, die Bindung von isAdmin zu blockieren
}
@PostMapping
@ResponseBody
public String createUser(@ModelAttribute User user) {
return "Benutzername: " + user.getUsername() + ", isAdmin: " + user.isAdmin();
}
}
Test über Curl oder Postman
✅ Erwartete sichere Anfrage
curl -X POST http://localhost:8080/user -d "benutzername=bob&isAdmin=true"
❌ Umgehung durch Gehäusevariation
curl -X POST http://localhost:8080/user -d "benutzername=bob&IsAdmin=true"
Spring® Framework 5.3.x wird von der Open-Source-Community nicht mehr unterstützt, da sein End-of-Life-Datum der 30.06.2023 ist. Das bedeutet lediglich, dass die Version ab diesem Datum keine Updates mehr erhält, um dieses Problem zu beheben.
Benutzer der betroffenen Komponenten sollten eine der folgenden Abhilfemaßnahmen anwenden:
Benötigen Sie eine Lösung für diese Sicherheitslücke für eine andereSpring® Framework-Version? Bitte kontaktieren Sie uns, wir helfen Ihnen gerne weiter!