<?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>Tue, 29 Sep 2026 10:32:43 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-45742</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-45742</link>
      <description>&lt;p&gt;Gotenberg is a Docker-powered stateless API for PDF files. From 8.10.0 until 8.33.0, the newContext function in pkg/modules/api/context.go starts one errgroup.Go goroutine for each multipart downloadFrom entry and allows those goroutines to concurrently write to the shared ctx.files, ctx.diskToOriginal, and ctx.filesByField maps and slices. Go maps and slices are not safe for concurrent mutation, so a crafted multipart request containing many downloadFrom entries can trigger a data race and terminate the process with a fatal concurrent map writes runtime error. The default configuration enables downloadFrom and disables authentication, allowing an unauthenticated remote attacker to crash an exposed conversion service and cause a denial of service. This issue is fixed in version 8.33.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Gotenberg is a Docker-powered stateless API for PDF files. From 8.10.0 until 8.33.0, the newContext function in pkg/modules/api/context.go starts one errgroup.Go goroutine for each multipart downloadFrom entry and allows those goroutines to concurrently write to the shared ctx.files, ctx.diskToOriginal, and ctx.filesByField maps and slices. Go maps and slices are not safe for concurrent mutation, so a crafted multipart request containing many downloadFrom entries can trigger a data race and terminate the process with a fatal concurrent map writes runtime error. The default configuration enables downloadFrom and disables authentication, allowing an unauthenticated remote attacker to crash an exposed conversion service and cause a denial of service. This issue is fixed in version 8.33.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-45742</guid>
    </item>
    <item>
      <title>GHSA-vp73-vjw8-8f32 — Gotenberg has a Race Condition via Multipart `downloadFrom` Handling</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-vp73-vjw8-8f32</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/gotenberg/gotenberg/v8&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;Gotenberg is vulnerable to a remote denial of service in multipart `downloadFrom` handling.&lt;/p&gt;
&lt;p&gt;A multipart request containing multiple `downloadFrom` entries causes concurrent goroutines to write to shared maps without synchronization. This can terminate the process with `fatal error: concurrent map writes`.&lt;/p&gt;
&lt;p&gt;In the default configuration, `downloadFrom` is enabled and authentication is disabled, so an exposed instance can be crashed by an unauthenticated remote attacker.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The issue is in `pkg/modules/api/context.go`.&lt;/p&gt;
&lt;p&gt;`newContext` parses multipart requests and processes the `downloadFrom` form field before the route handler runs. For each `downloadFrom` entry, it starts a goroutine via `errgroup.Go()`:&lt;/p&gt;
&lt;p&gt;- `pkg/modules/api/context.go:221`&lt;/p&gt;
&lt;p&gt;Each goroutine downloads a file and then writes to request context maps shared by all goroutines:&lt;/p&gt;
&lt;p&gt;- `ctx.files[filename] = path`
- `ctx.diskToOriginal[path] = filename`
- `ctx.filesByField[...] = append(...)`&lt;/p&gt;
&lt;p&gt;Affected lines in current `main`:&lt;/p&gt;
&lt;p&gt;- `pkg/modules/api/context.go:395`
- `pkg/modules/api/context.go:396`
- `pkg/modules/api/context.go:401`&lt;/p&gt;
&lt;p&gt;Go maps and slices are not safe for concurrent writes. A crafted multipart request with many `downloadFrom` entries can therefore trigger a runtime crash.&lt;/p&gt;
&lt;p&gt;The vulnerable `downloadFrom` feature was introduced in commit `f2b6bd3d`. The first tagged release containing this code appears to be `v8.10.0`.&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;The following self-contained command creates a temporary test…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/gotenberg/gotenberg/v8&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;Gotenberg is vulnerable to a remote denial of service in multipart `downloadFrom` handling.&lt;/p&gt;
&lt;p&gt;A multipart request containing multiple `downloadFrom` entries causes concurrent goroutines to write to shared maps without synchronization. This can terminate the process with `fatal error: concurrent map writes`.&lt;/p&gt;
&lt;p&gt;In the default configuration, `downloadFrom` is enabled and authentication is disabled, so an exposed instance can be crashed by an unauthenticated remote attacker.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The issue is in `pkg/modules/api/context.go`.&lt;/p&gt;
&lt;p&gt;`newContext` parses multipart requests and processes the `downloadFrom` form field before the route handler runs. For each `downloadFrom` entry, it starts a goroutine via `errgroup.Go()`:&lt;/p&gt;
&lt;p&gt;- `pkg/modules/api/context.go:221`&lt;/p&gt;
&lt;p&gt;Each goroutine downloads a file and then writes to request context maps shared by all goroutines:&lt;/p&gt;
&lt;p&gt;- `ctx.files[filename] = path`
- `ctx.diskToOriginal[path] = filename`
- `ctx.filesByField[...] = append(...)`&lt;/p&gt;
&lt;p&gt;Affected lines in current `main`:&lt;/p&gt;
&lt;p&gt;- `pkg/modules/api/context.go:395`
- `pkg/modules/api/context.go:396`
- `pkg/modules/api/context.go:401`&lt;/p&gt;
&lt;p&gt;Go maps and slices are not safe for concurrent writes. A crafted multipart request with many `downloadFrom` entries can therefore trigger a runtime crash.&lt;/p&gt;
&lt;p&gt;The vulnerable `downloadFrom` feature was introduced in commit `f2b6bd3d`. The first tagged release containing this code appears to be `v8.10.0`.&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;The following self-contained command creates a temporary test…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-vp73-vjw8-8f32</guid>
    </item>
  </channel>
</rss>
