Шаблоны неправильно рассматривают обратные апострофы (`) как разделители строк в JavaScript и не экранируют их должным образом. Обратные ап…
Шаблоны неправильно рассматривают обратные апострофы (`) как разделители строк в JavaScript и не экранируют их должным образом. Обратные апострофы используются с ES6 для шаблонных литералов JS. Если шаблон содержит действие шаблона Go внутри шаблонного литерала JavaScript, то содержимое действия может быть использовано для завершения литерала, внедряя произвольный код JavaScript в шаблон Go. Поскольку шаблонные литералы ES6 довольно сложны и могут выполнять интерполяцию строк, было принято решение просто запретить действия шаблона Go внутри них (например, "var a = {{.}}"), поскольку нет очевидно безопасного способа позволить такое поведение. Это принимает тот же подход, что и github.com/google/safehtml. С исправлением Template.Parse возвращает ошибку, когда встречает такие шаблоны, с кодом ошибки 12. Этот код ошибки в настоящее время не экспортируется, но будет экспортирован в версии Go 1.21. Пользователи, полагающиеся на предыдущее поведение, могут повторно включить его, используя флаг GODEBUG jstmpllitinterp=1, с оговоркой, что обратные апострофы теперь будут экранированы. Это следует использовать с осторожностью.
Продукт формирует полностью или частично сегмент кода на основе входных данных от вышестоящего компонента, однако не нейтрализует или некорректно нейтрализует специальные элементы, способные изменить синтаксис или поведение предполагаемого сегмента кода.
https://cwe.mitre.org/data/definitions/94.html →Открыть в коллекции CWE →Данная атака эксплуатирует доверие системы к файлам конфигурации и ресурсов. Когда исполняемый файл загружает ресурс (например, файл изображения или файл конфигурации), злоумышленник модифицирует файл таким образом, чтобы либо непосредственно выполнить вредоносный код, либо манипулировать целевым процессом (например, сервером приложений), заставляя его выполнять действия на основе вредоносных параметров конфигурации. По мере того как системы всё активнее интегрируют ресурсы из локальных и удалённых источников, вероятность осуществления данной атаки возрастает.
https://capec.mitre.org/data/definitions/35.html →Открыть в коллекции CAPEC →Данная атака направлена на переменные, управляемые пользователем (DEBUG=1, PHP Globals и т. д.). Злоумышленник может переопределять переменные, используя переменные запроса, предоставляемые пользователем и применяемые непосредственно на сервере приложений без какой-либо санитизации данных. В крайних случаях злоумышленник может изменять переменные, управляющие бизнес-логикой приложения. Например, в языках наподобие PHP ряд неудачно заданных конфигураций по умолчанию может позволить пользователю переопределять переменные.
https://capec.mitre.org/data/definitions/77.html →Открыть в коллекции CAPEC →Злоумышленник эксплуатирует слабость в проверке входных данных на стороне цели, чтобы внедрить новый код в выполняемый в данный момент. Этот шаблон отличается от включения кода тем, что включение кода предполагает добавление или замену ссылки на файл с кодом, который впоследствии загружается целью и используется как часть кода некоторого приложения.
https://capec.mitre.org/data/definitions/242.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| NetworkManager | Отслеживается | |
| buildah | Отслеживается | |
| buildah | Отслеживается | |
| collectd-libpod-stats | Отслеживается | |
| conmon | Отслеживается | |
| conmon | Отслеживается | |
| container-tools | Отслеживается | |
| containernetworking-plugins | Отслеживается | |
| cri-o | Отслеживается | |
| cri-o | Отслеживается | |
| cri-tools | Отслеживается | |
| etcd | Отслеживается | |
| go-toolset-1.19-golang | Отслеживается | |
| golang | Отслеживается | |
| golang-1.10 | Отслеживается | |
| golang-1.10 | Отслеживается | |
| golang-1.10 | Отслеживается | |
| golang-1.11 | Отслеживается | |
| golang-1.11 | Отслеживается | |
| golang-1.13 | Отслеживается |