CVE-2026-52781
ŚrednieCVSS 6.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 — wyżej niż 5% wszystkich znanych CVE
Streszczenie
OpenProject przed wersjami 17.3.3 i 17.4.1 zawiera podatność polegającą na nieograniczonym atrybucie data-* w znacznikach <macro> w sanitizerze HTML. Atakujący może wstrzyknąć atrybut data-controller="poll-for-changes" do opisu pakietu roboczego, co powoduje zamontowanie kontrolera Stimulus.js, który pobiera załącznik przesłany przez atakującego i przekazuje go do renderStreamMessage(), wykonując dowolne akcje Turbo Stream, w tym przekierowanie do zewnętrznego serwera.
Ocena ryzyka
Ryzyko polega na możliwości przejęcia sesji uwierzytelnionych użytkowników i przekierowania ich na złośliwą stronę, co może prowadzić do kradzieży danych lub dalszych ataków phishingowych.
Rekomendacja
Należy natychmiast zaktualizować OpenProject do wersji 17.3.3 lub 17.4.1, które zawierają poprawkę eliminującą tę podatność.
Oryginalny opis (angielski, źródło NVD)
OpenProject is open-source, web-based project management software. Prior to 17.3.3 and 17.4.1, the HTML sanitizer grants <macro> elements unrestricted data-* attributes via :data wildcard. An attacker injects data-controller="poll-for-changes" into a work package description, causing Stimulus.js to mount a controller that fetches an attacker-uploaded attachment and passes it to renderStreamMessage(). This executes arbitrary Turbo Stream actions — including redirect_to — in every victim's authenticated browser session, redirecting them to an attacker-controlled server. This vulnerability is fixed in 17.3.3 and 17.4.1.

