@fastify/static версий с 8.0.0 по 9.1.0 разрешают обход пути, когда список каталогов включен с помощью параметра списка. Функция dirList.path() разрешает каталоги за пределами настроенного статического корня с помощью path.join() без проверки содержания. Удаленный злоумышленник, не прошедший проверку подлинности, может получить списки произвольных каталогов, доступных для процесса Node.js, раскрывая имена каталогов и файлов.
Содержимое файла не разглашается. Обновите @fastify/static 9.1.1, чтобы устранить эту проблему. В качестве обходного пути отключите список каталогов, удалив опцию списка из конфигурации плагина.
Показать оригинальное описание (EN)
@fastify/static versions 8.0.0 through 9.1.0 allow path traversal when directory listing is enabled via the list option. The dirList.path() function resolves directories outside the configured static root using path.join() without a containment check. A remote unauthenticated attacker can obtain directory listings for arbitrary directories accessible to the Node.js process, disclosing directory and file names. File contents are not disclosed. Upgrade to @fastify/static 9.1.1 to fix this issue. As a workaround, disable directory listing by removing the list option from the plugin configuration.
Характеристики атаки
Последствия
Строка CVSS v3.1