CVE-2026-44476
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
Doorkeeper w wersji 1.9.0 ma podatność, która pozwala atakującemu znającemu jedynie publiczny client_id dynamicznie zarejestrowanego klienta na uwierzytelnienie się jako ten klient i uzyskanie tokena dostępu bez podania client_secret. Dzieje się tak, ponieważ dynamiczna rejestracja klienta tworzy aplikacje z ustawieniem confidential: false, mimo że odpowiedź rejestracji zawiera client_secret i reklamuje metody uwierzytelniania client_secret_basic i client_secret_post. Problem dotyczy tylko projektów z włączoną dynamiczną rejestracją klienta (domyślnie wyłączoną).
Ocena ryzyka
Atakujący może podszyć się pod zarejestrowanego klienta i uzyskać nieautoryzowany dostęp do zasobów chronionych przez OAuth, co może prowadzić do naruszenia integralności i poufności danych.
Rekomendacja
Zaleca się aktualizację do wersji 1.10.0 lub nowszej oraz rozważenie wyłączenia dynamicznej rejestracji klienta, jeśli nie jest wymagana.
Inne podatności w Doorkeeper
Oryginalny opis (angielski, źródło NVD)
Doorkeeper is an OAuth 2 provider for Ruby on Rails. In version 1.9.0, an attacker who knows only a dynamically registered client's client_id, which is public information, can authenticate as that client at the token endpoint and obtain an access token without providing its client_secret. This occurs because the Dynamic Client Registration feature creates applications with confidential: false hard-coded, even though the registration response returns a client_secret and advertises support for the client_secret_basic and client_secret_post authentication methods; since Doorkeeper treats a blank or missing secret as valid for non-confidential (public) clients, the secret is never verified. Only projects that have explicitly enabled Dynamic Client Registration, which is disabled by default, are affected. This issue is fixed in version 1.10.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

