Eine schwerwiegende Sicherheitslücke wurde in Ivanti Endpoint Manager Mobile (EPMM) entdeckt, die es Angreifern ermöglicht, ohne Authentifizierung Code auf dem Server auszuführen. Das Problem liegt in der Art und Weise, wie das System Eingaben validiert, bevor geprüft wird, ob ein Benutzer autorisiert ist. Dieser Fehler ermöglicht die Kompromittierung der Anwendung durch das einfache Senden einer speziell präparierten Webanfrage.
| Produkt | MobileIron-MDM |
| Datum | 20.05.2025 14:04:56 |
| Informationen |
|
Technische Zusammenfassung
CVE-2025-4427 und CVE-2025-4428 resultieren daraus, wie Ivanti EPMM die Validierung und Sicherheitsprüfungen in Spring MVC handhabt. Insbesondere:
- Wenn ein Benutzer eine Anfrage an Endpunkte wie
/api/v2/featureusagesendet, werden die Anfrageparameter einem Datenobjekt (DeviceFeatureUsageReportQueryRequest) zugeordnet. - Wenn die Annotation
@Validverwendet wird, ruft Spring benutzerdefinierte Validatoren wie denDeviceFeatureUsageReportQueryRequestValidatorauf, bevor geprüft wird, ob der Benutzer authentifiziert oder autorisiert ist. - Innerhalb dieses Validators verwendet Ivanti
buildConstraintViolationWithTemplate()mit ungefilterten Eingaben, die vom Angreifer kontrolliert werden. - Da der Hibernate Validator EL-Ausdrücke (z. B.
${3*333}) verarbeiten kann, werden diese sofort im Kontext des Servers ausgewertet. - Infolgedessen kann ein Angreifer durch das Injizieren schädlicher EL-Ausdrücke (Expression Language Injection) eine nicht authentifizierte Remote Code Execution (RCE) erreichen.
- Ein ähnliches Problem existiert auch in
ScepSubjectValidator, das während der SCEP-Zertifikatsregistrierung durch einen authentifizierten Administrator ausgelöst wird. - Die Sicherheitslücke wurde aufgrund eines grundlegenden Fehlers in der Validierungsreihenfolge von Spring eingeführt: Die Bean-Validierung erfolgt vor den
@PreAuthorize-Zugriffskontrollen von Spring Security.
Beispiel:
Eine GET-Anfrage an:
GET /api/v2/featureusage?format=${3*333} HTTP/2
gibt Folgendes zurück:
Format '999' is invalid. Valid formats are 'json', 'csv'.
Dies bestätigt, dass EL-Ausdrücke ausgewertet werden – selbst ohne Authentifizierung.
Empfehlungen
Organisationen, die Ivanti EPMM einsetzen, sollten umgehend auf eine der gepatchten Versionen aktualisieren:
- 11.12.0.5
- 12.3.0.2
- 12.4.0.2
- 12.5.0.1
Zusätzlich:
- Überprüfen Sie benutzerdefinierte Validatoren, um sicherzustellen, dass keine nicht vertrauenswürdigen Daten in Fehlermeldungen eingefügt werden.
- Deaktivieren Sie die EL-Auswertung beim Rendern von Vorlagen, wo dies nicht erforderlich ist.
- Stellen Sie sicher, dass Autorisierungsprüfungen immer vor jeglicher Verarbeitung von Benutzereingaben oder Validierungslogik stattfinden.
[Callforaction-THREAT-Footer]
Leave a Reply