CVE-2025-61927
WysokieCVSS 7.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 49 - wyżej niż 49% wszystkich znanych CVE
Streszczenie
Happy DOM w wersji 19 i niższych zawiera podatność umożliwiającą zdalne wykonanie kodu (RCE). Kontekst VM Node.js nie jest izolowany, co pozwala niebezpiecznemu kodowi JavaScript na ucieczkę z VM i dostęp do funkcji procesu. Wersja 20.0.0 naprawia problem, wyłączając domyślnie ocenę JavaScript.
Ocena ryzyka
Ryzyko zdalnego wykonania kodu na serwerze, jeśli użytkownik uruchomi niezaufany kod JavaScript w środowisku Happy DOM. Atakujący może uzyskać pełną kontrolę nad systemem.
Rekomendacja
Zaktualizuj Happy DOM do wersji 20.0.0 lub nowszej. Upewnij się, że ocena JavaScript jest wyłączona, jeśli nie jest to konieczne.
Inne podatności w Happy DOM
Zobacz wszystkie- CVE-2025-62410Krytyczne
W wersjach przed 20.0.2 stwierdzono, że --disallow-code-generation-from-strings nie jest wystarczające do izolacji niezaufanego kodu JavaScript w happy-dom. Niezaufany skrypt i reszta aplikacji nadal działają w tym samym Isolate/procesie, więc atakujący mogą wdrażać ładunki zanieczyszczenia prototypu, aby przejąć ważne referencje, takie jak "process", lub przejąć przepływ sterowania poprzez manipulację sprawdzeniami niezdefiniowanych właściwości. Luka wynika z niekompletnej poprawki dla CVE-2025-61927. Podatność została naprawiona w wersji 20.0.2.
- CVE-2026-118661Średnie
W Happy DOM przed wersją 20.14.6 komponent CookieContainer nieprawidłowo waliduje i dopasowuje atrybuty Domain plików cookie. Może akceptować Domain niezwiązany z originem ustawiającym cookie, w tym publiczny sufiks, oraz traktować niepowiązaną nazwę hosta dzielącą sufiks jako dopasowanie, ponieważ cookieMatchesURL nie wymusza granicy etykiety DNS.
- CVE-2026-118660Wysokie
W Happy DOM przed wersją 21.0.0 podczas przetwarzania niezaufanego HTML na serwerze domyślnie ładowane są adresy URL iframe src oraz link rel="stylesheet" href, ponieważ opcje disableIframePageLoading i disableCSSFileLoading mają domyślnie wartość false. Atakujący kontrolujący przetwarzany HTML może wywołać żądania serwerowe do dowolnych wewnętrznych lub chmurowych punktów końcowych.
- CVE-2026-115895Wysokie
Happy DOM od wersji 17.0.0 do 21.0.4 w ECMAScriptModuleCompiler.ts przyjmuje alias importu ESM bez walidacji, że jest poprawnym identyfikatorem wiązania JS; przy włączonym enableJavaScriptEvaluation złośliwy HTML lub źródło modułu może spowodować wykonanie wygenerowanego JavaScriptu w procesie hosta Node.js.
- CVE-2026-34226Wysokie
W bibliotece Happy DOM przed wersją 20.8.9 występuje podatność polegająca na nieprawidłowym dołączaniu ciasteczek podczas użycia fetch() z opcją credentials: 'include'. Zamiast ciasteczek z docelowego adresu URL, dołączane są ciasteczka z bieżącej strony (window.location), co może prowadzić do wycieku ciasteczek z domeny A do domeny B.
- CVE-2026-33943Wysokie
Podatność w bibliotece Happy DOM (wersje 15.10.0 do 20.8.7) umożliwia zdalne wykonanie kodu (RCE) poprzez wstrzyknięcie złośliwych wyrażeń JavaScript w deklaracjach `export { }` w modułach ES. Kompilator `ECMAScriptModuleCompiler` bezpośrednio interpoluje niesprawdzone dane do generowanego kodu, a filtr cytatów nie usuwa znaków backtick, co pozwala na ominięcie zabezpieczeń za pomocą literałów szablonowych.
Oryginalny opis (angielski, źródło NVD)
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. Happy DOM v19 and lower contains a security vulnerability that puts the owner system at the risk of RCE (Remote Code Execution) attacks. A Node.js VM Context is not an isolated environment, and if the user runs untrusted JavaScript code within the Happy DOM VM Context, it may escape the VM and get access to process level functionality. It seems like what the attacker can get control over depends on if the process is using ESM or CommonJS. With CommonJS the attacker can get hold of the `require()` function to import modules. Happy DOM has JavaScript evaluation enabled by default. This may not be obvious to the consumer of Happy DOM and can potentially put the user at risk if untrusted code is executed within the environment. Version 20.0.0 patches the issue by changing JavaScript evaluation to be disabled by default.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

