<?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://vulnerability.circl.lu</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>Thu, 01 Oct 2026 16:53:53 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-77266</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-77266</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, upload_attachment accepts absolute paths and traversal sequences without constraining the resolved path to the server workspace. An MCP caller with attachment access can read a chosen server-local file and exfiltrate it through Jira or Confluence. The advisory traces the vulnerable input and processing flow through upload_attachment, file_path, and path traversal, 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, upload_attachment accepts absolute paths and traversal sequences without constraining the resolved path to the server workspace. An MCP caller with attachment access can read a chosen server-local file and exfiltrate it through Jira or Confluence. The advisory traces the vulnerable input and processing flow through upload_attachment, file_path, and path traversal, 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://vulnerability.circl.lu/vuln/fkie_cve-2026-77266</guid>
    </item>
    <item>
      <title>GHSA-mfv2-4wvm-9pgp — MCP Atlassian: Path traversal in upload_attachment allows arbitrary file read and exfiltration via MCP tool call</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-mfv2-4wvm-9pgp</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 `upload_attachment` functions in both the Jira and Confluence modules accept a user-controlled `file_path` parameter and open the specified file for reading **without calling `validate_safe_path()`**. An authenticated MCP client can supply an arbitrary path such as `/etc/passwd` or `/proc/self/environ`, causing the server process to read and transmit the file&amp;#39;s contents to the remote Atlassian instance as an attachment.&lt;/p&gt;
&lt;p&gt;This is an **incomplete fix** relative to GHSA-xjgw-4wvw-rgm4: the `download_attachment` and `download_issue_attachments` paths were hardened with `validate_safe_path()`, but the upload direction was left unguarded in both the Jira and Confluence modules.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Affected functions:**&lt;/p&gt;
&lt;p&gt;| File | Function | Line |
|------|----------|------|
| `src/mcp_atlassian/jira/attachments.py` | `upload_attachment()` | ~372–415 |
| `src/mcp_atlassian/confluence/attachments.py` | `upload_attachment()` | ~62–108 |
| `src/mcp_atlassian/confluence/attachments.py` | `_upload_attachment_direct()` | ~476–477 |&lt;/p&gt;
&lt;p&gt;**Jira — vulnerable code path (`jira/attachments.py`):**&lt;/p&gt;
&lt;p&gt;```python
def upload_attachment(self, issue_key: str, file_path: str) -&amp;gt; dict:
    ...
    if not os.path.isabs(file_path):
        file_path = os.path.abspath(file_path)   # resolves relative paths&lt;/p&gt;
&lt;p&gt;if not os.path.exists(file_path):             # confirms file exists
        ...&lt;/p&gt;
&lt;p&gt;# ⚠ validate_safe_path() is NEVER called here
    filename = os.path.basename(file_path)
    with…&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 `upload_attachment` functions in both the Jira and Confluence modules accept a user-controlled `file_path` parameter and open the specified file for reading **without calling `validate_safe_path()`**. An authenticated MCP client can supply an arbitrary path such as `/etc/passwd` or `/proc/self/environ`, causing the server process to read and transmit the file&amp;#39;s contents to the remote Atlassian instance as an attachment.&lt;/p&gt;
&lt;p&gt;This is an **incomplete fix** relative to GHSA-xjgw-4wvw-rgm4: the `download_attachment` and `download_issue_attachments` paths were hardened with `validate_safe_path()`, but the upload direction was left unguarded in both the Jira and Confluence modules.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Affected functions:**&lt;/p&gt;
&lt;p&gt;| File | Function | Line |
|------|----------|------|
| `src/mcp_atlassian/jira/attachments.py` | `upload_attachment()` | ~372–415 |
| `src/mcp_atlassian/confluence/attachments.py` | `upload_attachment()` | ~62–108 |
| `src/mcp_atlassian/confluence/attachments.py` | `_upload_attachment_direct()` | ~476–477 |&lt;/p&gt;
&lt;p&gt;**Jira — vulnerable code path (`jira/attachments.py`):**&lt;/p&gt;
&lt;p&gt;```python
def upload_attachment(self, issue_key: str, file_path: str) -&amp;gt; dict:
    ...
    if not os.path.isabs(file_path):
        file_path = os.path.abspath(file_path)   # resolves relative paths&lt;/p&gt;
&lt;p&gt;if not os.path.exists(file_path):             # confirms file exists
        ...&lt;/p&gt;
&lt;p&gt;# ⚠ validate_safe_path() is NEVER called here
    filename = os.path.basename(file_path)
    with…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-mfv2-4wvm-9pgp</guid>
    </item>
  </channel>
</rss>
