<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Gotenberg (&gt;= 8.10.0, &lt;= 8.32.0) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/gotenberg--8.10.0--8.32.0/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 29 May 2026 16:57:25 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/gotenberg--8.10.0--8.32.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>Gotenberg Denial-of-Service Vulnerability via Multipart downloadFrom Handling</title><link>https://feed.craftedsignal.io/briefs/2026-05-gotenberg-dos/</link><pubDate>Fri, 29 May 2026 16:57:25 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-gotenberg-dos/</guid><description>Gotenberg is vulnerable to a remote denial-of-service (DoS) in multipart `downloadFrom` handling, where a crafted multipart request with multiple `downloadFrom` entries causes concurrent goroutines to write to shared maps without synchronization, leading to process termination.</description><content:encoded><![CDATA[<p>Gotenberg versions 8.10.0 through 8.32.0 are susceptible to a remote denial-of-service (DoS) vulnerability due to a race condition in how it handles multipart requests with multiple <code>downloadFrom</code> entries. This vulnerability arises because the <code>newContext</code> function, responsible for parsing multipart requests, initiates concurrent goroutines for each <code>downloadFrom</code> entry. These goroutines then attempt to write to shared maps without proper synchronization, leading to a fatal runtime crash due to concurrent map writes. The vulnerable <code>downloadFrom</code> feature was introduced in commit <code>f2b6bd3d</code>. In the default Gotenberg configuration, the <code>downloadFrom</code> feature is enabled, and authentication is disabled, making exposed instances vulnerable to unauthenticated remote attackers.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker sends a crafted HTTP POST request to a Gotenberg multipart conversion endpoint.</li>
<li>The request includes a <code>Content-Type</code> header set to <code>multipart/form-data</code>.</li>
<li>The request contains a <code>downloadFrom</code> field with a JSON payload consisting of multiple URLs.</li>
<li>The <code>newContext</code> function parses the multipart request and extracts the <code>downloadFrom</code> field.</li>
<li>For each URL in the <code>downloadFrom</code> payload, a new goroutine is spawned using <code>errgroup.Go()</code>.</li>
<li>Each goroutine attempts to download the file from the specified URL.</li>
<li>After downloading (or failing to download), each goroutine attempts to write to shared maps (<code>ctx.files</code>, <code>ctx.diskToOriginal</code>, <code>ctx.filesByField</code>) within the request context.</li>
<li>Due to the lack of synchronization mechanisms, concurrent writes to these maps occur, resulting in a runtime crash (fatal error: concurrent map writes), causing a denial of service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability leads to a denial-of-service (DoS) condition. Any Gotenberg deployment that exposes multipart conversion endpoints with the <code>downloadFrom</code> feature enabled is potentially vulnerable. The default configuration, where <code>downloadFrom</code> is enabled and authentication is disabled, makes internet-exposed deployments susceptible to unauthenticated process termination. This vulnerability directly impacts the availability of the Gotenberg service but does not compromise confidentiality or integrity.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to Gotenberg version 8.33.0 or later, which contains the fix for CVE-2026-45742.</li>
<li>If upgrading is not immediately feasible, disable the <code>downloadFrom</code> feature in Gotenberg&rsquo;s configuration to mitigate the vulnerability.</li>
<li>Monitor web server logs for POST requests to multipart conversion endpoints containing a large number of <code>downloadFrom</code> parameters, which could indicate an attempted exploitation.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>race-condition</category><category>webserver</category></item></channel></rss>