CVE-2026-81731
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
Frappe 15.11.0 do 16.32.0 przechowuje i renderuje opis karty obszaru roboczego bez filtrowania XSS. Pole opisu w doctype Workspace Link ma ustawioną flagę ignore_xss_filter, a funkcja _sanitize_content() pomija takie pola, więc wartość jest przechowywana dokładnie tak, jak została przesłana. Następnie jest ona interpolowana do popovera Bootstrap z włączonym html: true, co pozwala użytkownikowi z rolą Workspace Manager na wykonanie dowolnego kodu w sesji innych użytkowników.
Ocena ryzyka
Atakujący może ukraść tokeny sesji i wykonywać uwierzytelnione żądania jako ofiara, w tym użytkownicy z wyższymi uprawnieniami, co prowadzi do nieautoryzowanego dostępu i naruszenia integralności danych.
Rekomendacja
Zastosuj poprawkę z gałęzi deweloperskiej lub zaktualizuj do wersji, która zawiera fix, gdy tylko będzie dostępna. Tymczasowo ogranicz dostęp do ról Workspace Manager i monitoruj aktywność.
Inne podatności w Frappe
Zobacz wszystkie- CVE-2026-66057Średnie
Frappe to framework aplikacji webowych full-stack. W wersjach przed 15.116.0 i 16.29.0 przepływ logowania OAuth używa niesanityzowanego parametru state kontrolowanego przez klienta do wyboru nawigacji po uwierzytelnieniu, co pozwala spreparowanej wartości state przekierować użytkownika do lokalizacji wybranej przez atakującego. Problem naprawiono w wersjach 15.116.0 i 16.29.0.
- CVE-2026-55823Wysokie
Frappe to pełnostackowy framework aplikacji webowych. Przed wersją 16.23.0, metoda get_count() w reportview składa operację zliczania wokół wygenerowanego SQL przez surową ścieżkę wykonania bazy danych, co pozwala na modyfikację wykonywanego SQL przez spreparowane dane wejściowe raportu.
- CVE-2025-68953Wysokie
Frappe, framework do tworzenia aplikacji webowych, zawiera podatność na ataki typu path traversal w wersjach 14.99.5 i starszych oraz 15.0.0 do 15.80.1. Brak odpowiedniej sanityzacji niektórych żądań umożliwia zdalne odczytanie dowolnych plików z serwera. Problem został naprawiony w wersjach 14.99.6 i 15.88.1.
- CVE-2017-1000120Wysokie
W wersjach Frappe do 7.1.27 występuje podatność na wstrzyknięcie SQL w funkcji frappe.share.get_users, która pozwala zdalnym uwierzytelnionym użytkownikom na wykonywanie dowolnych poleceń SQL poprzez parametr fields.
- CVE-2026-39351Krytyczne
Frappe przed wersjami 16.14.0 i 15.104.0 zawiera podatność umożliwiającą nieograniczony dostęp do Doctype przez exploit API.
- CVE-2025-68929Krytyczne
Frappe to framework webowy pełnego stosu. Przed wersjami 14.99.6 i 15.88.1 uwierzytelniony użytkownik z określonymi uprawnieniami mógł zostać nakłoniony do otwarcia specjalnie spreparowanego linku. Może to prowadzić do wykonania złośliwego szablonu na serwerze, co skutkuje zdalnym wykonaniem kodu. Wersje 14.99.6 i 15.88.1 naprawiają ten problem. Nie są dostępne żadne znane obejścia.
- CVE-2026-109602Średnie
W Frappe przed wersją 15.118.0 oraz 16.x przed 16.31.0 występuje podatność stored cross-site scripting w filtrach wykresów dashboardu, ponieważ jQuery renderuje wprowadzone wartości filtrów jako rich text. Uwierzytelnieni atakujący mogą zapisać złośliwe wartości filtrów, które wykonują skrypty w przeglądarkach użytkowników przeglądających wykres dashboardu.
- CVE-2026-109599Średnie
W Frappe przed wersją 15.113.3 oraz 16.x przed 16.25.0 występuje brak kontroli autoryzacji, w którym niektóre endpointy nie egzekwują właściwych sprawdzeń uprawnień. Uwierzytelnieni użytkownicy mogą wysyłać żądania do tych endpointów, aby modyfikować rekordy poza zakresem przypisanej im roli.
- CVE-2025-71431Średnie
Frappe przed wersją 14.99.2 i 15.x przed 15.86.0 zawiera podatność na wstrzykiwanie LDAP, ponieważ niektóre punkty końcowe nie sanityzują parametrów dostarczanych przez użytkownika przed użyciem ich w zapytaniach LDAP. Atakujący mogą dostarczyć spreparowaną składnię filtra LDAP przez te parametry, aby zmienić wynikowe zapytania do katalogu.
- CVE-2025-71430Średnie
Frappe przed wersją 14.99.10 i 15.x przed 15.91.1 zawiera podatność na trwały cross-site scripting (XSS) na stronie leaderboard, ponieważ nazwy użytkowników są renderowane bez odpowiedniej neutralizacji. Uwierzytelnieni atakujący mogą ustawić spreparowaną nazwę użytkownika, która wykonuje dowolny JavaScript w przeglądarkach innych użytkowników przeglądających leaderboard.
Oryginalny opis (angielski, źródło NVD)
Frappe 15.11.0 through 16.32.0 stores and renders the workspace card description without XSS filtering. The description field of the Workspace Link doctype is declared with "ignore_xss_filter": 1 in frappe/desk/doctype/workspace_link/workspace_link.json, and _sanitize_content() in frappe/model/base_document.py skips any field carrying that flag, so the value is stored exactly as submitted. frappe.desk.desktop.get_desktop_page returns it unchanged, and LinksWidget.set_body() in frappe/public/js/frappe/widgets/links_widget.js interpolates it into a Bootstrap popover created with html: true, by way of the __() translation helper, which performs no HTML escaping. A user holding the Workspace Manager role can therefore place arbitrary markup in a public workspace's card description and have it execute in the session of any desk user who opens that workspace and hovers the description, including higher-privileged users, allowing session token theft and authenticated requests as the victim. The flag is removed on the development branch but remains present in the shipped 15.x and 16.x release lines, so no released version carries the fix.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

