<?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>Mon, 28 Sep 2026 13:09:33 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-77244</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-77244</link>
      <description>&lt;p&gt;MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, the HTTP transport accepts requests without a verified user identity and downstream fetcher construction falls back to the operator&amp;#39;s globally configured Jira or Confluence credentials. A network client that can reach the MCP endpoint can invoke Atlassian tools as the operator, including read and write operations available to that account. The advisory traces the vulnerable input and processing flow through UserTokenMiddleware, AtlassianOpaqueTokenVerifier, _get_fetcher, and streamable-http, 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;MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, the HTTP transport accepts requests without a verified user identity and downstream fetcher construction falls back to the operator&amp;#39;s globally configured Jira or Confluence credentials. A network client that can reach the MCP endpoint can invoke Atlassian tools as the operator, including read and write operations available to that account. The advisory traces the vulnerable input and processing flow through UserTokenMiddleware, AtlassianOpaqueTokenVerifier, _get_fetcher, and streamable-http, 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/fkie_cve-2026-77244</guid>
    </item>
    <item>
      <title>GHSA-wrhw-j3f9-8vc6 — [mcp-atlassian] Authentication bypass in HTTP transport: AtlassianOpaqueTokenVerifier accepts any non-empty token</title>
      <link>https://db.gcve.eu/vuln/ghsa-wrhw-j3f9-8vc6</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: mcp-atlassian&lt;/p&gt;
&lt;p&gt;**Description**&lt;/p&gt;
&lt;p&gt;mcp-atlassian deploys in two common patterns:&lt;/p&gt;
&lt;p&gt;Pattern A (single-user, server-side credentials): operator sets
    JIRA_USERNAME + JIRA_API_TOKEN (or CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN)
    in environment variables. Server uses these to call Jira/Confluence.
    This is the documented quickstart pattern.&lt;/p&gt;
&lt;p&gt;Pattern B (multi-user, OAuth or per-request PAT): operator sets up OAuth
    proxy or accepts per-user tokens via Authorization or service headers.&lt;/p&gt;
&lt;p&gt;The authentication mechanism in HTTP transport has two issues that combine
to permit unauthenticated access to Pattern A deployments:&lt;/p&gt;
&lt;p&gt;1. AtlassianOpaqueTokenVerifier.verify_token() at
   `src/mcp_atlassian/utils/token_verifier.py` accepts any non-empty string
   as a valid token:&lt;/p&gt;
&lt;p&gt;async def verify_token(self, token: str) -&amp;gt; AccessToken | None:
           if not token:
               return None
           scopes = self.required_scopes or []
           return AccessToken(
               token=token,
               client_id=&amp;#34;atlassian&amp;#34;,
               scopes=scopes,
               expires_at=int(time.time()) + 86400 * 30,
           )&lt;/p&gt;
&lt;p&gt;The docstring documents this: &amp;#34;we accept non-empty tokens and attach
   the required scopes.&amp;#34;&lt;/p&gt;
&lt;p&gt;2. The default deployment does NOT enable the OAuth proxy auth provider
   (OAUTH_PROXY_ENABLE_ENV defaults to false; main.py:726). When
   `_build_auth_provider()` returns None, FastMCP HTTP transport accepts
   requests with no authentication challenge.&lt;/p&gt;
&lt;p&gt;3. `User…&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;**Description**&lt;/p&gt;
&lt;p&gt;mcp-atlassian deploys in two common patterns:&lt;/p&gt;
&lt;p&gt;Pattern A (single-user, server-side credentials): operator sets
    JIRA_USERNAME + JIRA_API_TOKEN (or CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN)
    in environment variables. Server uses these to call Jira/Confluence.
    This is the documented quickstart pattern.&lt;/p&gt;
&lt;p&gt;Pattern B (multi-user, OAuth or per-request PAT): operator sets up OAuth
    proxy or accepts per-user tokens via Authorization or service headers.&lt;/p&gt;
&lt;p&gt;The authentication mechanism in HTTP transport has two issues that combine
to permit unauthenticated access to Pattern A deployments:&lt;/p&gt;
&lt;p&gt;1. AtlassianOpaqueTokenVerifier.verify_token() at
   `src/mcp_atlassian/utils/token_verifier.py` accepts any non-empty string
   as a valid token:&lt;/p&gt;
&lt;p&gt;async def verify_token(self, token: str) -&amp;gt; AccessToken | None:
           if not token:
               return None
           scopes = self.required_scopes or []
           return AccessToken(
               token=token,
               client_id=&amp;#34;atlassian&amp;#34;,
               scopes=scopes,
               expires_at=int(time.time()) + 86400 * 30,
           )&lt;/p&gt;
&lt;p&gt;The docstring documents this: &amp;#34;we accept non-empty tokens and attach
   the required scopes.&amp;#34;&lt;/p&gt;
&lt;p&gt;2. The default deployment does NOT enable the OAuth proxy auth provider
   (OAUTH_PROXY_ENABLE_ENV defaults to false; main.py:726). When
   `_build_auth_provider()` returns None, FastMCP HTTP transport accepts
   requests with no authentication challenge.&lt;/p&gt;
&lt;p&gt;3. `User…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-wrhw-j3f9-8vc6</guid>
    </item>
  </channel>
</rss>
