Envoy — это облачный прокси-сервер edge/middle/service. Envoy не декодирует экранированные последовательности косой черты `%2F` и `%5C` в п…
Envoy — это облачный прокси-сервер edge/middle/service. Envoy не декодирует экранированные последовательности косой черты `%2F` и `%5C` в путях HTTP URL в версиях 1.18.2 и более ранних. Удаленный злоумышленник может создать путь с экранированными косыми чертами, например `/something%2F..%2Fadmin`, чтобы обойти контроль доступа, например, блок на `/admin`. Затем внутренний сервер может декодировать последовательности косых черт и нормализовать путь и предоставить злоумышленнику доступ за пределами области, предоставленной политикой контроля доступа. ### Последствия: повышение привилегий при использовании фильтров RBAC или JWT с применением на основе URL-пути. Затронуты пользователи с внутренними серверами, которые интерпретируют `%2F` и `/` и `%5C` и `\` взаимозаменяемо. ### Вектор атаки: URL-пути, содержащие экранированные символы косой черты, доставляются ненадежным клиентом. Исправления в версиях 1.18.3, 1.17.3, 1.16.4, 1.15.5 содержат новый параметр нормализации пути для декодирования экранированных символов косой черты. В качестве обходного пути, если внутренние серверы обрабатывают `%2F` и `/` и `%5C` и `\` взаимозаменяемо, и настроен контроль доступа на основе URL-пути, можно перенастроить внутренний сервер, чтобы не обрабатывать `%2F` и `/` и `%5C` и `\` взаимозаменяемо.
Продукт использует внешние входные данные для формирования пути, предназначенного для идентификации файла или каталога внутри ограниченного родительского каталога, однако не нейтрализует должным образом специальные элементы в пути, которые могут вызвать его разрешение за пределами ограниченного каталога.
https://cwe.mitre.org/data/definitions/22.html →Открыть в коллекции CWE →Продукт выполняет проверку авторизации при попытке субъекта получить доступ к ресурсу или выполнить действие, однако не осуществляет эту проверку корректно.
https://cwe.mitre.org/data/definitions/863.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 →Злоумышленник манипулирует входными данными, которые целевое программное обеспечение передаёт в вызовы файловой системы операционной системы. Цель — получить доступ и, возможно, модифицировать области файловой системы, к которым целевое программное обеспечение не должно было предоставлять доступ.
https://capec.mitre.org/data/definitions/76.html →Открыть в коллекции CAPEC →Данная атака использует обратный слеш в альтернативных кодировках. Злоумышленник может использовать обратный слеш в качестве первого символа, вынуждая парсер считать следующий символ специальным. Это называется экранированием. Используя данный приём, злоумышленник пытается эксплуатировать альтернативные способы кодирования одного и того же символа, что создаёт проблемы для фильтров и открывает пути для атак.
https://capec.mitre.org/data/definitions/78.html →Открыть в коллекции CAPEC →Данная атака направлена на кодирование символов слеша. Злоумышленник пытается эксплуатировать распространённые проблемы фильтрации, связанные с использованием символов слеша, для получения доступа к ресурсам на целевом хосте. Системы на основе каталогов, такие как файловые системы и базы данных, как правило, используют символ слеша для обозначения перехода между каталогами или другими контейнерными компонентами. По неоднозначным историческим причинам ПК (и, как следствие, ОС Microsoft) используют обратный слеш, тогда как мир UNIX традиционно применяет прямой слеш. Шизофренический результат таков, что многие MS-системы обязаны понимать обе формы слеша. Это предоставляет злоумышленнику множество возможностей для обнаружения и использования распространённых проблем фильтрации. Цель данного шаблона — обнаружить серверное программное обеспечение, применяющее фильтры только к одному варианту, но не другому.
https://capec.mitre.org/data/definitions/79.html →Открыть в коллекции CAPEC →Злоумышленник использует методы манипуляции путями для эксплуатации недостаточной проверки входных данных цели и получения доступа к данным, которые должны быть недоступны. Такой подход хорошо работает, когда цель предоставляет пользователю имена файлов (например, для пользовательских файлов, содержимого веб-сайтов и т. п.) и использует эти имена для формирования путей в файловой системе. Вставляя в эти имена специальные последовательности, можно обойти проверки и получить доступ к файлам вне корня приложения. Наиболее типичная последовательность — использование относительных переходов «..». Например, если приложение хранит файлы пользователей в каталоге /usr/local/myapp/files/user/, а противник запросит файл с именем «../../../../etc/passwd», то итоговый путь может быть интерпретирован как /etc/passwd — системный файл, к которому противник не должен иметь доступа. Некоторые реализации фильтрации последовательностей «..» можно обойти с помощью альтернативных кодировок, URL-кодирования или использования различных разделителей каталогов. Цель атаки — получить несанкционированный доступ к конфиденциальным данным. В некоторых случаях может быть получена также возможность записи за пределы разрешённых каталогов.
https://capec.mitre.org/data/definitions/126.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| envoyproxy | Отслеживается | |
| servicemesh-operator | Отслеживается | |
| servicemesh-proxy | Отслеживается | |
| servicemesh-proxy | Отслеживается | |
| envoy | * | Отслеживается |