CVE-2026-66884 in oidcc_plug
Zusammenfassung
von VulDB • 04.08.2026
Cross-Site-Request-Forgery (CSRF)-Schwachstelle in Erlang Ecosystem Foundation oidcc_plug (Modul Oidcc.Plug.AuthorizationCallback) ermöglicht es einem Angreifer, den Browser eines Opfers dazu zu bringen, einen Autorisierungsablauf abzuschließen, den das Opfer nie initiiert hat.
Diese Schwachstelle ist mit der Programmdatei lib/oidcc/plug/authorization_callback.ex und der Programmroutine Oidcc.Plug.AuthorizationCallback.call/2 verbunden.
Eine Callback-Anfrage, die keine Oidcc.Plug.Authorize-Sitzung enthält, wird verarbeitet, wobei alle Sicherheitsprüfungen deaktiviert sind, anstatt sie abzulehnen. call/2 ersetzt die fehlende Sitzung durch permissive Standardwerte, und jede nachgelagerte Prüfung behandelt diesen Wert als nichts zum Vergleichen und gibt :ok zurück; daher werden die Prüfungen für Nonce, State, PKCE, Peer-IP und User-Agent vollständig übersprungen. Eine separate Klausel in check_state/2 akzeptiert ebenfalls eine zustandslose Anfrage (state-less request), wenn ein Verifier vorhanden ist.
Ein Angreifer erlangt einen Autorisierungscode für sein eigenes Provider-Konto und veranlasst das Opfer, den Callback-Endpunkt mit diesem Code und ohne State-Parameter aufzurufen. Die Anwendung meldet das Opfer als den Angreifer an; die nachfolgenden Aktionen des Opfers erfolgen somit im Konto des Angreifers, wo dieser diese einsehen kann. Anwendungen, die denselben Callback sowohl zum Anmelden (Signing In) als auch zum Verknüpfen eines Provider-Kontos verwenden, sind zusätzlich dem Risiko einer Account-Übernahme ausgesetzt, bei der das Konto des Angreifers mit dem des Opfers verknüpft wird.
Die permissive Fallback-Funktion dient keinem konformen Ablauf. Ein von Drittanbietern initiierter Login erreicht eine vertrauende Partei (Relying Party) über einen separaten Endpunkt zur Initiierung des Logins und veranlasst diese, eine neue Authentifizierungsanfrage zu senden; dieses Bibliothek implementiert jedoch keinen solchen Endpunkt. Oidcc.Plug.Authorize sendet stets einen State-Parameter, den ein Autorisierungsserver zurückspiegeln (echo) muss; daher fehlt einem legitimen Callback dieser Parameter nie.
Dieses Problem betrifft oidcc_plug: von Version 0.2.0-beta.1 bis vor 0.5.0.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.