CVE-2026-73155
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
Podatne wersje cti-transmute pozwalają uwierzytelnionym użytkownikom dodawać lub usuwać reakcje emoji na komentarzach bez uprzedniego sprawdzenia, czy ci użytkownicy mają uprawnienia do wyświetlania danego komentarza. Podatny handler react() przekazywał kontrolowany przez atakującego comment_id bezpośrednio do comments_repo.toggle_reaction() po tylko walidacji syntaktycznej ID i dozwolonego emoji. Ponieważ widoczność komentarza nie była egzekwowana, użytkownik, który znał ID prywatnego lub niedostępnego komentarza, mógł zmienić stan reakcji na tym komentarzu. Poprawka pobiera docelowy komentarz, odrzuca brakujące lub usunięte komentarze, pobiera powiązaną konwersję i egzekwuje access.can_see_comment(). Nieautoryzowane żądania otrzymują HTTP 403.
Ocena ryzyka
Użytkownik może manipulować reakcjami na prywatnych komentarzach, co narusza integralność danych i prywatność użytkowników.
Rekomendacja
Zaktualizuj cti-transmute do wersji z poprawką, która egzekwuje sprawdzanie uprawnień do komentarzy przed zmianą reakcji.
Oryginalny opis (angielski, źródło NVD)
Affected versions of cti-transmute allow authenticated users to add or remove emoji reactions on comments without first checking whether those users are authorized to view the target comment. The vulnerable react() handler passed an attacker-controlled comment_id directly to comments_repo.toggle_reaction() after only validating that the ID existed syntactically and that the requested emoji was permitted. Because comment-level visibility was not enforced, a user who could identify the ID of a private or otherwise inaccessible comment could modify reaction state on that comment despite lacking permission to access it. The fix retrieves the target comment, rejects missing or deleted comments, retrieves its associated conversion, and enforces access.can_see_comment(current_user, comment, conversion). Unauthorized requests now receive HTTP 403.

