<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-18T02:56:40.165577+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-277243</id>
    <title>EUVD-2026-277243</title>
    <updated>2026-10-18T02:56:40.169386+00:00</updated>
    <content>EUVD-2026-277243</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-277243"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-33675</id>
    <title>fkie_cve-2026-33675</title>
    <updated>2026-10-18T02:56:40.169429+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Vikunja is an open-source self-hosted task management platform. Prior to version 2.2.1, the migration helper functions `DownloadFile` and `DownloadFileWithHeaders` in `pkg/modules/migration/helpers.go` make arbitrary HTTP GET requests without any SSRF protection. When a user triggers a Todoist or Trello migration, file attachment URLs from the third-party API response are passed directly to these functions, allowing an attacker to force the Vikunja server to fetch internal network resources and return the response as a downloadable task attachment. Version 2.2.1 patches the issue.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-33675"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-g66v-54v9-52pr</id>
    <title>GHSA-g66v-54v9-52pr — Vikunja has SSRF via Todoist/Trello Migration File Attachment URLs that Allows Reading Internal Network Resources</title>
    <updated>2026-10-18T02:56:40.169480+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: code.vikunja.io/api</p>
<p>## Summary</p>
<p>The migration helper functions `DownloadFile` and `DownloadFileWithHeaders` in `pkg/modules/migration/helpers.go` make arbitrary HTTP GET requests without any SSRF protection. When a user triggers a Todoist or Trello migration, file attachment URLs from the third-party API response are passed directly to these functions, allowing an attacker to force the Vikunja server to fetch internal network resources and return the response as a downloadable task attachment.</p>
<p>## Details</p>
<p>The vulnerability exists because the migration HTTP client uses a plain `http.Client{}` with no URL validation, no private IP blocklist, no redirect restrictions, and no response size limit.</p>
<p>**Vulnerable code** in `pkg/modules/migration/helpers.go:38-59`:
```go
func DownloadFileWithHeaders(url string, headers http.Header) (buf *bytes.Buffer, err error) {
	req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, url, nil)
	if err != nil {
		return nil, err
	}
	// ... headers added ...
	hc := http.Client{}
	resp, err := hc.Do(req)
	// ... no URL validation, no IP filtering ...
	buf = &amp;bytes.Buffer{}
	_, err = buf.ReadFrom(resp.Body) // no size limit
	return
}
```</p>
<p>**Call site in Todoist migration** (`pkg/modules/migration/todoist/todoist.go:433-435`):
```go
if len(n.FileAttachment.FileURL) &gt; 0 {
	buf, err := migration.DownloadFile(n.FileAttachment.FileURL)
```</p>
<p>The `FileURL` is deserialized directly from the Todoist Sync API response (`json:"file_url"` tag at line 125) with…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-g66v-54v9-52pr"/>
  </entry>
</feed>
