<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Joker (&lt; 1.8.2) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/joker--1.8.2/</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>Thu, 10 Sep 2026 00:51:19 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/joker--1.8.2/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Arbitrary Code Execution in Joker Linter via Malicious Project-Local Configuration</title><link>https://feed.craftedsignal.io/briefs/2026-09-joker-linter-rce/</link><pubDate>Thu, 10 Sep 2026 00:51:19 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-joker-linter-rce/</guid><description>Joker versions before 1.8.2 are vulnerable to arbitrary code execution because the linter automatically traverses directory structures to execute project-local 'linter.*' files, allowing execution of attacker-supplied code within untrusted repositories.</description><content:encoded><![CDATA[<p>Joker versions before 1.8.2 are vulnerable to arbitrary code execution (CVE-2026-59172) due to insecure handling of linter configuration files. When the <code>joker --lint</code> command is executed, the application performs a directory traversal, walking up the file system from the target file to locate a <code>.jokerd/</code> directory. If found, the linter automatically executes any matching <code>linter.*</code> files (e.g., <code>linter.clj</code>, <code>linter.cljs</code>) located within that directory. Because these files contain executable Joker or Clojure code, an attacker can place malicious scripts inside a <code>.jokerd/</code> directory within a repository. If a user or automated CI/CD pipeline runs the Joker linter against files in the compromised repository, the linter will execute the attacker's code with the privileges of the user running the process. This is particularly dangerous for developers using IDE integrations that automatically trigger linters on opened or saved files.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a target repository or project that utilizes the Joker linter for code quality checks.</li>
<li>Attacker creates a hidden directory named <code>.jokerd/</code> in the root of the repository or a subdirectory.</li>
<li>Attacker writes a malicious script into a file such as <code>linter.clj</code> within the <code>.jokerd/</code> folder.</li>
<li>Attacker submits a pull request, clones the repository, or lures a victim into opening the repository in an editor.</li>
<li>The victim or an automated CI/CD server triggers <code>joker --lint &lt;target_file&gt;</code> on the repository.</li>
<li>The Joker binary traverses the directory structure, identifies the malicious <code>.jokerd/linter.clj</code> file, and loads it into the interpreter.</li>
<li>The malicious code executes, resulting in unauthorized command execution under the context of the user or CI service account.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for arbitrary code execution on the host machine running the Joker linter. This impacts developers, build servers, and automated linting environments. Attackers can leverage this to gain initial access to development environments, exfiltrate environment variables, compromise CI pipelines, or move laterally within a development infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized actions for detection and remediation:</p>
<ul>
<li>Upgrade Joker to version 1.8.2 or later immediately to restrict linter configuration loading to the user-specific <code>~/.jokerd/</code> directory.</li>
<li>Implement a policy in CI/CD environments to audit or block repositories containing <code>.jokerd/</code> directories if they are not explicitly managed by the organization.</li>
<li>Deploy detection rules to identify command-line executions of <code>joker --lint</code> that coincide with unexpected file system access to <code>.jokerd</code> subdirectories in application project paths.</li>
<li>Prioritize patching CVE-2026-59172 on all build servers and developer workstations where Joker is utilized.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>remote-code-execution</category><category>vulnerability</category><category>development-tools</category></item></channel></rss>