<?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>Docker — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/docker/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 03 Apr 2026 23:14:15 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/docker/feed.xml" rel="self" type="application/rss+xml"/><item><title>BentoML SSTI via Unsandboxed Jinja2 in Dockerfile Generation</title><link>https://feed.craftedsignal.io/briefs/2024-02-bentoml-ssti/</link><pubDate>Fri, 03 Apr 2026 23:14:15 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-02-bentoml-ssti/</guid><description>BentoML versions 1.4.37 and earlier are vulnerable to server-side template injection (SSTI), where the Dockerfile generation function uses an unsandboxed jinja2.Environment allowing arbitrary Python code execution on the host machine when a malicious bento archive is imported and containerized, bypassing container isolation and potentially granting full access to the host filesystem and environment variables.</description><content:encoded><![CDATA[<p>BentoML versions 1.4.37 and earlier contain a critical vulnerability related to server-side template injection (SSTI). The vulnerability stems from the use of an unsandboxed Jinja2 environment within the <code>generate_containerfile()</code> function, which is responsible for creating Dockerfiles. By crafting a malicious bento archive containing a specially crafted <code>dockerfile_template</code>, an attacker can inject arbitrary Python code that executes directly on the host machine when a victim imports and containerizes the bento using <code>bentoml containerize</code>. This vulnerability bypasses all container isolation mechanisms and gives the attacker full access to the host&rsquo;s filesystem, environment variables, and potentially other sensitive information. The lack of input validation during the import process allows the malicious template to be embedded within the bento archive undetected until the containerization process.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious <code>bentofile.yaml</code> file containing a <code>dockerfile_template</code> directive pointing to a Jinja2 template with an SSTI payload.</li>
<li>The attacker builds a bento using <code>bentoml build</code>, which copies the malicious template into the bento archive at <code>env/docker/Dockerfile.template</code>.</li>
<li>The attacker exports the bento as a <code>.bento</code> or <code>.tar.gz</code> archive and distributes it to victims.</li>
<li>A victim imports the malicious bento archive using <code>bentoml import bento.tar</code>. No validation of the template content is performed during the import.</li>
<li>The victim attempts to containerize the imported bento using <code>bentoml containerize</code>, triggering the <code>construct_containerfile()</code> function.</li>
<li>The <code>construct_containerfile()</code> function detects the presence of the <code>Dockerfile.template</code> and sets the <code>dockerfile_template</code> attribute in the Docker options.</li>
<li>The <code>generate_containerfile()</code> function loads the attacker-controlled template into an unsandboxed Jinja2 environment.</li>
<li>The template is rendered, resulting in arbitrary Python code execution on the victim&rsquo;s host machine, outside of any containerized environment. This allows the attacker to achieve full host compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows arbitrary code execution on the host machine of any user who imports and containerizes the malicious bento archive. This provides the attacker with: full access to the host filesystem, the ability to install backdoors or pivot to other systems, and access to sensitive information such as credentials and API keys stored in environment variables. Due to the placement of the malicious code within a bento archive, and the nature of the containerize operation, users may be unaware of the risk and impact of this vulnerability.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the patched version of BentoML (later than 1.4.37) to remediate CVE-2026-35044.</li>
<li>Deploy the Sigma rule &ldquo;Detect BentoML SSTI Payload in Dockerfile Template&rdquo; to identify potentially malicious Jinja2 templates being written to disk.</li>
<li>Monitor process creation events for the execution of suspicious commands originating from the <code>bentoml</code> process, particularly after importing a bento archive, to catch potential exploitation attempts using the rule &ldquo;Detect Suspicious Process Execution from BentoML&rdquo;.</li>
<li>Implement strict input validation and sanitization for any user-provided templates or configuration files to prevent server-side template injection vulnerabilities, as described in the overview.</li>
<li>Review and restrict the extensions used within the Jinja2 environment to only those absolutely necessary for Dockerfile generation, following the recommended fix in the source.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>ssti</category><category>bentoml</category><category>code-execution</category><category>docker</category></item><item><title>Moby Authorization Plugin Bypass via Oversized Request Bodies</title><link>https://feed.craftedsignal.io/briefs/2026-04-moby-authz-bypass/</link><pubDate>Fri, 27 Mar 2026 17:44:58 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-moby-authz-bypass/</guid><description>A vulnerability in Moby allows attackers to bypass authorization plugins by crafting API requests with oversized bodies, causing the Docker daemon to forward the request without the body to the plugin, potentially leading to unauthorized actions.</description><content:encoded><![CDATA[<p>A vulnerability exists in Moby (Docker) that can be exploited to bypass authorization plugins (AuthZ) when processing API requests. This vulnerability occurs because the Docker daemon may forward a request to an authorization plugin without the request body if the body is oversized. This incomplete fix for CVE-2024-41110 allows an attacker to craft a specific API request that triggers this behavior. This could lead to an AuthZ plugin making incorrect authorization decisions, potentially allowing unauthorized actions to be performed. This affects deployments that rely on AuthZ plugins that inspect the request body for access control. The vulnerable packages include <code>go/github.com/moby/moby</code> (versions prior to 29.3.1), <code>go/github.com/docker/docker</code> (versions prior to 29.3.1), and <code>go/github.com/moby/moby/v2</code> (versions prior to 2.0.0-beta.8).</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a Docker environment utilizing an AuthZ plugin that relies on request body inspection for authorization.</li>
<li>Attacker crafts a malicious Docker API request targeting a sensitive resource or action.</li>
<li>The attacker inflates the request body to exceed a size threshold that triggers the bypass behavior.</li>
<li>The Docker daemon receives the oversized API request.</li>
<li>Due to the vulnerability, the Docker daemon forwards the request to the AuthZ plugin without the request body.</li>
<li>The AuthZ plugin, lacking the request body, makes an authorization decision based on incomplete information.</li>
<li>The AuthZ plugin, unable to properly validate the request, grants access to the sensitive resource or action.</li>
<li>The attacker successfully executes the unauthorized action, bypassing the intended security controls.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability primarily impacts Docker environments that utilize authorization plugins and rely on request body inspection for access control decisions. If exploited successfully, an attacker can bypass the intended authorization mechanisms, potentially leading to unauthorized access to sensitive resources, data breaches, or other malicious activities within the containerized environment. The severity is high for affected installations, however, the base likelihood of exploitation is low, and only impacts those using AuthZ plugins.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to Moby version 29.3.1 or later to address the vulnerability. This resolves the incomplete fix for CVE-2024-41110 and prevents the AuthZ bypass.</li>
<li>For environments where immediate upgrades are not possible, avoid using AuthZ plugins that rely on request body inspection for security decisions as described in the overview.</li>
<li>Restrict access to the Docker API to trusted parties following the principle of least privilege to reduce the attack surface.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>docker</category><category>authz</category><category>authorization</category><category>bypass</category><category>cve-2026-34040</category></item></channel></rss>