CVE-2026-54136
ŚrednieCVSS 5.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% wszystkich znanych CVE
Streszczenie
Windmill to open-source'owa platforma deweloperska dla wewnętrznego kodu: API, zadań w tle, przepływów pracy i interfejsów użytkownika. Przed wersją 1.715.0 token API z ograniczeniem do zasobu mógł odczytać zawartość skryptów poza dozwolonym zakresem ścieżki przez GET /api/w/{workspace}/scripts/list_search. Oprogramowanie pośredniczące na poziomie trasy walidowało domenę tokena i akcję, ale nie egzekwowało segmentu zasobu/ścieżki, a procedura obsługi list_search_scripts nie miała dodatkowego wywołania check_scopes ani filtrowania wierszy przed zwróceniem pól ścieżki i zawartości skryptu. Token taki jak scripts:read:f/allowed/* mógł zatem otrzymać kod źródłowy dla niepowiązanych ścieżek w tym samym obszarze roboczym, potencjalnie ujawniając wewnętrzną logikę automatyzacji, szczegóły integracji, logikę biznesową, konfigurację wbudowaną lub zakodowane na stałe sekrety i poświadczenia. Wykorzystanie wymagało posiadania ważnego tokena API z ograniczeniem dla obszaru roboczego, ale nie wymagało uprawnień administratora. Problem został naprawiony w wersji 1.715.0.
Ocena ryzyka
Ryzyko obejmuje ujawnienie wrażliwego kodu źródłowego, w tym sekretów i poświadczeń, osobom nieupoważnionym. Atak wymaga posiadania ważnego tokena API z ograniczeniem, co może być możliwe dla zwykłych użytkowników.
Rekomendacja
Zaleca się natychmiastową aktualizację do wersji 1.715.0 lub nowszej. Należy również przejrzeć istniejące tokeny API i ograniczyć ich zakresy, a także monitorować logi dostępu do list_search.
Inne podatności w Windmill
Zobacz wszystkie- CVE-2026-72542Średnie
Podatność na brak autoryzacji w Windmill Labs Windmill do wersji 1.783.0 pozwala uwierzytelnionym operatorom na zapisywanie postępu zadań i odczytywanie metryk zadań dla dowolnego zadania w przestrzeni roboczej, niezależnie od własności. Handlery job_metrics nie akceptują ekstraktora autoryzacji, omijając kontrolę dostępu na poziomie przestrzeni roboczej. Operator może monitorować wrażliwe dane wykonania zadań i wstrzykiwać mylący postęp dla zadań, których nie posiada.
- CVE-2026-72541Średnie
Podatność na brak autoryzacji w Windmill Labs Windmill do wersji 1.783.0 pozwala każdemu uwierzytelnionemu członkowi przestrzeni roboczej na nadpisanie dowolnego schematu typu zasobu przez endpoint update_resource_type. Endpoint pomija sprawdzenie uprawnień administratora, które jest egzekwowane w odpowiadającym endpointcie delete_resource_type. Atakujący z uprawnieniami członka może uszkodzić definicje typów zasobów, co może zepsuć przepływy pracy zależne od nich.
- CVE-2026-72539Średnie
Podatność na ujawnienie informacji w Windmill Labs Windmill do wersji 1.783.0 pozwala każdemu uwierzytelnionemu członkowi przestrzeni roboczej na odczytanie starych skryptów roboczych bez właściciela, które zawierają poświadczenia zasobów w postaci zwykłego tekstu. Skrypty z pustym adresem e-mail właściciela omijają kontrolę dostępu i są zwracane każdemu członkowi, który zapyta o endpoint skryptów. Wrażliwe poświadczenia przechowywane w tych skryptach są ujawniane ponad granicami kontroli dostępu.
- CVE-2026-23696Krytyczne
Podatność SQL injection w Windmill CE i EE w wersjach od 1.276.0 do 1.603.2 występuje w funkcji zarządzania własnością folderów. Umożliwia uwierzytelnionemu atakującemu wstrzyknięcie kodu SQL przez parametr owner.
- CVE-2026-47107Wysokie
Windmill przed wersją 1.703.2 ma nieprawidłowe domyślne uprawnienia w plikach konfiguracyjnych sandboksów nsjail, gdzie katalog /etc jest montowany bez ograniczeń odczytu i zapisu. Umożliwia to uwierzytelnionym użytkownikom zapisywanie dowolnych wpisów do plików /etc/hosts, /etc/resolv.conf oraz /etc/ssl/certs/ca-certificates.crt z wnętrza sandboksów wykonawczych skryptów.
Oryginalny opis (angielski, źródło NVD)
Windmill is an open-source developer platform for internal code: APIs, background jobs, workflows and UIs. Prior to 1.715.0, a resource-scoped API token could read script contents outside its allowed path scope through GET /api/w/{workspace}/scripts/list_search. The route-level scope middleware validated the token domain and action but did not enforce the resource/path segment, and the list_search_scripts handler had no additional check_scopes call or per-row filtering before returning script path and content fields. A token such as scripts:read:f/allowed/* could therefore receive source code for unrelated paths in the same workspace, potentially disclosing internal automation logic, integration details, business logic, inline configuration, or hardcoded secrets and credentials. Exploitation required possession of a valid scoped API token for the workspace but did not require administrator privileges. This issue is fixed in version 1.715.0.

