CVE-2026-49983
ŚrednieCVSS 5.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
W Deno przed wersją 2.8.1 funkcja process.loadEnvFile() nie respektuje ograniczeń uprawnień środowiskowych (--deny-env). Pozwala to na zapisanie zmiennych z pliku .env do procesu nawet gdy dostęp do środowiska jest zabroniony.
Ocena ryzyka
Atakujący z dostępem do zapisu lub kontroli nad plikiem .env może ominąć zabezpieczenia --deny-env i wstrzyknąć dowolne zmienne środowiskowe, co może prowadzić do eskalacji uprawnień lub wycieku danych.
Rekomendacja
Należy natychmiast zaktualizować Deno do wersji 2.8.1 lub nowszej. Do czasu aktualizacji unikać używania process.loadEnvFile() w środowiskach z ograniczonym dostępem do zmiennych środowiskowych.
Inne podatności w Deno
Zobacz wszystkie- CVE-2026-22864Wysokie
Deno to środowisko uruchomieniowe dla JavaScript, TypeScript i WebAssembly. Przed wersją 2.5.6, wcześniejsza poprawka mająca blokować uruchamianie plików wsadowych/shell systemu Windows poprzez zwracanie błędu, gdy rozszerzenie ścieżki uruchamianego pliku odpowiadało .bat lub .cmd, była niewystarczająca. To sprawdzenie wykonuje porównanie uwzględniające wielkość liter z małymi literami, więc może zostać ominięte, gdy rozszerzenie używa alternatywnej wielkości liter (np. .BAT, .Bat itp.). Ta podatność jest naprawiona w wersji 2.5.6.
- CVE-2026-22863Wysokie
Deno to środowisko uruchomieniowe dla JavaScript, TypeScript i WebAssembly. Przed wersją 2.6.0, moduł node:crypto nie finalizuje szyfrowania. Ta podatność pozwala atakującemu na nieskończone szyfrowanie, co może prowadzić do naiwnych prób brute force oraz bardziej wyrafinowanych ataków mających na celu poznanie sekretów serwera. Podatność jest naprawiona w wersji 2.6.0.
- CVE-2026-55517Średnie
Podatność w Deno przed wersją 2.7.5 umożliwia zdalnemu serwerowi WebSocket spowodowanie awarii procesu Deno poprzez wysłanie odpowiedzi z nagłówkami Sec-WebSocket-Protocol lub Sec-WebSocket-Extensions zawierającymi nie-drukowalne znaki ASCII (0x80-0xFF). Błąd wynika z nieprawidłowego parsowania tych nagłówków, co prowadzi do paniki i zatrzymania całego procesu.
- CVE-2026-49860Średnie
W Deno przed wersją 2.8.1, podczas nawiązywania połączenia WebSocket, sprawdzano tylko nazwę hosta docelowego względem reguł --deny-net, ale nie weryfikowano adresów IP, na które ta nazwa się rozwiązywała. Skrypt atakującego może użyć specjalnie spreparowanej domeny, która przechodzi kontrolę nazwy hosta, ale rozwiązuje się na zabroniony adres IP, całkowicie omijając ograniczenia sieciowe.
- CVE-2026-49859Średnie
W Deno przed wersją 2.8.1 funkcja fetch() sprawdzała nazwę hosta docelowego względem reguł --deny-net, ale nie weryfikowała adresów IP, na które ta nazwa została rozwiązana. Skrypt atakującego mógł użyć specjalnie spreparowanej domeny, która przechodzi kontrolę nazwy hosta, ale rozwiązuje się na zabroniony adres IP, całkowicie omijając ograniczenia sieciowe.
Oryginalny opis (angielski, źródło NVD)
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.8.1, environment access is gated by the env permission. You can deny it with --deny-env, or restrict it to a specific allowlist with --allow-env=FOO,BAR. The expectation is that a program running without env permission cannot change process.env. process.loadEnvFile() (the Node-compatible API for loading variables from a .env file) does not honor this. It only checks that the program has read permission for the dotenv file, then writes every key in that file into the process environment — even when env access is denied. In effect, --allow-read plus a writable or attacker-controlled .env file is enough to defeat --deny-env. This vulnerability is fixed in 2.8.1.

