CVE-2026-106109
ŚrednieCVSS 4.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W Quasar Framework od wersji 1.0.0 do 3.3.0 pakiet @quasar/app-vite rekurencyjnie usuwał rozwiązany katalog build.distDir przed budowaniem, bez odrzucania katalogu głównego projektu, katalogu domowego użytkownika, korzeni systemu plików lub zewnętrznych katalogów rozwiązanych przez dowiązania symboliczne. Niebezpieczna, zaufana konfiguracja może usunąć dane zapisywalne przez użytkownika budującego przed rozpoczęciem kompilacji. Domyślnie żadne dane kontrolowane przez atakującego nie docierają do build.distDir, więc wykorzystanie wymaga skompromitowanej lub mniej zaufanej automatyzacji lub błędnej konfiguracji. Problem naprawiono w wersji 3.3.0.
Ocena ryzyka
Błędna konfiguracja lub złośliwa automatyzacja może spowodować usunięcie ważnych danych, co prowadzi do utraty danych lub przerwy w działaniu.
Rekomendacja
Zaktualizuj Quasar Framework do wersji 3.3.0 lub nowszej i upewnij się, że konfiguracja build.distDir jest bezpieczna.
Inne podatności w Quasar Framework
Zobacz wszystkie- CVE-2026-106102Krytyczne
Quasar Framework przed wersją 2.22.0 zawiera podatność w serializerze getHead() używanym tylko w SSR, która nie koduje odpowiednio wartości dostarczanych przez useMeta(). Atakujący, który może wpływać na dynamiczne metadane strony, może wstrzyknąć wykonywalny kod HTML przed hydratacją. Ścieżka po stronie klienta nie jest dotknięta, ponieważ używa API DOM kodujących atrybuty.
- CVE-2026-106108Średnie
Quasar Framework to framework do budowania wydajnych interfejsów Vue.js. W wersjach od 3.1.0 do 3.3.0 definicje stron SSG zwracane przez getSsgPages() w @quasar/app-vite mogły podawać wartości dir i filename łączone z build.distDir bez weryfikacji końcowej lokalizacji. Przejście do katalogu nadrzędnego lub istniejący dowiązanie symboliczne poniżej katalogu dystrybucji mogły utworzyć nowe pliki HTML lub katalogi poza drzewem wyjściowym z uprawnieniami użytkownika budującego.
- CVE-2026-106107Wysokie
Quasar Framework przed wersją 3.3.0 w kilku ścieżkach renderowania SSR i SSG @quasar/app-vite interpoluje ssrContext.nonce bezpośrednio do atrybutów HTML w cudzysłowach. Aplikacja, która wyznacza lub nadpisuje tę wartość danymi kontrolowanymi przez atakującego, może pozwolić na zamknięcie atrybutu nonce cudzysłowem i wstrzyknięcie dodatkowych atrybutów lub znaczników do generowanego HTML. Nonce generowane kryptograficznie w base64 lub base64url nie są podatne, ponieważ nie zawierają delimiterów atrybutów HTML. Podatność została naprawiona w wersji 3.3.0.
- CVE-2026-106106Wysokie
Quasar Framework przed wersjami @quasar/render-ssr-error 2.2.4 i @quasar/app-vite 3.3.0: funkcja renderSSRError() w utils/render-ssr-error/src/index.js używała danych diagnostycznych z utils/render-ssr-error/src/env.js do serializacji process.env, nagłówków żądań i ciasteczek do strony HTTP zwracanej przez serve.devError(), podczas gdy serwer deweloperski domyślnie nasłuchiwał na wszystkich interfejsach. Każdy klient sieciowy, który osiągnie błąd renderowania SSR lub SSG przez tę ścieżkę błędów, może uzyskać sekrety środowiska powłoki. Renderer escapował tylko jedną dokładną małą literę zamykającego tagu script, więc warianty wielkości liter i prawidłowe warianty delimiterów mogły zakończyć element script i wstrzyknąć znaczniki. Podatność została naprawiona w @quasar/render-ssr-error 2.2.4 i @quasar/app-vite 3.3.0.
- CVE-2026-106105Wysokie
Quasar Framework przed wersjami @quasar/ssl-certificate 2.1.0, @quasar/cli 5.0.4 i @quasar/app-vite 3.3.0 przechowuje połączony klucz prywatny i certyfikat PEM w pamięci podręcznej bez ustawienia odpowiednich uprawnień dostępu (tylko właściciel). Inny lokalny użytkownik może skopiować klucz i podszyć się pod deweloperski punkt końcowy TLS w środowisku ufającym certyfikatowi. Wygenerowany certyfikat ma również niepotrzebnie szerokie zastosowania klucza i zawiera adres IPv6 loopback jako DNS SAN.
- CVE-2026-106104Wysokie
Quasar Framework przed wersją 2.23.3 przekazuje nieograniczony nagłówek User-Agent do funkcji getMatch() w Platform.parseSSR(), co w połączeniu z wyrażeniami regularnymi powoduje super-liniowe cofanie (backtracking) i blokowanie pętli zdarzeń Node.js. Złośliwy nieuwierzytelniony żądanie może opóźnić wszystkie inne żądania SSR. Problem dotyczy tylko trybu SSR; inne cele (SPA, PWA itp.) nie są podatne.
- CVE-2026-106103Wysokie
Quasar Framework przed wersją @quasar/icongenie 6.1.1 pozwala na manipulację ścieżką docelową w poleceniu icongenie generate --profile. Wartości folder i name z profilu nie są ograniczane do katalogu projektu, co umożliwia zapis lub nadpisanie plików poza katalogiem projektu (traversal). Deweloper uruchamiający złośliwy profil może zmodyfikować pliki startowe powłoki, skrypty budowania lub inną konfigurację wykonywalną.
- CVE-2026-106101Niskie
W Quasar Framework przed wersją 2.32.2 narzędzie openURL() ufało obiektowi window.SafariViewController, gdy istniał on w środowisku iOS. Złośliwy HTML renderowany przez komponenty takie jak QEditor może utworzyć element SafariViewController, powodując zastąpienie oczekiwanego obiektu mostu natywnego przez rozwiązywanie nazwanych właściwości przeglądarki. Późniejsze wywołanie openURL() wywołuje isAvailable() na tym elemencie, zgłasza TypeError i zakłóca nawigację zewnętrzną, przekierowania logowania, płatności i inne przepływy otwierania adresów URL.
- CVE-2026-73647Średnie
Quasar Framework przed wersją 2.22.0 zawiera podatność w publicznym narzędziu extend() w ui/src/utils/extend/extend.js, które rekurencyjnie kopiuje klucze obiektów kontrolowanych przez atakującego podczas głębokiego scalania extend(true, target, source) bez odrzucania własnej właściwości __proto__. Scalanie mogło zejść do obiektu prototypu i zapisać właściwości kontrolowane przez atakującego do Object.prototype w tym samym procesie JavaScript. Aplikacje, które przekazywały obiekty kontrolowane przez użytkownika lub częściowo kontrolowane do extend(), mogły doświadczyć obejścia logiki, niebezpiecznego wstrzyknięcia domyślnych opcji, odmowy usługi lub innych skutków specyficznych dla aplikacji, gdy zanieczyszczone właściwości były później używane. Problem został naprawiony w wersji 2.22.0.
Oryginalny opis (angielski, źródło NVD)
Quasar Framework is a framework for building high-performance Vue.js user interfaces. From 1.0.0 until 3.3.0, @quasar/app-vite recursively removed the resolved build.distDir before building without rejecting the project root, user home directory, filesystem roots, or symlink-resolved external directories. An unsafe trusted configuration can delete data writable by the build user before compilation begins. No attacker-controlled input reaches build.distDir by default, so exploitation requires compromised or less-trusted automation to influence build configuration, or a developer to run a mistaken configuration. This issue is fixed in version 3.3.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

