Refit - это автоматическая типобезопасная библиотека REST для .NET Core, Xamarin и .NET. Различные атрибуты Refit, связанные с заголовками …
Refit - это автоматическая типобезопасная библиотека REST для .NET Core, Xamarin и .NET. Различные атрибуты Refit, связанные с заголовками (Header, HeaderCollection и Authorize), уязвимы для внедрения CRLF. Способ добавления HTTP-заголовков в запрос осуществляется через метод `HttpHeaders.TryAddWithoutValidation`. Этот метод не проверяет наличие символов CRLF в значении заголовка. Это означает, что любые заголовки, добавленные в запрос refit, уязвимы для внедрения CRLF. В общем, внедрение CRLF в HTTP-заголовок (при использовании HTTP/1.1) означает, что можно внедрить дополнительные HTTP-заголовки или пронести целые HTTP-запросы. Если приложение, использующее библиотеку Refit, передает значение, контролируемое пользователем, в заголовок, то это приложение становится уязвимым для внедрения CRLF. Это не обязательно является проблемой безопасности для приложения командной строки, подобного приведенному выше, но если такой код присутствует в веб-приложении, то оно становится уязвимым для разделения запросов (как показано в PoC) и, следовательно, для Server Side Request Forgery. Строго говоря, это потенциальная уязвимость в приложениях, использующих Refit, а не в самом Refit. Эта проблема была решена в версиях 7.2.22 и 8.0.0, и всем пользователям рекомендуется обновиться. Известных обходных путей для этой уязвимости нет.
Продукт использует CRLF (возврат каретки и перевод строки) в качестве специального элемента — например, для разделения строк или записей, — однако не нейтрализует или некорректно нейтрализует последовательности CRLF во входных данных.
https://cwe.mitre.org/data/definitions/93.html →Открыть в коллекции CWE →Атака данного типа эксплуатирует уязвимости программы, позволяющие злоумышленнику конкатенировать собственные команды с легитимными командами с целью атаки на другие ресурсы, такие как файловая система или база данных. Система, использующая фильтр или проверку входных данных на основе списка запрещённых значений, в отличие от проверки на основе разрешающего списка, уязвима для злоумышленника, способного предсказывать разделители (или их комбинации), отсутствующие в фильтре или списке запрещённых значений. Как и другие атаки внедрения, злоумышленник использует полезную нагрузку с разделителем команд в качестве точки входа для туннелирования через приложение и активации дополнительных атак посредством SQL-запросов, команд командного интерпретатора, сетевого сканирования и т. д.
https://capec.mitre.org/data/definitions/15.html →Открыть в коллекции CAPEC →Атаки типа «Фальсификация журналов веб-сервера» предполагают внедрение, удаление или иное изменение содержимого журналов веб-сервера злоумышленником, как правило, с целью сокрытия других вредоносных действий. Кроме того, запись вредоносных данных в файлы журналов может быть направлена против задач, фильтров, отчётов и других агентов, обрабатывающих журналы в асинхронном шаблоне атаки. Данный шаблон атаки схож с «Внедрением/фальсификацией/подделкой журналов», за исключением того, что в данном случае атака направлена на журналы веб-сервера, а не приложения.
https://capec.mitre.org/data/definitions/81.html →Открыть в коллекции CAPEC →