CVE-2026-33170
ŚrednieCVSS 6.1Streszczenie
W Active Support (Ruby on Rails) metoda SafeBuffer#% nie propaguje flagi @html_unsafe do nowo utworzonego bufora. Jeśli SafeBuffer zostanie zmodyfikowany w miejscu (np. przez gsub!) i następnie sformatowany operatorem % z niezaufanymi argumentami, wynik błędnie zwraca html_safe? == true, omijając automatyczne escapowanie ERB i mogąc prowadzić do XSS.
Ocena ryzyka
Może umożliwić atakującemu wstrzyknięcie skryptu (XSS) w aplikacjach Rails, które formatują zmodyfikowane SafeBuffer niezaufanymi danymi.
Rekomendacja
Zaktualizuj gem Active Support do wersji 8.1.2.1, 8.0.4.1 lub 7.2.3.1 (lub nowszej).
Inne podatności w Active Support
Zobacz wszystkie- CVE-2026-33176Wysokie
Active Support (biblioteka Ruby z Rails) w wersjach przed 8.1.2.1, 8.0.4.1 i 7.2.3.1 akceptuje w helperach liczbowych ciągi w notacji naukowej (np. 1e10000), które BigDecimal rozwija do ogromnych liczb dziesiętnych. Formatowanie takiej liczby powoduje nadmierną alokację pamięci i zużycie CPU.
- CVE-2026-33169Średnie
Active Support to biblioteka pomocnicza Ruby wyodrębniona z frameworka Rails. Klasa NumberToDelimitedConverter używa wyrażenia regularnego z lookahead i metody gsub!, co przy długich ciągach cyfr może prowadzić do kwadratowej złożoności czasowej. Podatność naprawiono w wersjach 8.1.2.1, 8.0.4.1 i 7.2.3.1.
- CVE-2023-22796Wysokie
W Active Support <6.1.7.1 i <7.0.4.1 istnieje podatność na atak DoS oparta na wyrażeniach regularnych. Specjalnie spreparowany ciąg znaków przekazany do metody underscore może wprowadzić silnik wyrażeń regularnych w stan katastrofalnego backtrackingu, powodując zużycie dużych ilości CPU i pamięci.
Oryginalny opis (angielski, źródło NVD)
Active Support is a toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Prior to versions 8.1.2.1, 8.0.4.1, and 7.2.3.1, `SafeBuffer#%` does not propagate the `@html_unsafe` flag to the newly created buffer. If a `SafeBuffer` is mutated in place (e.g. via `gsub!`) and then formatted with `%` using untrusted arguments, the result incorrectly reports `html_safe? == true`, bypassing ERB auto-escaping and possibly leading to XSS. Versions 8.1.2.1, 8.0.4.1, and 7.2.3.1 contain a patch.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

