Katalog CVE

CVE-2026-54770

ŚrednieCVSS 6.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.34%

Percentyl 26 - wyżej niż 26% wszystkich znanych CVE

Streszczenie

WebOb dostarcza obiekty dla żądań i odpowiedzi HTTP. Przed wersją 1.8.11 funkcja Response._make_location_absolute() w src/webob/response.py sprawdza wartość Location pod kątem schematu URI lub podwójnego ukośnika przed tym, jak urllib.parse.urljoin() usuwa wiodące znaki kontrolne C0 i spacje. Wartość kontrolowana przez atakującego, taka jak spacja, po której następuje adres URL względny protokołu lub absolutny, może ominąć SCHEME_RE i sprawdzenie startswith("//") i zostać znormalizowana do przekierowania poza host. Request.relative_url() i podklasy webob.exc._HTTPMove, w tym HTTPFound, są również dotknięte, ponieważ używają tego samego niebezpiecznego łączenia URL lub omijają wcześniejszą ścieżkę normalizacji. Nieuwierzytelniony atakujący, który może wpłynąć na cel przekierowania aplikacji, może wysłać użytkowników do kontrolowanego przez atakującego hosta w celu phishingu lub kradzieży tokenów OAuth i SSO, ale wykorzystanie wymaga, aby użytkownik podążył za przekierowaniem. Problem został naprawiony w wersji 1.8.11.

Ocena ryzyka

Ryzyko obejmuje przekierowanie użytkowników do złośliwych witryn, co może prowadzić do phishingu, kradzieży danych uwierzytelniających lub tokenów sesji. Atak wymaga, aby aplikacja używała WebOb do obsługi przekierowań i aby atakujący mógł wpływać na wartość Location.

Rekomendacja

Zaleca się natychmiastową aktualizację do wersji 1.8.11 lub nowszej. Należy również unikać przekazywania niesprawdzonych danych do nagłówka Location i stosować dodatkową walidację URL.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

WebOb provides objects for HTTP requests and responses. Prior to 1.8.11, Response._make_location_absolute() in src/webob/response.py checks a Location value for a URI scheme or leading double slash before urllib.parse.urljoin() strips leading C0 control characters and spaces. An attacker-controlled value such as a space followed by a protocol-relative or absolute URL can therefore bypass SCHEME_RE and startswith("//") checks and be normalized to an off-host redirect. Request.relative_url() and webob.exc._HTTPMove subclasses, including HTTPFound, are also affected because they use the same unsafe URL joining behavior or bypass the earlier normalization path. An unauthenticated attacker who can influence an application's redirect target can send users to an attacker-controlled host for phishing or OAuth and SSO token theft, but exploitation requires the user to follow the redirect. This issue is fixed in version 1.8.11.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS