Podatność w middleware sesji frameworka GoFiber Fiber (wersje poniżej 2.52.5) umożliwia atakującemu dostarczenie własnej wartości identyfikatora sesji (session_id), co prowadzi do ataków session fixation. Jeśli aplikacja opiera mechanizmy bezpieczeństwa wyłącznie na obecności sesji, skutki mogą być bardzo poważne — łącznie z nieautoryzowanym dostępem do kont użytkowników.
▸ Pokaż oryginał (EN)
Fiber is an Express-inspired web framework written in Go A vulnerability present in versions prior to 2.52.5 is a session middleware issue in GoFiber versions 2 and above. This vulnerability allows users to supply their own session_id value, resulting in the creation of a session with that key. If a website relies on the mere presence of a session for security purposes, this can lead to significant security risks, including unauthorized access and session fixation attacks. All users utilizing GoFiber's session middleware in the affected versions are impacted. The issue has been addressed in version 2.52.5. Users are strongly encouraged to upgrade to version 2.52.5 or higher to mitigate this vulnerability. Users who are unable to upgrade immediately can apply the following workarounds to reduce the risk: Either implement additional validation to ensure session IDs are not supplied by the user and are securely generated by the server, or regularly rotate session IDs and enforce strict session expiration policies.
Podatność (CWE-384 — Session Fixation) polega na tym, że middleware sesji GoFiber akceptuje wartość session_id dostarczoną bezpośrednio przez użytkownika i tworzy na jej podstawie nową sesję. Atakujący może z góry ustalić znany sobie identyfikator sesji, a następnie nakłonić ofiarę do uwierzytelnienia się przy użyciu tego identyfikatora. W rezultacie atakujący uzyskuje dostęp do sesji uwierzytelnionego użytkownika, ponieważ serwer nie generuje nowego, losowego identyfikatora po zalogowaniu. Problem dotyczy wszystkich aplikacji korzystających z sesji w GoFiber w wersjach 2 i wyższych, aż do wersji 2.52.5.
Atakujący może uzyskać nieautoryzowany dostęp do sesji innego użytkownika (w tym do kont uprzywilejowanych), co w konsekwencji może prowadzić do przejęcia konta, ujawnienia poufnych danych oraz naruszenia integralności aplikacji.
Należy jak najszybciej zaktualizować GoFiber Fiber do wersji 2.52.5 lub nowszej. Jeśli natychmiastowa aktualizacja nie jest możliwa, zaleca się zastosowanie następujących obejść: (1) wdrożenie dodatkowej walidacji po stronie serwera, uniemożliwiającej przyjmowanie identyfikatorów sesji dostarczanych przez użytkownika — session_id powinien być zawsze generowany bezpiecznie przez serwer; (2) regularna rotacja identyfikatorów sesji oraz egzekwowanie rygorystycznych zasad wygasania sesji.
GoFiber Fiber w wersjach 2.x poniżej 2.52.5 — wszystkie aplikacje wykorzystujące wbudowane middleware sesji tego frameworka.
Pomimo wyniku CVSS 10.0 (CRITICAL), podatność nie figuruje na liście CISA KEV. Rzeczywiste ryzyko jest najwyższe w aplikacjach, które opierają logikę bezpieczeństwa wyłącznie na samej obecności sesji, bez dodatkowej weryfikacji tożsamości użytkownika.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HGofiber Fiber
APPGofiber< 2.52.5
Powiązane podatności
Przewidywalne UUID w Fiber v2 — podatność na generowanie słabych identyfikatorów
Gofiber Fiber: Niebezpieczna konfiguracja CORS middleware (wildcard + credentials)
Fiber is an express inspired web framework written in Go. A Cross-Site Request Forgery (CSRF) vulnerability ha...
Fiber is an Express inspired web framework written in Go. A Path Traversal (CWE-22) vulnerability in Fiber all...
Fiber is an Express inspired web framework written in Go. In versions on the v3 branch prior to 3.1.0, the use...