Описание
Уязвимость функции GetConfPath() пользовательского интерфейса Nginx UI сервера nginx связана с ошибочным получением значений полей json без проверки в результате неверного ограничения имени пути к каталогу с ограниченным доступом. Эксплуатация уязвимости может позволить нарушителю, действующему удалённо, записывать произвольные файлы
Вендор
Сообщество свободного программного обеспечения
Наименование ПО
Nginx UI
Версия ПО
до 2.0.0-beta.35 включительно (Nginx UI)
Тип ПО
Сетевое средство
Операционные системы и аппаратные платформы
-
Уровень опасности уязвимости
Высокий уровень опасности (базовая оценка CVSS 2.0 составляет 7,8)
Высокий уровень опасности (базовая оценка CVSS 3.0 составляет 7,5)
Возможные меры по устранению уязвимости
Использование рекомендаций:
https://github.com/0xJacky/nginx-ui/releases/tag/v2.0.0-beta.36
Компенсирующие меры:
Рекомендуется изменять функцию GetConfPath() напрямую:
func GetConfPath(dir ...string) (confPath string) {
if settings.NginxSettings.ConfigDir == "" {
out := getNginxV()
r, _ := regexp.Compile("--conf-path=(.*)/(.*.conf)")
match := r.FindStringSubmatch(out)
if len(match) < 1 {
logger.Error("nginx.GetConfPath len(match) < 1")
return ""
}
confPath = match[1]
} else {
confPath = settings.NginxSettings.ConfigDir
}
// Ensure confPath does not allow directory traversal
safeConfPath := filepath.Clean(confPath)
return filepath.Join(safeConfPath, filepath.Join(dir...))
}
Статус уязвимости
Подтверждена производителем
Наличие эксплойта
Существует в открытом доступе
Информация об устранении
Уязвимость устранена
Идентификаторы других систем описаний уязвимостей
- CVE
EPSS
Процентиль: 71%
0.00681
Низкий
7.5 High
CVSS3
7.8 High
CVSS2
Связанные уязвимости
CVSS3: 7.5
nvd
больше 1 года назад
Nginx UI is a web user interface for the Nginx web server. Nginx UI v2.0.0-beta.35 and earlier gets the value from the json field without verification, and can construct a value value in the form of `../../`. Arbitrary files can be written to the server, which may result in loss of permissions. Version 2.0.0-beta.26 fixes the issue.
EPSS
Процентиль: 71%
0.00681
Низкий
7.5 High
CVSS3
7.8 High
CVSS2