Wekan w wersjach 8.32 i 8.33 zawiera krytyczną podatność typu Insecure Direct Object Reference (IDOR), która umożliwia uwierzytelnionemu użytkownikowi modyfikację pól własnych (custom fields) na dowolnych tablicach, do których nie ma uprawnień zapisu. Luka może prowadzić do nieautoryzowanej manipulacji danymi w całej instancji Wekan.
▸ Pokaż oryginał (EN)
Wekan is an open source kanban tool built with Meteor. Versions 8.32 and 8.33 have a critical Insecure Direct Object Reference (IDOR) issue which could allow unauthorized users to modify custom fields across boards through its custom fields update endpoints, potentially leading to unauthorized data manipulation. The PUT /api/boards/:boardId/custom-fields/:customFieldId endpoint in Wekan validates that the authenticated user has access to the specified boardId, but the subsequent database update uses only the custom field's _id as a filter without confirming the field actually belongs to that board. This means an attacker who owns any board can modify custom fields on any other board by supplying a foreign custom field ID, and the same flaw exists in the POST, PUT, and DELETE endpoints for dropdown items under custom fields. The required custom field IDs can be obtained by exporting a board (which only needs read access), since the exported JSON includes the IDs of all board components. The authorization check is performed against the wrong resource, allowing cross-board custom field manipulation. This issue has been fixed in version 8.34.
Endpoint PUT /api/boards/:boardId/custom-fields/:customFieldId weryfikuje, czy użytkownik ma dostęp do podanego boardId, jednak kolejna operacja aktualizacji w bazie danych filtruje rekordy wyłącznie po identyfikatorze pola własnego (_id), bez sprawdzenia, czy pole faktycznie należy do wskazanej tablicy. Atakujący posiadający własną tablicę może zatem wskazać identyfikator pola własnego z innej tablicy i zmodyfikować je bez uprawnień. Ta sama wada dotyczy endpointów POST, PUT i DELETE dla elementów list rozwijanych (dropdown items) powiązanych z polami własnymi. Identyfikatory pól własnych innych tablic można uzyskać poprzez eksport tablicy, do której atakujący ma jedynie dostęp do odczytu, ponieważ eksportowany plik JSON zawiera identyfikatory wszystkich komponentów tablicy.
Atakujący może nieautoryzowanie modyfikować lub usuwać pola własne oraz ich wartości na dowolnych tablicach w instancji Wekan, co prowadzi do manipulacji danymi projektowymi innych użytkowników i zespołów.
Należy zaktualizować Wekan do wersji 8.34, w której producent usunął opisaną podatność. Patch dostępny jest w repozytorium GitHub projektu (commit 73eb98c57afd3d72377a1f7160a52450ab0eeb8b) oraz w ramach wydania v8.34.
Wekan Project Wekan w wersjach 8.32 oraz 8.33
Podatność została zgłoszona i opublikowana przez GitHub Security Lab (identyfikator wewnętrzny GHSL-2026-044_Wekan). Weryfikacja tożsamości zasobu jest wykonywana względem niewłaściwego obiektu (tablica zamiast pola własnego), co jest klasycznym przykładem błędu autoryzacji CWE-639.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XWekan Project Wekan
APPWekan Project8.328.33
Powiązane podatności
SSRF w Wekan — nieautoryzowany dostęp do wewnętrznych zasobów sieciowych
Wekan: ujawnienie wrażliwych danych użytkowników przez publikację notificationUsers
Wekan is an open source kanban tool built with Meteor. In versions 8.31.0 through 8.33, the globalwebhooks pub...
WeKan versions prior to 8.19 contain an insecure direct object reference (IDOR) in checklist creation and rela...
WeKan versions prior to 8.19 contain an authorization weakness in the attachment upload API. The API does not ...