CVE-2026-53447
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
Wekan do wersji 9.34 zawiera podatność w metodzie cloneBoard, która pozwala uwierzytelnionemu użytkownikowi na sklonowanie dowolnej tablicy (znając jej ID) bez sprawdzania uprawnień. Umożliwia to odczyt kart, komentarzy, załączników, informacji o członkach i aktywności z tablic prywatnych.
Ocena ryzyka
Organizacja narażona jest na wyciek poufnych danych przechowywanych w tablicach Wekan, w tym informacji o projektach, komunikacji zespołowej i załącznikach, co może prowadzić do naruszenia poufności i utraty zaufania.
Rekomendacja
Należy niezwłocznie zaktualizować Wekan do wersji 9.35 lub nowszej, która zawiera poprawkę wymuszającą sprawdzanie uprawnień przed klonowaniem tablicy.
Inne podatności w Wekan
Zobacz wszystkie- CVE-2026-55652Krytyczne
Wekan przed wersją 9.46 zawiera podatność w mechanizmie logowania przez nagłówek (header-login), gdzie funkcja getRequestIp() ufa nagłówkowi X-Forwarded-For dostarczonemu przez klienta przed rzeczywistym adresem gniazda. Pozwala to nieuwierzytelnionemu atakującemu na podszycie się pod dowolnego użytkownika, w tym administratora, poprzez wysłanie nagłówka HEADER_LOGIN_ID i uzyskanie sesji meteor_login_token.
- CVE-2026-52893Krytyczne
W Wekan przed wersją 9.32, w hooku Accounts.onCreateUser w server/models/users.js, logowanie przez OIDC jest scalane z istniejącymi kontami, gdy adres e-mail lub nazwa użytkownika OIDC pasuje do istniejącego użytkownika Wekan, bez weryfikacji własności lub sprawdzenia email_verified. Atakujący używający konta OIDC z adresem e-mail lub nazwą użytkownika ofiary może scalić swoje dane uwierzytelniające OIDC z kontem ofiary, a następnie zalogować się jako to konto.
- CVE-2026-52891Krytyczne
Wekan przed wersją 9.07 zawiera podatność na wstrzykiwanie poleceń w funkcji przesyłania awatarów. Nazwy plików dostarczone przez użytkownika są przekazywane do funkcji child_process.exec() bez odpowiedniego oczyszczenia, co umożliwia wykonanie dowolnych poleceń na serwerze poprzez znaki specjalne, takie jak backticki czy $().
- CVE-2026-25560Krytyczne
WeKan przed wersją 8.19 zawiera podatność na wstrzykiwanie filtrów LDAP w mechanizmie uwierzytelniania LDAP. Wprowadzona przez użytkownika nazwa użytkownika jest używana w filtrach wyszukiwania LDAP i wartościach DN bez odpowiedniego escapowania, co umożliwia atakującemu manipulowanie zapytaniami LDAP podczas uwierzytelniania.
- CVE-2026-68901Średnie
Wekan (wersje przed 10.38) zawiera podatność w kilku endpointach eksportu, gdzie token authToken jest pobierany z parametru zapytania i używany bez sprawdzenia, czy użytkownik istnieje. Żądanie do prywatnej tablicy z nieznanym tokenem powoduje TypeError i nieobsłużone odrzucenie, co może doprowadzić do zakończenia procesu Wekan i odmowy usługi dla wszystkich użytkowników. Wersja 10.38 dodaje zabezpieczenia 401 i opakowuje handlery funkcją safeRoute().
- CVE-2026-68900Wysokie
Wekan to open source'owa tablica kanban zbudowana w Meteor. Od wersji 8.72 do 10.23 funkcja addBoardHTMLToZip() w client/lib/exportHTML.js odczytywała tytuł i treść karty przez textContent, co dekodowało encje HTML, a następnie interpolowało titleText i allText do content.innerHTML w wyeksportowanym index.html. Członek tablicy mógł przechowywać zakodowany encją payload obsługi zdarzeń w tytule karty, który pozostawał nieaktywny na żywej tablicy, ale był ponownie parsowany i wykonywany, gdy odbiorca kliknął kartę w pobranym eksporcie HTML, umożliwiając skryptowi odczytanie i przesłanie wszystkich danych tablicy zawartych w tym eksporcie, w tym treści dodane po usunięciu członkostwa atakującego. Wersja 10.23 buduje modal z węzłami DOM i przypisuje niezaufane wartości przez textContent. Problem został naprawiony w wersji 10.23.
- CVE-2026-68899Wysokie
Wekan to open source'owa tablica kanban zbudowana w Meteor. Przed wersją 9.90 funkcja isFileValid() w models/fileValidation.js używała polecenia Unix 'file' do wykrywania MIME na podstawie zawartości, ale detectMimeFromFile() po cichu zwracała undefined, gdy ten binarny plik był niedostępny, a walidacja wracała do kontrolowanego przez atakującego fileObj.type dostarczanego przez server/routes/attachmentApi.js. Na wdrożeniach z WITH_API=true i bez pliku binarnego 'file', uwierzytelniony członek tablicy mógł oznaczyć HTML zawierający JavaScript jako image/png, ominąć niebezpieczne sprawdzenie MIME i przechowywać aktywną treść pod originem Wekan do wykonania, gdy inny użytkownik ją otworzył. Wersja 9.90 dodaje looksLikeDangerousMarkup() do inspekcji bajtów pliku i wymusza skanowanie niebezpiecznej zawartości, gdy wykrywanie MIME jest niedostępne. Problem został naprawiony w wersji 9.90.
- CVE-2026-68561Wysokie
Wekan to open source'owa tablica kanban zbudowana w Meteor. Przed wersją 9.89 druga reguła Boards.allow({ update }) w server/permissions/boards.js wywoływała canUpdateBoardSort w server/lib/utils.js, która autoryzowała każdego członka tablicy, gdy fieldNames zawierało 'sort'. Ponieważ Meteor łączy reguły allow z semantyką OR i stosuje kompletny modyfikator, członek z uprawnieniami tylko do komentarzy lub tylko do odczytu mógł wysłać jedno Boards.update z wartościami $set dla sort, members, permission i title, uczynić siebie jedynym administratorem tablicy, ujawnić prywatną tablicę i usunąć prawowitego właściciela; reguła deny dotycząca ostatniego administratora sprawdzała tylko $pull i nie blokowała całkowitego $set członków. Wersja 9.89 wymaga, aby 'sort' był jedynym modyfikowanym polem i odrzuca tablice $set członków, które usuwają ostatniego aktywnego administratora. Problem został naprawiony w wersji 9.89.
- CVE-2026-68560Wysokie
Wekan to open source'owa tablica kanban zbudowana w Meteor. Przed wersją 9.75, models/fileValidation.js interpolował przesłany fileObj.path do skonfigurowanego przez administratora externalCommandLine w miejscu {file} i wykonywał wynik przez asyncExec, który jest promisify(exec) i wywołuje `/bin/sh -c`. Na wdrożeniach ze skonfigurowanym zewnętrznym skanerem, uwierzytelniony użytkownik mogący przesłać załącznik mógł umieścić metaznaki powłoki, takie jak podstawienia poleceń, w nazwie pliku i wykonać polecenia jako proces serwera Wekan. Wersja 9.75 dodaje shellQuote() i przekazuje ścieżkę pliku jako argument w pojedynczych cudzysłowach POSIX, aby metaznaki powłoki nie mogły uciec z miejsca {file}. Problem został naprawiony w wersji 9.75.
- CVE-2026-68559Średnie
Wekan (wersje od 9.57 do 9.74) zawiera podatność w trasie /api/boards/:boardId/exportExcel, gdzie funkcja autoryzacyjna exporterExcel.canExport(user) nie jest oczekiwana (brak await). Zwracana Promise jest zawsze prawdziwa, więc exporterExcel.build(res) wykonuje się nawet gdy board.isVisibleBy(user) odmawia dostępu. Pozwala to każdemu uwierzytelnionemu nie-członkowi na pobranie tytułów kart, opisów, list, swimlanes, członków i metadanych prywatnych tablic. Poprawka w wersji 9.74.
Oryginalny opis (angielski, źródło NVD)
Wekan is open source kanban built with Meteor. Prior to 9.35, the Wekan cloneBoard Meteor method in models/import.js uses caller-supplied sourceBoardId to build a board export through models/exporter.js without invoking canExport() or checking source-board membership. Any authenticated user who knows a private board ID can clone the board into their own account and read its cards, comments, attachments, member information, and activities. This issue is fixed in version 9.35.

