<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CVE on burnedsignal</title><link>http://burnedsignal.com/en/tags/cve/</link><description>Recent content in CVE on burnedsignal</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 08 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://burnedsignal.com/en/tags/cve/index.xml" rel="self" type="application/rss+xml"/><item><title>How Grafana's No-Op Validator Turns Anonymous Access Into Pre-Auth SSRF</title><link>http://burnedsignal.com/en/posts/grafana-oss-preauth-ssrf/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate><guid>http://burnedsignal.com/en/posts/grafana-oss-preauth-ssrf/</guid><description>&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;ul>
&lt;li>Grafana OSS ships a &lt;strong>no-op request validator&lt;/strong> for the datasource proxy endpoint. It always returns &lt;code>nil&lt;/code>. Zero SSRF protection.&lt;/li>
&lt;li>Combined with two default configurations, this allows &lt;strong>unauthenticated users&lt;/strong> to proxy HTTP requests to any internal service reachable from the Grafana server.&lt;/li>
&lt;li>A Shodan scan of 1,000 random instances found &lt;strong>~7,800 internet-exposed Grafana instances&lt;/strong> with anonymous access enabled. Directly exploitable, no credentials required.&lt;/li>
&lt;li>On EC2 with IMDSv1 enabled, this means &lt;strong>full AWS credential theft with no login&lt;/strong>: AccessKeyId, SecretAccessKey, session token.&lt;/li>
&lt;li>Grafana Enterprise ships a real validator. OSS does not. This is a deliberate product split.&lt;/li>
&lt;li>Submitted to Grafana&amp;rsquo;s bug bounty program, marked Out of Scope. Tracked as &lt;strong>&lt;a href="https://www.cve.org/CVERecord?id=CVE-2026-39104">CVE-2026-39104&lt;/a>&lt;/strong>, assigned by MITRE.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="the-setup">The Setup&lt;/h2>
&lt;p>Grafana&amp;rsquo;s datasource proxy is a legitimate feature. You configure a datasource (Prometheus, InfluxDB, etc.) with a backend URL, and Grafana proxies queries to it on behalf of dashboard users. This keeps credentials server-side and avoids CORS issues.&lt;/p></description></item></channel></rss>