CVE-2026-77353
ŚrednieCVSS 4.6Streszczenie
Wallos przed wersją 5.0.0 pozwala uwierzytelnionym użytkownikom na wstrzykiwanie dowolnych właściwości i zdarzeń iCalendar do eksportowanego pliku .ics poprzez osadzenie surowych sekwencji CRLF w nazwach lub notatkach subskrypcji. Atakujący może przełamać bieżący blok VEVENT i wstawić kontrolowane zdarzenia kalendarza, w tym sfałszowanych organizatorów i adresy e-mail, do dowolnej aplikacji kalendarza subskrybującej ten kanał.
Ocena ryzyka
Użytkownicy subskrybujący złośliwy kanał mogą otrzymywać fałszywe zdarzenia kalendarza, co może prowadzić do phishingu lub dezinformacji.
Rekomendacja
Zaktualizuj Wallos do wersji 5.0.0, która zawiera poprawkę eliminującą możliwość wstrzykiwania CRLF.
Inne podatności w Wallos
Zobacz wszystkie- CVE-2026-77352Średnie
Wallos od wersji 2.0.0 do przed 5.0.0 pozwala każdemu uwierzytelnionemu użytkownikowi (bez uprawnień administratora) na zmuszenie serwera do nawiązywania dowolnych połączeń SMTP do adresów wewnętrznych lub link-local, poprzez ustawienie hosta SMTP w ustawieniach powiadomień e-mail na wewnętrzny adres IP. Brak walidacji SSRF w punkcie końcowym zapisu ustawień oraz w cronie powiadomień prowadzi do połączeń z wybranym hostem i portem.
- CVE-2026-77351Niskie
Wallos przed wersją 5.0.0 pozwala każdemu uwierzytelnionemu użytkownikowi na zapisanie dowolnego hosta SMTP (w tym prywatnych adresów IP i adresów metadanych chmury) w ustawieniach powiadomień e-mail, bez walidacji SSRF po stronie serwera. Gdy zadanie cron uruchamia powiadomienia, przekazuje zapisany host bezpośrednio do PHPMailer, co powoduje, że serwer Wallos otwiera połączenie TCP do wskazanego adresu. Umożliwia to atakującemu z niskimi uprawnieniami skanowanie wewnętrznych usług sieciowych z perspektywy serwera. Problem naprawiono w wersji 5.0.0.
- CVE-2026-77348Wysokie
Wallos przed wersją 5.0.0 zawiera drugi, prawie identyczny, nieuwierzytelniony endpoint wyszukiwania logo (endpoints/payments/search.php), który nie został zabezpieczony przed SSRF. Przekazuje on zmienną środowiskową HTTP_PROXY/HTTPS_PROXY bezpośrednio do CURLOPT_PROXY.
- CVE-2026-61641Wysokie
Wallos to otwartoźródłowy, samodzielnie hostowany tracker subskrypcji. Od wersji 4.0.0 do przed 4.9.6, logowanie OIDC w Wallos łączy przychodzącą tożsamość OIDC z istniejącym lokalnym kontem, dopasowując wyłącznie adres e-mail, bez weryfikacji, czy IdP oznaczył ten e-mail jako zweryfikowany (email_verified). Gdy Wallos jest skonfigurowany z IdP, który pozwala użytkownikowi przedstawić dowolny lub niezweryfikowany e-mail (IdP wielodostępne, IdP z otwartą samorejestracją lub dowolny IdP częściowo kontrolowany przez atakującego), atakujący bez konta Wallos może uwierzytelnić się przy użyciu e-maila administratora i zalogować się jako administrator — pełne przejęcie konta bez hasła. Problem naprawiono w wersji 4.9.6.
- CVE-2026-61640Wysokie
Wallos to otwartoźródłowy, samodzielnie hostowany tracker subskrypcji. Przed wersją 4.9.6, skonfigurowane przez administratora adresy URL token_url i user_info_url OIDC w includes/oidc/handle_oidc_callback.php:18-49 są używane bezpośrednio w curl_init() bez żadnego filtrowania SSRF. W przeciwieństwie do adresów URL logo/webhook, które mają validate_webhook_url_for_ssrf(), adresy URL OIDC omijają wszystkie zabezpieczenia. Administrator może ustawić URL na http://169.254.169.254/latest/meta-data/ w celu uzyskania dostępu do metadanych chmury lub wewnętrznego przeskoku sieciowego. Problem naprawiono w wersji 4.9.6.
- CVE-2026-61639Wysokie
Wallos przed wersją 4.9.6 zawiera podatność na zapis plików poza katalogiem docelowym (path traversal) w punkcie końcowym POST /endpoints/db/restore.php. Funkcja ZipArchive::extractTo() nie sprawdza nazw wpisów pod kątem sekwencji '../', co pozwala administratorowi na przesłanie spreparowanego archiwum ZIP z plikiem logos/../../endpoints/shell.php, co skutkuje zapisaniem webshella w katalogu głównym serwera. Filtr rozszerzeń dotyczy tylko kopiowania logo po ekstrakcji, więc nie chroni przed tym atakiem.
- CVE-2026-61638Wysokie
Wallos przed wersją 4.9.6 zawiera podatność na SSRF (Server-Side Request Forgery) w punkcie końcowym POST /endpoints/notifications/testemailnotifications.php. Parametry smtpaddress i smtpport są pobierane z ciała żądania bez żadnej walidacji SSRF, a PHPMailer łączy się z hostem i portem podanym przez atakującego. Inne punkty końcowe powiadomień używają ssrf_helper.php, ale ten został pominięty. Każdy uwierzytelniony użytkownik może skanować sieć wewnętrzną i uzyskać dostęp do metadanych chmury.
- CVE-2026-54600Wysokie
Wallos przed wersją 4.9.4 zawiera podatność polegającą na braku uwierzytelnienia w punkcie końcowym endpoints/db/import.php. Jedyną ochroną jest liczba wierszy w tabeli użytkowników – jeśli wynosi zero (świeża lub niekonfigurowana instalacja), nieuwierzytelniony atakujący może zastąpić całą bazę danych.
- CVE-2026-54599Wysokie
Wallos przed wersją 4.9.4 zawiera podatność w mechanizmie OIDC (OpenID Connect). login.php generuje nonce stanu OIDC przechowywany w $_SESSION['oidc_state'], ale checksession.php obsługuje callback OIDC bez porównania przychodzącego stanu z wartością sesji. Atakujący może nakłonić ofiarę do odwiedzenia spreparowanego URL, co powoduje, że Wallos wymienia kod autoryzacyjny atakującego i loguje ofiarę na konto atakującego.
- CVE-2026-54598Wysokie
Wallos przed wersją 4.9.4 zawiera podatność polegającą na braku uwierzytelnienia w punkcie końcowym endpoints/db/migrate.php. Ten punkt wykonuje migracje schematu bazy danych po wywołaniu przez HTTP. Każdy nieuwierzytelniony atakujący może wywołać oczekujące pliki migracji na żywej bazie danych SQLite.
Oryginalny opis (angielski, źródło NVD)
Wallos is an open-source, self-hostable personal subscription tracker. Prior to version 5.0.0, Wallos allows authenticated users to inject arbitrary iCalendar properties and events into their exported .ics feed by embedding raw CRLF sequences in subscription names or notes. Because the input validation layer only encodes HTML metacharacters but never strips newlines, and the export layer decodes those entities back before writing iCal output, an attacker with any valid account can craft a subscription whose name breaks out of the current VEVENT block and inserts fully attacker-controlled calendar events — including spoofed organizers, arbitrary email addresses in ATTENDEE properties, and misleading event content — into any calendar application subscribed to that feed. This issue has been patched in version 5.0.0.

