CVE-2026-27192
WysokieStreszczenie
Feathersjs to framework do tworzenia interfejsów API i aplikacji w czasie rzeczywistym z użyciem TypeScript lub JavaScript. W wersjach 5.0.39 i wcześniejszych, walidacja pochodzenia wykorzystuje metodę startsWith(), co pozwala atakującym na ominięcie tego sprawdzenia poprzez rejestrację domeny, która dzieli wspólny prefiks z dozwolonym pochodzeniem.
Ocena ryzyka
Atakujący może zainicjować proces OAuth z nieautoryzowanego pochodzenia i wykradać tokeny, co prowadzi do pełnego przejęcia konta. To stwarza poważne ryzyko dla bezpieczeństwa aplikacji i danych użytkowników.
Rekomendacja
Zaleca się aktualizację do wersji 5.0.40, w której problem został naprawiony, aby zabezpieczyć aplikację przed tym typem ataku.
Powiązane podatności
- CVE-2026-91039Krytyczne
Podatność w ash_authentication dotyczy strategii dynamic_oidc, która nie zapewnia prawidłowej separacji przestrzeni tożsamości między połączeniami. Atakujący kontrolujący jedno połączenie może zostać zalogowany jako lokalny użytkownik utworzony przez inne połączenie, ponieważ identyfikatory użytkowników nie są odpowiednio rozdzielane.
- CVE-2026-86863Krytyczne
W pgAdmin 4 źródło uwierzytelniania 'webserver' miało podatność polegającą na tym, że funkcja WebserverAuthentication.get_user() w przypadku braku wartości w środowisku WSGI/CGI odczytywała nazwę użytkownika bezpośrednio z nagłówków HTTP przesyłanych przez klienta. W efekcie każdy klient mogący połączyć się z pgAdmin mógł podać własny nagłówek i zalogować się jako dowolny użytkownik, w tym istniejący Administrator, bez hasła. Problem dotyczy wersji od 6.2 do 9.18 i występuje tylko gdy w AUTHENTICATION_SOURCES włączone jest 'webserver'.
- CVE-2026-88952Krytyczne
W ash_authentication występuje błędne uwierzytelnianie, które umożliwia atakującemu zalogowanie się jako inny użytkownik poprzez powiązanie swojej tożsamości OAuth2 z cudzym kontem. Atakujący może przypisać zweryfikowany e-mail do konta wybranego na podstawie innych atrybutów, co prowadzi do przejęcia sesji.
- CVE-2026-79752Krytyczne
W CakePHP metody FunctionsBuilder (cast, extract, datePart, dateAdd) umożliwiają wstrzyknięcie SQL przez nieprawidłowe przetwarzanie danych wejściowych kontrolowanych przez użytkownika. Niezaufane dane trafiają do składni SQL bez odpowiedniego zabezpieczenia, co może pozwolić atakującemu na wykonanie własnych zapytań.
- CVE-2026-63472Krytyczne
W Vendure funkcja createCustomerAndUser w zewnętrznym uwierzytelnianiu pobiera istniejące konto po adresie e-mail i łączy z nim nową metodę uwierzytelniania bez weryfikacji właściciela e-maila. Atakujący może użyć niezweryfikowanego e-maila, aby przejąć konto ofiary.
- CVE-2026-92960Krytyczne
W vm2 przed wersją 3.11.6 konfiguracja builtin: ['*'] nie ogranicza dostępu do modułów os i dns, co pozwala kodowi w piaskownicy na odczytanie informacji o procesie hosta i topologii sieci. Atakujący mogą użyć funkcji dns.setServers(), aby przejąć globalny resolver DNS procesu hosta.
- CVE-2026-92957Krytyczne
W vm2 do wersji 3.11.6 włącznie, w polityce require NodeVM, wpisy z prefiksem node: nie są poprawnie normalizowane, co pozwala ominąć listę zakazanych modułów. Atakujący w piaskownicy może uzyskać dostęp do modułu child_process, co daje możliwość wykonywania poleceń w systemie.
- CVE-2026-92956Krytyczne
W wersjach vm2 od 3.10.1 do 3.11.6 istnieje możliwość ucieczki z piaskownicy za pomocą WebAssembly.compileStreaming i instantiateStreaming. Atakujący może uzyskać dostęp do obiektu process w środowisku Node.js 26, co daje pełną kontrolę nad procesem hosta.
- CVE-2026-92955Krytyczne
W wersjach vm2 przed 3.11.8 występuje luka umożliwiająca ucieczkę z piaskownicy przez obiekty console._stdout i console._stderr. Atakujący może nadpisać metodę emit w EventEmitter.prototype i wykonać kod w procesie hosta, omijając ograniczenia generowania kodu.
- CVE-2026-92953Krytyczne
W wersjach vm2 od 3.11.0 do 3.11.8 nie są odpowiednio chronione prototypy TypedArray i ArrayBuffer przed modyfikacją przez kod w piaskownicy. Atakujący może zmienić prototypy, co wpływa na tablice hosta i może prowadzić do nieautoryzowanych działań.
Oryginalny opis (angielski, źródło NVD)
Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. In versions 5.0.39 and below, origin validation uses startsWith() for comparison, allowing attackers to bypass the check by registering a domain that shares a common prefix with an allowed origin.The getAllowedOrigin() function checks if the Referer header starts with any allowed origin, and this comparison is insufficient as it only validates the prefix. This is exploitable when the origins array is configured and an attacker registers a domain starting with an allowed origin string (e.g., https://target.com.attacker.com bypasses https://target.com). On its own, tokens are still redirected to a configured origin. However, in specific scenarios an attacker can initiate the OAuth flow from an unauthorized origin and exfiltrate tokens, achieving full account takeover. This issue has bee fixed in version 5.0.40.

