Podatność w mechanizmie wyszukiwania tras (route lookup) frameworka Beego umożliwia atakującemu obejście kontroli dostępu bez żadnego uwierzytelnienia. Problem jest krytyczny, ponieważ nie wymaga żadnych uprawnień ani interakcji użytkownika, a atak może być przeprowadzony zdalnie przez sieć.
▸ Pokaż oryginał (EN)
The route lookup process in beego before 1.12.9 and 2.x before 2.0.3 allows attackers to bypass access control. When a /p1/p2/:name route is configured, attackers can access it by appending .xml in various places (e.g., p1.xml instead of p1).
Mechanizm route lookup w Beego nieprawidłowo przetwarza ścieżki URL zawierające rozszerzenia plików, takie jak .xml. Jeśli aplikacja definiuje chronioną trasę w formacie /p1/p2/:name, atakujący może uzyskać do niej dostęp, dodając rozszerzenie .xml do segmentu ścieżki (np. używając p1.xml zamiast p1). Powoduje to, że mechanizm kontroli dostępu nie rozpoznaje zmodyfikowanego żądania jako pasującego do chronionej trasy i przepuszcza je bez weryfikacji uprawnień.
Atakujący może ominąć skonfigurowane reguły kontroli dostępu i uzyskać nieautoryzowany dostęp do chronionych zasobów lub funkcji aplikacji, co może prowadzić do naruszenia poufności, integralności i dostępności danych przetwarzanych przez aplikację.
Należy zaktualizować Beego do wersji 1.12.9 lub nowszej (dla gałęzi 1.x) albo do wersji 2.0.3 lub nowszej (dla gałęzi 2.x). Patche dostępne są w oficjalnym repozytorium producenta na GitHub.
Beego w wersjach przed 1.12.9 oraz Beego w wersjach z gałęzi 2.x przed 2.0.3
Technika wykorzystania podatności jest publicznie opisana w zgłoszeniu GitHub Issues #4946 oraz w poradniku bezpieczeństwa GHSA-qx32-f6g6-fcfr, co zwiększa ryzyko praktycznego wykorzystania.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBeego
APPBeego≤ 1.12.42.0.0 – 2.0.2
Powiązane podatności
XSS w funkcji RenderForm() frameworka Beego dla Go
Path Traversal w Beego – funkcja leafInfo.match() umożliwia przejście katalogów
Beego: obejście kontroli dostępu w procesie wyszukiwania tras
An issue in beego v.2.2.0 and before allows a remote attacker to escalate privileges via the getCacheFileName ...
An issue in beego v.2.2.0 and before allows a remote attacker to escalate privileges via the sendMail function...