CVE-2026-42281
WysokieStreszczenie
MagicMirror² to otwartoźródłowa platforma inteligentnych luster. W wersjach przed 2.36.0 występuje podatność typu Server-Side Request Forgery (SSRF) w punkcie końcowym /cors, która pozwala zdalnym atakującym na wymuszanie arbitralnych żądań HTTP do wewnętrznych sieci oraz usług lokalnych.
Ocena ryzyka
Podatność ta może prowadzić do ujawnienia poufnych danych oraz umożliwić atakującym dostęp do wewnętrznych zasobów sieciowych organizacji.
Rekomendacja
Zaleca się aktualizację do wersji 2.36.0 lub nowszej, aby usunąć tę podatność oraz zabezpieczyć serwer przed nieautoryzowanym dostępem.
Inne podatności w MagicMirror²
Zobacz wszystkie- CVE-2026-63643Średnie
MagicMirror², otwartoźródłowa platforma inteligentnego lustra, przed wersją 2.37.0 zawiera podatność w handlerze ADD_CALENDAR w defaultmodules/calendar/node_helper.js, który akceptuje kontrolowany przez atakującego URL, dane uwierzytelniające i ustawienie selfSignedCert przez nieuwierzytelnioną przestrzeń nazw Socket.IO /calendar. Handler przekazuje te pola do CalendarFetcher, powodując żądanie po stronie serwera bez walidacji SSRF i opcjonalnie wyłączając weryfikację TLS. Gdy odpowiedź jest prawidłowym iCal, CALENDAR_EVENTS zwraca dane zdarzeń atakującemu, umożliwiając eksfiltrację danych z wewnętrznych usług; inne odpowiedzi nadal zapewniają ślepe żądanie i prymityw czasowy. Problem naprawiono w wersji 2.37.0.
- CVE-2026-63642Średnie
MagicMirror², otwartoźródłowa platforma inteligentnego lustra, przed wersją 2.37.0 zawiera podatność w funkcji checkArticleUrl w defaultmodules/newsfeed/node_helper.js, która akceptuje powiadomienie CHECK_ARTICLE_URL przez nieuwierzytelnioną przestrzeń nazw Socket.IO /newsfeed i wykonuje fetch(url, { method: "HEAD" }) bez walidacji kontrolowanego przez atakującego URL. Helper zwraca ARTICLE_URL_STATUS zawierający URL i wynik ramowania, zapewniając wyrocznię odpowiedzi i czasu, która może identyfikować wewnętrzne hosty i porty oraz wywoływać efekty uboczne w usługach reagujących na żądania HEAD. Problem naprawiono w wersji 2.37.0.
- CVE-2026-63641Niskie
MagicMirror² przed wersją 2.37.0 stosuje listę dozwolonych adresów IP (ipWhitelist) tylko w oprogramowaniu pośredniczącym Express, podczas gdy serwer Socket.IO jest podłączony bezpośrednio do serwera HTTP bez równoważnych kontroli. Nieuwierzytelniony klient z sąsiedniej sieci może połączyć się z modułami Socket.IO i wysyłać zdarzenia oraz dane do socketNotificationReceived. Domyślne moduły pomocnicze mogą wykonywać żądania do wybranych przez atakującego adresów URL, a w określonych warunkach możliwe jest wykonanie poleceń systemowych.
- CVE-2026-63640Średnie
MagicMirror², otwartoźródłowa platforma inteligentnego lustra, przed wersją 2.37.0 zawiera podatność, gdy włączona jest opcja hideConfigSecrets. Uniwersalny dyspozytor socketów w js/node_helper.js przekazuje każdy przychodzący obiekt przez replaceSecretPlaceholder w js/server_functions.js przed wywołaniem socketNotificationReceived. Klient podłączony do przestrzeni nazw załadowanego modułu może przesłać placeholder SECRET_API_KEY, powodując zastąpienie go odpowiednią wartością zmiennej środowiskowej procesu. Domyślny helper pogodowy akceptuje INIT_WEATHER, kopiuje kontrolowany przez atakującego instanceId i zwraca go w WEATHER_ERROR, zapewniając ścieżkę echa dla rozwiniętego sekretu. To odwraca zamierzoną granicę redakcji jednokierunkowej i może ujawnić tokeny API, poświadczenia lub klucze usług przechowywane w zmiennych SECRET_. Problem naprawiono w wersji 2.37.0.
Oryginalny opis (angielski, źródło NVD)
MagicMirror² is an open source modular smart mirror platform. Prior to 2.36.0, an unauthenticated Server-Side Request Forgery (SSRF) vulnerability in the /cors endpoint allows any remote attacker to force the MagicMirror² server to perform arbitrary HTTP requests to internal networks, cloud metadata services, and localhost services. The endpoint also expands environment variable placeholders (**VAR_NAME**), enabling exfiltration of server-side secrets. This vulnerability is fixed in 2.36.0.

