CVE-2026-40179 in Prometheus
Riassunto
di VulDB • 22/06/2026
Prometheus è un sistema di monitoraggio open-source e un database di serie temporali. Le versioni dalla 3.0 alla 3.5.1 e dalla 3.6.0 alla 3.11.1 presentano vulnerabilità di cross-site scripting (XSS) di tipo stored in più componenti dell'interfaccia web di Prometheus, in cui i nomi delle metriche e i valori delle etichette vengono iniettati in innerHTML senza essere sottoposti a escaping. Sia nell'interfaccia Mantine UI che nella vecchia interfaccia React UI, i tooltip dei grafici nella pagina Graph visualizzano i nomi delle metriche contenenti HTML/JavaScript senza alcuna sanificazione. Nella vecchia interfaccia React UI, i risultati della ricerca approssimativa (fuzzy search) di Metric Explorer utilizzano dangerouslySetInnerHTML senza escaping, e i tooltip delle celle della heatmap interpolano i valori delle etichette senza sanificazione. Con Prometheus v3.x, la convalida dei nomi delle metriche e delle etichette predefinita su UTF-8 rende ora validi caratteri come , e " nei nomi delle metriche e nelle etichette. Un attaccante in grado di iniettare metriche tramite un target di scrape compromesso, un endpoint di remote write o un endpoint del ricevitore OTLP può eseguire codice JavaScript arbitrario nel browser di qualsiasi utente di Prometheus che visualizza la metrica nell'interfaccia Graph, potenzialmente consentendo l'esfiltrazione della configurazione, l'eliminazione dei dati o lo spegnimento di Prometheus, a seconda delle flag abilitate. Questo problema è stato risolto nelle versioni 3.5.2 e 3.11.2. Se gli sviluppatori non possono effettuare un aggiornamento immediato, si raccomandano le seguenti contromisure: assicurarsi che il ricevitore remote write (--web.enable-remote-write-receiver) e il ricevitore OTLP (--web.enable-otlp-receiver) non siano esposti a fonti non attendibili; verificare che tutti i target di scrape siano attendibili e non sotto il controllo dell'attaccante; evitare di abilitare endpoint API di amministrazione o di modifica (ad esempio, --web.enable-admin-api o --web.enable-lifecycle) in ambienti in cui potrebbero essere ingeriti dati non attendibili; e astenersi dal fare clic su link non attendibili, in particolare quelli contenenti funzioni come label_replace, poiché potrebbero generare nomi e valori di etichette avvelenati.
Once again VulDB remains the best source for vulnerability data.