<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sun, 04 Oct 2026 16:46:00 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-77265 — MCP Atlassian: SSRF via DNS Rebinding in Header-Based Authentication Flow</title>
      <link>https://db.gcve.eu/vuln/cve-2026-77265</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; sooperset mcp-atlassian&lt;/p&gt;
&lt;p&gt;MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, header-supplied Jira or Confluence URLs are resolved and validated before the HTTP client resolves the hostname again for the connection. An unauthenticated caller can use a DNS-rebinding hostname that returns a public address during validation and an internal address during connection, causing requests to internal or metadata services. The advisory traces the vulnerable input and processing flow through X-Atlassian-Jira-Url, X-Atlassian-Confluence-Url, validate_url_for_ssrf, and DNS rebinding, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; sooperset mcp-atlassian&lt;/p&gt;
&lt;p&gt;MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, header-supplied Jira or Confluence URLs are resolved and validated before the HTTP client resolves the hostname again for the connection. An unauthenticated caller can use a DNS-rebinding hostname that returns a public address during validation and an internal address during connection, causing requests to internal or metadata services. The advisory traces the vulnerable input and processing flow through X-Atlassian-Jira-Url, X-Atlassian-Confluence-Url, validate_url_for_ssrf, and DNS rebinding, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-77265</guid>
    </item>
    <item>
      <title>GHSA-49xv-9743-pw8w — MCP Atlassian: SSRF via DNS Rebinding in Header-Based Authentication Flow</title>
      <link>https://db.gcve.eu/vuln/ghsa-49xv-9743-pw8w</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: mcp-atlassian&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The SSRF protection for header-based authentication uses a validate-then-use pattern vulnerable to DNS rebinding. validate_url_for_ssrf resolves the hostname via DNS and checks that the resolved IP is globally routable. However, the actual HTTP request happens later, during which the DNS record may have changed to point to an internal IP (127.0.0.1, 169.254.169.254, etc.). The SSRF redirect hook only validates redirect targets, not the initial connection.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The vulnerability spans main.py (validation) and dependencies.py (use).&lt;/p&gt;
&lt;p&gt;**Step 1 -- URL validation at middleware time:**&lt;/p&gt;
&lt;p&gt;In src/mcp_atlassian/servers/main.py:524-531, the URL from X-Atlassian-Jira-Url is validated:&lt;/p&gt;
&lt;p&gt;if jira_url_str:
        ssrf_error = validate_url_for_ssrf(jira_url_str)
        if ssrf_error:
            # blocked&lt;/p&gt;
&lt;p&gt;validate_url_for_ssrf (src/mcp_atlassian/utils/urls.py:113-116) resolves DNS and checks is_global:&lt;/p&gt;
&lt;p&gt;dns_error = _check_dns_resolution(hostname)
    if dns_error:
        return dns_error&lt;/p&gt;
&lt;p&gt;**Step 2 -- HTTP request happens later with a separate DNS resolution:**&lt;/p&gt;
&lt;p&gt;In src/mcp_atlassian/servers/dependencies.py:544-562, a JiraFetcher is created with the attacker URL and makes HTTP requests to it. The SSRF redirect hook (attach_ssrf_hook=True) is applied but only checks redirect Location headers, not the initial connection target.&lt;/p&gt;
&lt;p&gt;**DNS rebinding timeline:**&lt;/p&gt;
&lt;p&gt;1. Attacker sets up rebind.attacker.com with short TTL (1 second)
2. First DNS resolution (validate_url_for_…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: mcp-atlassian&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The SSRF protection for header-based authentication uses a validate-then-use pattern vulnerable to DNS rebinding. validate_url_for_ssrf resolves the hostname via DNS and checks that the resolved IP is globally routable. However, the actual HTTP request happens later, during which the DNS record may have changed to point to an internal IP (127.0.0.1, 169.254.169.254, etc.). The SSRF redirect hook only validates redirect targets, not the initial connection.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The vulnerability spans main.py (validation) and dependencies.py (use).&lt;/p&gt;
&lt;p&gt;**Step 1 -- URL validation at middleware time:**&lt;/p&gt;
&lt;p&gt;In src/mcp_atlassian/servers/main.py:524-531, the URL from X-Atlassian-Jira-Url is validated:&lt;/p&gt;
&lt;p&gt;if jira_url_str:
        ssrf_error = validate_url_for_ssrf(jira_url_str)
        if ssrf_error:
            # blocked&lt;/p&gt;
&lt;p&gt;validate_url_for_ssrf (src/mcp_atlassian/utils/urls.py:113-116) resolves DNS and checks is_global:&lt;/p&gt;
&lt;p&gt;dns_error = _check_dns_resolution(hostname)
    if dns_error:
        return dns_error&lt;/p&gt;
&lt;p&gt;**Step 2 -- HTTP request happens later with a separate DNS resolution:**&lt;/p&gt;
&lt;p&gt;In src/mcp_atlassian/servers/dependencies.py:544-562, a JiraFetcher is created with the attacker URL and makes HTTP requests to it. The SSRF redirect hook (attach_ssrf_hook=True) is applied but only checks redirect Location headers, not the initial connection target.&lt;/p&gt;
&lt;p&gt;**DNS rebinding timeline:**&lt;/p&gt;
&lt;p&gt;1. Attacker sets up rebind.attacker.com with short TTL (1 second)
2. First DNS resolution (validate_url_for_…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-49xv-9743-pw8w</guid>
    </item>
  </channel>
</rss>
