Podatności Penpot
19 znanych podatności CVE w Penpot, przetłumaczonych i ocenionych.
- CVE-2026-105691Krytyczne
Penpot przed wersją 2.18.0 w eksporcie SVG umieszcza wartość koloru wypełnienia kontrolowanego przez atakującego obiektu tekstowego w ciągu polecenia ppmcolormask i wykonuje go przez child_process.exec. Użytkownik, który może edytować plik, może przechowywać metaznaki powłoki w kolorze wypełnienia i wywołać eksport SVG, powodując wykonanie poleceń z uprawnieniami usługi eksportera. Ten sam eksport może być wywołany przez ważny publiczny link do złośliwego pliku.
- CVE-2026-44986Krytyczne
Podatność w Penpot przed wersją 2.14.5 umożliwiała przejęcie konta poprzez wykorzystanie tokenów zaproszeń, osadzenie identyfikatora profilu oraz brak weryfikacji hasła przy rejestracji sesji na podstawie dopasowania adresu e-mail.
- CVE-2026-105696Średnie
Penpot to platforma do projektowania i prototypowania o otwartym kodzie źródłowym. Przed wersją 2.18.0, RPC get-page akceptuje obiekt uprawnień linku udostępniającego z pełnym dostępem do odczytu, ale nie weryfikuje, czy wybrane przez wywołującego page-id należy do zestawu autoryzowanych stron linku. Atakujący z ważnym linkiem udostępniającym i własną uwierzytelnioną sesją Penpot może pobrać pełne dane kształtów i projektu innej strony w tym samym pliku, jeśli zna jej identyfikator, ponieważ get-page wymaga uwierzytelnienia. Powiązany RPC get-file-fragment również pozwala na dostęp przez link udostępniający bez mapowania fragmentów do autoryzowanych stron. Problem naprawiono w wersji 2.18.0.
- CVE-2026-105695Średnie
Penpot to platforma do projektowania i prototypowania o otwartym kodzie źródłowym. Przed wersją 2.18.0, assemble-chunks pobiera sesję przesyłania tylko na podstawie jej identyfikatora sesji, podczas gdy upload-chunk poprawnie ogranicza wyszukiwanie do uwierzytelnionego profilu. Uwierzytelniony użytkownik, który zdobędzie identyfikator UUID aktywnej, zakończonej sesji przesyłania innego użytkownika, może złożyć fragmenty ofiary do własnego pliku, czcionki zespołu lub importu projektu, ujawniając przesłane bajty i usuwając oczekującą sesję ofiary. Problem naprawiono w wersji 2.18.0.
- CVE-2026-105694Średnie
Penpot to platforma do projektowania i prototypowania o otwartym kodzie źródłowym. Przed wersją 2.18.0, uwierzytelnieni użytkownicy z uprawnieniami do edycji plików mogą przesyłać media SVG, których skrypty, atrybuty obsługi zdarzeń i elementy foreignObject są przechowywane bez sanityzacji i serwowane jako image/svg+xml z pochodzenia Penpot. Ofiara, która przejdzie na adres URL zasobu, wykonuje kontrolowany przez atakującego JavaScript w tym pochodzeniu, co pozwala na żądania i dostęp do danych z uprawnieniami sesji ofiary w Penpot. Problem naprawiono w wersji 2.18.0.
- CVE-2026-105693Średnie
Penpot to platforma do projektowania i prototypowania o otwartym kodzie źródłowym. Przed wersją 2.18.0, nieuwierzytelniony RPC get-view-only-bundle zwraca wszystkie wiersze linków udostępniających dla pliku, nawet gdy wywołujący uwierzytelnił się tylko jednym linkiem o ograniczonym zakresie. Posiadacz restrykcyjnego linku może uzyskać sekretne identyfikatory innych linków, zakresy stron, uprawnienia do komentarzy i uprawnienia do inspekcji, a następnie odtworzyć bardziej permisywny token, aby uzyskać dostęp do danych stron, które nie były uwzględnione w oryginalnym udostępnieniu. Problem naprawiono w wersji 2.18.0.
- CVE-2026-105692Średnie
W Penpot przed wersją 2.18.0 procedura delete-share-link weryfikuje jedynie uprawnienia edycji pliku nadrzędnego, nie sprawdzając, czy wywołujący utworzył dany link ani czy ma uprawnienia właściciela lub administratora. Każdy edytor pliku znający UUID linku udostępniania może usunąć linki utworzone przez innych użytkowników i odebrać dostęp zewnętrznym recenzentom.
- CVE-2026-105690Średnie
W Penpot przed wersją 2.18.0 wylogowanie usuwa jedynie cookie z tokenem uwierzytelniającym w przeglądarce, nie unieważniając odpowiadającej sesji po stronie serwera. Wcześniej przechwycony token sesji pozostaje ważny po wylogowaniu ofiary i pozwala na dalsze uwierzytelnione żądania z jej uprawnieniami aż do naturalnego wygaśnięcia.
- CVE-2026-105689Średnie
W Penpot przed wersją 2.18.0 funkcja app.util.ssrf/blocked-address? opiera się na predykatach Java InetAddress, które nie klasyfikują adresów NAT64, 6to4 ani Teredo, a dodatkowe sprawdzenia CIDR stosuje tylko do adresów IPv4. Użytkownik kontrolujący URL importu mediów lub administrator kontrolujący URL webhooka może podać adres przejściowy IPv6 osadzający docelowy adres IPv4 (metadane chmury, loopback, link-local, prywatny) i obejść ograniczenia SSRF.
- CVE-2026-105688Średnie
W Penpot przed wersją 2.18.0 procedury create-team-invitations oraz ścieżka akceptacji zaproszenia pozwalają administratorowi zespołu niebędącemu właścicielem przypisać rolę właściciela, ponieważ role zaproszeń są zapisywane i stosowane bez sprawdzenia limitu roli używanego w update-team-member-role. Administrator może zaprosić inne konto jako właściciela, utworzyć wielu właścicieli i przejąć kontrolę zarezerwowaną dla właściciela.
- CVE-2026-105687Średnie
W Penpot przed wersją 2.18.0 procedura delete-team-member pozwala administratorowi zespołu usunąć dowolnego członka poza sobą, ale nie chroni właściciela zespołu. Administrator niebędący właścicielem może usunąć członkostwo team-profile-rel właściciela i zablokować mu dostęp do zespołu oraz jego projektów, plików, czcionek i mediów.
- CVE-2026-105686Średnie
W Penpot przed wersją 2.18.0 procedura chunked media upload sprawdza, czy indeks fragmentu mieści się w zakresie, ale nie odrzuca już zapisanego indeksu ani nie zastępuje poprzedniego obiektu. Uwierzytelniony użytkownik może wielokrotnie przesyłać ten sam prawidłowy indeks, powodując alokację kolejnych obiektów tymczasowych i zwiększenie zajętości pamięci ponad zadeklarowany rozmiar sesji.
- CVE-2026-105684Średnie
W Penpot przed wersją 2.18.0 polecenia RPC get-comment-threads, get-comment-thread i get-comments używają check-comment-permissions!, ale nie stosują ograniczenia stron linku udostępniania. Posiadacz linku udostępniania ograniczonego do strony może pobrać wątki komentarzy i pełne treści komentarzy z innych stron tego samego pliku, w tym nazwiska, adresy e-mail, zdjęcia i identyfikatory stron.
- CVE-2026-100868Średnie
Penpot przed 2.18.0 wiąże mostek WebSocket wtyczki serwera MCP ze wszystkimi interfejsami sieciowymi bez uwierzytelniania w trybie jednoużytkownikowym. Nieuwierzytelnieni atakujący w sieciach sąsiednich mogą połączyć się z portem WebSocket, podszyć się pod wtyczkę przeglądarki Penpot, przechwycić ładunki zadań i zwrócić sfałszowane wyniki do klienta MCP.
- CVE-2026-47666Wysokie
Penpot w wersjach do 2.14.3 jest podatny na trwały cross-site scripting (XSS) przez niestandardowe nazwy rodzin czcionek, które są interpolowane do reguły CSS @font-face i wstrzykiwane do strony jako HTML bez sanityzacji. Atak jest pasywny: każdy członek zespołu, który otworzy plik odwołujący się do złośliwej czcionki, uruchomi skrypt, co może prowadzić do kradzieży ciasteczek sesji i dostępu do plików.
- CVE-2026-47665Wysokie
Penpot w wersjach do 2.14.3 jest podatny na trwały cross-site scripting (XSS) przez komentarze do plików, których treść jest przechowywana jako surowy tekst i renderowana na stronie za pomocą innerHTML bez sanityzacji. Atak jest pasywny: każdy użytkownik, który otworzy panel komentarzy na zaatakowanym pliku, uruchomi skrypt, co może prowadzić do kradzieży ciasteczek sesji i dostępu do plików.
- CVE-2026-17613Wysokie
Polecenie RPC ::import-binfile w Penpot nie ma autoryzacji na opcjonalnym parametrze file-id, co pozwala każdemu uwierzytelnionemu użytkownikowi nadpisywać dowolne pliki na serwerze docelowym i subskrybować zdarzenia WebSocket, umożliwiając pełną eksfiltrację danych i zatruwanie danych.
- CVE-2026-45806Wysokie
Podatność w Penpot przed wersją 2.15.0 umożliwiała uwierzytelnionemu edytorowi plików na dostęp do wewnętrznych punktów końcowych poprzez import zdalnego obrazu. Problem wynikał z braku filtrowania docelowego adresu URL w kliencie HTTP używanym do pobierania obrazów.
- CVE-2026-45805Wysokie
Penpot przed wersją 2.15.0 zawiera podatność w serwerze ReplServer, który nasłuchiwał na 0.0.0.0:4403 i udostępniał nieuwierzytelniony endpoint /execute. Pozwalało to dowolnej osobie w sieci na zdalne wykonanie kodu JavaScript na serwerze.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

