Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
prometheus-bearer-redirect — Prometheus v3.15.0 – Hoch – Remote – Offenlegung von Anmeldedaten – remote_write google_iam/azuread leitet Bearer bei hostübergreifenden 3xx weiter | Kitploit
Tools/GitHubGitHub/abraxas/prometheus-bearer-redirect
SchwachstellenanalyseExploitationSicherheitsvirtualisierungWebsicherheitLabs & Praxis
GitHubabraxas/prometheus-bearer-redirect

prometheus-bearer-redirect

Prometheus v3.15.0 – Hoch – Remote – Offenlegung von Anmeldedaten – remote_write google_iam/azuread leitet Bearer bei hostübergreifenden 3xx weiter

Repository anzeigen
6vor 4 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - prometheus-bearer-redirect

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  prometheus-bearer-redirect

prometheus-bearer-redirect

Klasse: Credential-Leak Reichweite: Remote

Prometheus v3.15.0 (5241a27) - CNCF / Prometheus

prometheus/common v0.71.0 entfernt bereits Scrape-/HTTPClientConfig-Credentials bei Cross-Host-Redirects (isCrossHostRedirect, #901). NewWriteClient baut diesen Client zuerst und umhüllt dann azuread.NewAzureADRoundTripper oder googleiam.NewRoundTripper außerhalb des Strippings. follow_redirects ist weiterhin standardmäßig true.

Wenn die konfigurierte remote_write-URL per 301/302/307 auf einen anderen Host weiterleitet, sendet Prometheus Authorization: Bearer plus das Azure-AD- oder GCP-monitoring.write-Token an diesen Host. Go hat den kopierten Header bereits verworfen. Diese RoundTripper setzen ihn erneut.

Kein CVE-2026-42151 (client_secret-Dump auf /-/config). Die Standard-prometheus.yml hat kein remote_write. Dies ist gated auf azuread: oder google_iam:.

IDnoch kein CVE
KlasseCredential-Leak (remote_write Bearer bei Cross-Host-3xx)
ReichweiteRemote (ausgehend von Prometheus zu einem 3xx-Ziel)
CWECWE-201
CVSSHigh: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
ProduktPrometheus
Betroffenv3.15.0 (5241a27fe3c6983549fccc32f6e65917408c63cd), Image prom/prometheus:v3.15.0
Authconfig-gated remote_write mit azuread: oder google_iam:
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1

Was ein Angreifer tun kann

Der Operator hat remote_write mit azuread: oder google_iam:. Die RW-URL oder ein Hop, auf den sie per 3xx weiterleitet, ist ein Host, den der Angreifer kontrolliert.

PrivilegMethode / SinkLab-belegt oder abgeleitet
Den aktiven GCP-monitoring.write-Bearer bei einem Cross-Host-3xx auslesengoogle_iam remote_write POST, 307 zu einem anderen HostLab-belegt. Oracle POST /write erhielt Authorization: Bearer lab-gcp-PROMETHEUS-BEARER-REDIRECT-WITNESS
Derselbe Leak für azureadazureADRoundTripper.RoundTrip setzt immer Header.Set("Authorization", "Bearer "+token) ohne isCrossHostRedirectAbgeleitet aus dem Pin-Quellcode. Dieselbe Wrap-Stelle in NewWriteClient. Das Lab nutzte google_iam, daher wurde Azure nicht aufgerufen
Dieses Token gegen Azure Monitor / GCP Monitoring als diese Identität wiederverwendenDas Token ist eine echte Cloud-Credential, wenn diese Auth-Blöcke konfiguriert sindAbgeleitet. Das Lab erzeugte ein Stub-Token; Azure oder GCP wurden nicht aufgerufen
Scrape / oauth2 / basic / bearer auf demselben PinHTTPClientConfig-RoundTripper aus common v0.71.0Lab-belegt geschlossen. oauth2-Scrape-GET folgte 302 zum selben Oracle ohne Authorization
Standard-OSSremote_write leerGeschlossen
remote_write.headers setzt AuthorizationabgelehntGeschlossen
/-/config gibt client_secret ausCVE-2026-42151; Feld ist auf diesem Pin als Secret typisiertGeschlossen
Prometheus-Admin / LifecycleFlags standardmäßig ausGeschlossen
RCE / eine Shellnicht dieser RestGeschlossen

Wie ich es gefunden habe

Ich habe den prometheus/prometheus-Tag v3.15.0 nach der 3.11/3.12-Welle aus Secret-Redaction und Snappy-Cap gepinnt. Neunzehn Hunts. Standard-OSS: Admin-API, Lifecycle-HTTP, Remote-Write-Receiver und OTLP-Receiver aus. Common #901 ist in v0.71.0. Der Rest sind die beiden remote_write-Wrapper, die außerhalb dieses Clients liegen.

func (rt *azureADRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
	accessToken, err := rt.tokenProvider.getAccessToken(req.Context())
	// ...
	req.Header.Set("Authorization", bearerAccessToken)
	return rt.next.RoundTrip(req)
}

googleiam.NewRoundTripper ist google.golang.org/api/transport/http -> oauth2.Transport, das bei jedem Hop SetAuthHeader aufruft.

Bereits dokumentierte Irrwege: CVE-2026-42151 erneut einreichen; Scrape-oauth2 als weiterhin leckend behandeln (ist es nicht); dies als High bei Standardinstallation bezeichnen (ist es nicht - remote_write ist leer, bis man es aktiviert). Theater: eine Reverse Shell. Das Oracle ist ein Bearer auf dem weitergeleiteten POST.

Lab

python3 prometheus-bearer-redirect-Abraxas-Labs.py

oder

cd lab
./run.sh

Nur Loopback: Prometheus http://127.0.0.1:19380, Oracle http://127.0.0.1:19381. Image prom/prometheus:v3.15.0. run.sh schreibt eine Lab-gcp-sa.json mit token_uri: http://hop:8080/token, damit google_iam nie mit Google spricht.

SUCCESS prometheus-bearer-redirect how=live rw-method=POST rw-bearer=yes token-has-witness=yes scrape-method=GET scrape-bearer=no PROMETHEUS-BEARER-REDIRECT-WITNESS

Der Fix

Azure AD / Google IAM Bearer überspringen, wenn isCrossHostRedirect(req) gilt, genau wie in common #901. Authorization nicht erneut setzen, nachdem Go es bei einem Cross-Host-3xx verworfen hat.

Referenzen

  • github.com/prometheus/prometheus Tag v3.15.0 (5241a27fe3c6983549fccc32f6e65917408c63cd)
  • storage/remote/client.go · storage/remote/azuread/azuread.go · storage/remote/googleiam/googleiam.go
  • prometheus/common #901
  • In der Nähe gepatcht (nicht dieser Wrap): CVE-2026-42151
  • CWE-201

Lizenz

GNU Affero GPL v3.0. Siehe LICENSE. Nur Loopback-Lab. Keine Gewährleistung.

Tool herunterladen