Biblioteka remark-html (Node.js) wbrew dokumentacji nie sanityzowała domyślnie danych wejściowych użytkownika, umożliwiając przekazanie dowolnego kodu HTML. Prowadzi to do potencjalnych ataków XSS o maksymalnej ocenie CVSS 10.0.
▸ Pokaż oryginał (EN)
remark-html is an open source nodejs library which compiles Markdown to HTML. In affected versions the documentation of remark-html has mentioned that it was safe by default. In practice the default was never safe and had to be opted into. That is, user input was not sanitized. This means arbitrary HTML can be passed through leading to potential XSS attacks. The problem has been patched in 13.0.2 and 14.0.1: `remark-html` is now safe by default, and the implementation matches the documentation. On older affected versions, pass `sanitize: true` if you cannot update.
Dokumentacja remark-html deklarowała, że biblioteka jest domyślnie bezpieczna, jednak w praktyce opcja sanityzacji nigdy nie była domyślnie włączona. W rezultacie dowolny HTML dostarczony przez użytkownika był przekazywany bez filtrowania bezpośrednio do wygenerowanego wyjścia. Atakujący może w ten sposób wstrzyknąć złośliwy skrypt, który zostanie wykonany w przeglądarce ofiary odwiedzającej stronę renderującą taką treść.
Atakujący może przeprowadzić atak XSS, co pozwala na kradzież sesji, danych uwierzytelniających lub wykonanie dowolnych działań w kontekście przeglądarki zalogowanego użytkownika.
Należy zaktualizować remark-html do wersji 13.0.2 lub 14.0.1, w których sanityzacja jest domyślnie włączona. Jeśli aktualizacja nie jest możliwa, należy jawnie przekazać opcję `sanitize: true` podczas wywołania biblioteki.
Biblioteka remark-html (Node.js) — wersje poprzedzające 13.0.2 oraz 14.0.1
Patch dostępny w commitcie b75c9dde582ad87ba498e369c033dc8a350478c1 w repozytorium GitHub projektu remarkjs/remark-html.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NRemark Html
APPRemark< 13.0.214.0.0 – 14.0.1 (bez)