CVE-2026-40099
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Kirby przed wersjami 4.9.0 i 5.4.0 sprawdzał uprawnienia pages.create i pages.changeStatus niezależnie, przez co uprawnienie changeStatus nie działało przy tworzeniu stron. Uwierzytelniony atakujący z uprawnieniem pages.create mógł przez REST API nadpisać flagę isDraft i od razu utworzyć opublikowane strony, omijając workflow redakcyjny.
Ocena ryzyka
Osoby z ograniczonymi uprawnieniami mogą publikować treści bez zatwierdzenia, co narusza proces redakcyjny i kontrolę nad publikowanymi materiałami.
Rekomendacja
Zaktualizuj Kirby do wersji 4.9.0 lub 5.4.0 (lub nowszej), które wymuszają sprawdzenie uprawnienia pages.changeStatus przy tworzeniu stron.
Inne podatności w Kirby
Zobacz wszystkie- CVE-2026-54003Krytyczne
Podatność w systemie zarządzania treścią Kirby umożliwia zdalnemu atakującemu ominięcie kontroli lokalnego adresu IP i zainstalowanie Panelu oraz utworzenie pierwszego konta administratora. Problem występuje w wersjach przed 4.9.4 i 5.4.4, gdy serwer działa za odwrotnym proxy, które ustawia nagłówki Forwarded, X-Client-IP lub X-Real-IP.
- CVE-2026-108924Średnie
W getkirby Kirby do wersji 4.9.5/5.5.3 zidentyfikowano podatność w funkcji OptionsQuery::resolve w pliku src/Option/OptionsQuery.php komponentu Dynamic Option Generation. Manipulacja prowadzi do obejścia autoryzacji. Atak jest możliwy zdalnie. Aktualizacja do wersji 4.9.6 i 5.6.0 rozwiązuje ten problem.
- CVE-2026-75594Wysokie
Kirby to system zarządzania treścią. Przed wersjami 4.9.5 i 5.5.2, obsługa mediów w src/Cms/Media.php pozwalała metodzie Media::thumb() na dołączanie nazwy pliku zawierającej ścieżkę do zwalidowanego katalogu mediów. Na serwerach nginx, wbudowanym serwerze PHP lub Apache z włączonym AllowEncodedSlashes, zdalny atakujący mógł przesłać zakodowane znaki slash (np. %2f) w nazwie pliku i wyjść poza katalog mediów. Różnice w odpowiedziach dla istniejących i nieistniejących konfiguracji miniatur ujawniały istnienie dowolnego pliku .json, a plik .json z prawidłowym kluczem nazwy pliku mógł spowodować zwrócenie wskazanego obrazu i usunięcie pliku zadania. Powiązana ścieżka file::version w src/Filesystem/Asset.php również akceptowała sekwencje ../ poza zamierzonym katalogiem głównym. Problem naprawiono w wersjach 4.9.5 i 5.5.2.
- CVE-2026-75592Średnie
Kirby to system zarządzania treścią. Przed wersjami 4.9.5 i 5.5.2, obsługa mediów używała niekompletnych kontroli containment w systemie plików, co pozwalało na dostęp do plików w katalogach sąsiednich, jeśli ścieżka miała wspólny prefiks. Zdalny atakujący mógł tworzyć i uzyskiwać dostęp do miniatur z plików obrazów w sąsiednim katalogu, potencjalnie ujawniając staging, kopie zapasowe lub inne wewnętrzne strony.
- CVE-2026-71415Wysokie
Kirby to system zarządzania treścią. Od wersji 5.0.0 do 5.5.2, procedura obsługi przesyłania fragmentów w API REST w src/Api/Upload.php nie uruchamiała odpowiedniej autoryzacji przed zapisaniem danych fragmentu w Kirby\Api\Upload::processChunk(). Uwierzytelniony użytkownik z włączonym uprawnieniem access.panel, ale z wyłączonymi uprawnieniami files.create, files.replace i user/users.update, mógł wysyłać żądania z nagłówkiem Upload-Length i pozostawiać niedokończone fragmenty w site/cache/.uploads przez 24 godziny. Powtarzanie tego procesu mogło zużywać kontrolowaną przez atakującego pamięć tymczasową, uniemożliwiać innym użytkownikom przesyłanie plików lub uniemożliwiać logice witryny przechowywanie danych, chociaż końcowe kontrole uprawnień nadal uniemożliwiały nieautoryzowanym plikom dotarcie do katalogów content lub site/accounts. Problem naprawiono w wersji 5.5.2.
- CVE-2026-69127Średnie
Podatność w systemie zarządzania treścią Kirby przed wersją 4.9.5 oraz w wersjach od 5.0.0 do 5.5.1 powoduje, że procedura obsługi błędów REST API może zwracać nieprzefiltrowane komunikaty błędów PHP, ujawniając pełną ścieżkę systemu plików instalacji Kirby nieuwierzytelnionym użytkownikom API. Problem dotyczy wszystkich witryn, które nie wyłączyły REST API opcją 'api' => false. Problem został naprawiony w wersjach 4.9.5 i 5.5.2.
- CVE-2026-54005Wysokie
W systemie zarządzania treścią Kirby przed wersjami 4.9.4 i 5.4.4, użytkownicy z wyłączonym uprawnieniem pages.access mogli odczytywać pełną treść i metadane dowolnych opublikowanych stron poprzez endpoint /api/site/find, znając ich identyfikatory lub UUID. Podatność umożliwiała nieautoryzowany dostęp do stron, które powinny być chronione.
- CVE-2026-42137Średnie
W Kirby (system zarządzania treścią) w wersjach przed 4.9.0 i 5.4.0, uprawnienia `pages.access/list` i `files.access/list` nie są konsekwentnie sprawdzane w Panelu i REST API.
- CVE-2026-42069Średnie
Kirby przed wersjami 4.9.0 i 5.4.0 nie sprawdza uprawnień przy odczycie informacji o witrynie, użytkownikach i rolach, co pozwala nieautoryzowanym użytkownikom na dostęp do tych danych.
- CVE-2026-42051Średnie
Kirby to system zarządzania treścią open-source. Przed wersjami 4.9.0 i 5.4.0 punkt końcowy API systemu ujawniał dane licencji i zainstalowaną wersję uwierzytelnionym użytkownikom. Problem został naprawiony w wersjach 4.9.0 i 5.4.0.
Oryginalny opis (angielski, źródło NVD)
Kirby is an open-source content management system. Kirby's user permissions control which user role is allowed to perform specific actions to content models in the CMS. These permissions are defined for each role in the user blueprint (`site/blueprints/users/...`). It is also possible to customize the permissions for each target model in the model blueprints (such as in `site/blueprints/pages/...`) using the `options` feature. The permissions and options together control the authorization of user actions. For pages, Kirby provides the `pages.create` and `pages.changeStatus` permissions (among others). Prior to versions 4.9.0 and 5.4.0, Kirby checked these permissions independently and only for the respective action. However the `changeStatus` permission didn't take effect on page creation. New pages are created as drafts by default and need to be published by changing the page status of an existing page draft. This is ensured when the page is created via the Kirby Panel. However the REST API allows to override the `isDraft` flag when creating a new page. This allowed authenticated attackers with the `pages.create` permission to immediately create published pages, bypassing the normal editorial workflow. The problem has been patched in Kirby 4.9.0 and Kirby 5.4.0. Kirby has added a check to the page creation rules that ensures that users without the `pages.changeStatus` permission cannot create published pages, only page drafts.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

