Rack::Session::Cookie w wersjach 2.0.0 do 2.1.1 nieprawidłowo obsługuje błędy odszyfrowywania ciasteczek sesji, co umożliwia nieuwierzytelnionemu atakującemu podstawienie sfabrykowanego ciasteczka akceptowanego jako prawidłowe dane sesji. Podatność pozwala na manipulację stanem sesji i potencjalnie nieautoryzowany dostęp do aplikacji.
▸ Pokaż oryginał (EN)
Rack::Session is a session management implementation for Rack. From 2.0.0 to before 2.1.2, Rack::Session::Cookie incorrectly handles decryption failures when configured with secrets:. If cookie decryption fails, the implementation falls back to a default decoder instead of rejecting the cookie. This allows an unauthenticated attacker to supply a crafted session cookie that is accepted as valid session data without knowledge of any configured secret. Because this mechanism is used to load session state, an attacker can manipulate session contents and potentially gain unauthorized access. This vulnerability is fixed in 2.1.2.
Gdy skonfigurowane są sekrety (secrets:), a odszyfrowanie ciasteczka sesji zakończy się niepowodzeniem, implementacja zamiast odrzucić ciasteczko, przechodzi do domyślnego dekodera. Atakujący może więc dostarczyć spreparowane ciasteczko sesji, które zostanie zaakceptowane i przetworzone bez znajomości skonfigurowanego sekretu. Ponieważ mechanizm ten służy do ładowania stanu sesji, atakujący uzyskuje kontrolę nad zawartością sesji.
Atakujący może manipulować danymi sesji aplikacji webowej i uzyskać nieautoryzowany dostęp do zasobów lub funkcji wymagających uwierzytelnienia. Możliwe jest również eskalowanie uprawnień poprzez podmianę zawartości sesji.
Należy zaktualizować bibliotekę rack-session do wersji 2.1.2 lub nowszej, w której podatność została naprawiona.
Rack::Session (rack-session) w wersjach od 2.0.0 do 2.1.1 (przed 2.1.2)
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XRack Session
APPRack2.0.0 – 2.1.2 (bez)
Powiązane podatności
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static determi...
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Par...
Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21, and 3.2.0 to before 3...
Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory`’s ...
Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, `Rack::Request#POST`...