@fastify/статические версии 8.0.0 до 9.1.0 декодировать пройденные сепараторы пути (% 2F) до разрешения файла, в то время как маршрутизатор…
@fastify/статические версии 8.0.0 до 9.1.0 декодировать пройденные сепараторы пути (% 2F) до разрешения файла, в то время как маршрутизатор Fastify рассматривает их как буквальные символы. Это несоответствие позволяет злоумышленникам обходить промежуточное программирование на основе маршрута или охранников, которые защищают файлы, обслуживаемые @fastify/static. Например, охранник маршрута на защищенном пути может быть обойден путем кодирования сепаратора пути в URL. Обновление до @fastify/static 9.1.1, чтобы исправить эту проблему. Никаких обходных путей нет.
Продукт некорректно обрабатывает ситуацию, когда все входные данные или их часть закодированы в формате URL.
https://cwe.mitre.org/data/definitions/177.html →Открыть в коллекции CWE →Данная атака использует кодирование URL в сочетании с кодированием символов слеша. Злоумышленник может воспользоваться множеством способов кодирования URL и злоупотребить его интерпретацией. URL может содержать специальные символы, требующие особой синтаксической обработки для правильной интерпретации. Специальные символы представляются с помощью символа процента, за которым следуют две цифры, обозначающие код октета исходного символа (%HEX-КОД). Например, пробел в US-ASCII представляется как %20. Это часто называют экранированием или процентным кодированием. Поскольку сервер декодирует URL из запросов, он может ограничивать доступ к некоторым путям URL, проверяя и отфильтровывая полученные URL-запросы. Злоумышленник попытается сформировать URL с последовательностью специальных символов, которая после интерпретации сервером окажется эквивалентна запрещённому URL. Защититься от данной атаки непросто, поскольку URL может содержать другие форматы кодирования, такие как UTF-8, Unicode и т. д.
https://capec.mitre.org/data/definitions/64.html →Открыть в коллекции CAPEC →Данная атака направлена на кодирование URL. Злоумышленник может воспользоваться множеством способов кодирования URL и злоупотребить его интерпретацией.
https://capec.mitre.org/data/definitions/72.html →Открыть в коллекции CAPEC →Злоумышленник применяет повторяющееся кодирование набора символов (то есть кодирует символ, уже закодированный с использованием кодировки символов) для обфускации полезной нагрузки конкретного запроса. Это может позволить злоумышленнику обойти фильтры, пытающиеся обнаружить недопустимые символы или строки, — в частности, те, которые могут использоваться в атаках выхода за пределы каталога или внедрения. Фильтры могут перехватывать закодированные недопустимые строки, но не способны перехватить дважды закодированные строки. Например, точка (.), часто используемая в атаках выхода за пределы каталога и потому нередко блокируемая фильтрами, может быть URL-закодирована как %2E. Однако многие фильтры распознают данное кодирование и всё равно заблокируют запрос. При двойном кодировании знак % в приведённом URL-кодировании снова кодируется как %25, что даёт %252E — строку, которую некоторые фильтры не распознают, однако интерпретаторы на целевой стороне по-прежнему могут трактовать как точку (.).
https://capec.mitre.org/data/definitions/120.html →Открыть в коллекции CAPEC →Злоумышленник использует внедрение каскадных таблиц стилей (CSS) для кражи данных из другого домена в браузере жертвы. Атака основана на злоупотреблении стандартами загрузки CSS: 1. Файлы cookie отправляются при любой загрузке CSS (в том числе межсайтовой). 2. При синтаксическом анализе возвращённого CSS игнорируются все данные, не имеющие смысла, до тех пор пока CSS-анализатор не обнаружит допустимый CSS-дескриптор.
https://capec.mitre.org/data/definitions/468.html →Открыть в коллекции CAPEC →