<?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>ArchiveBox — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/archivebox/</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>Tue, 09 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/archivebox/feed.xml" rel="self" type="application/rss+xml"/><item><title>ArchiveBox RCE via Unvalidated Configuration Overrides</title><link>https://feed.craftedsignal.io/briefs/2024-01-archivebox-rce/</link><pubDate>Tue, 09 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-archivebox-rce/</guid><description>ArchiveBox versions 0.8.6rc0 and earlier are vulnerable to remote code execution (RCE) due to unvalidated configuration overrides in the AddView (/add/ endpoint) allowing arbitrary command execution.</description><content:encoded><![CDATA[<p>ArchiveBox versions up to and including 0.8.6rc0 are susceptible to a critical remote code execution (RCE) vulnerability. The vulnerability stems from the <code>/add/</code> endpoint (AddView in <code>core/views.py</code>), which accepts a <code>config</code> JSON field. This field is merged into the crawl configuration without proper validation. When <code>PUBLIC_ADD_VIEW=True</code>, this allows unauthenticated users to inject arbitrary tool arguments, leading to command execution on the server. This is achieved by manipulating environment variables used by archive plugins like yt-dlp and gallery-dl. The endpoint is also <code>@csrf_exempt</code>, further easing exploitation. Exploitation allows attackers to execute arbitrary commands on the ArchiveBox server, potentially leading to complete system compromise.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker (when <code>PUBLIC_ADD_VIEW=True</code>) sends a POST request to the <code>/add/</code> endpoint.</li>
<li>The attacker includes a <code>config</code> parameter in the POST data containing a JSON object.</li>
<li>This JSON object includes a key like <code>YTDLP_ARGS_EXTRA</code> or <code>GALLERYDL_ARGS_EXTRA</code> with a crafted value.</li>
<li>The <code>AddView</code> in <code>core/views.py</code> extracts the <code>config</code> data without validation.</li>
<li>The extracted configuration is merged into the crawl configuration.</li>
<li>The crawl configuration is exported as environment variables.</li>
<li>The yt-dlp or gallery-dl plugin executes, using the injected environment variables as arguments.</li>
<li>The attacker-controlled arguments, such as <code>--exec &quot;id &gt; /tmp/pwned&quot;</code>, are passed to yt-dlp or gallery-dl, resulting in arbitrary command execution.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows unauthenticated attackers to execute arbitrary commands on the ArchiveBox server. The impact includes potential for complete system compromise, data exfiltration, or denial-of-service. This vulnerability is particularly critical when the <code>PUBLIC_ADD_VIEW</code> setting is enabled, which is a common configuration for bookmarklet usage, making the attack pre-authentication.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of ArchiveBox beyond 0.8.6rc0 to remediate CVE-2026-42601.</li>
<li>As a temporary mitigation, disable the <code>PUBLIC_ADD_VIEW</code> setting to prevent unauthenticated access to the vulnerable endpoint.</li>
<li>Deploy the Sigma rule &ldquo;Detect ArchiveBox Configuration Injection&rdquo; to identify attempts to inject malicious configurations via the <code>/add/</code> endpoint.</li>
<li>Monitor web server logs for POST requests to <code>/add/</code> containing a <code>config</code> parameter with suspicious values in keys such as <code>YTDLP_ARGS_EXTRA</code> or <code>GALLERYDL_ARGS_EXTRA</code>.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>rce</category><category>vulnerability</category><category>archivebox</category></item></channel></rss>