<?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>Npm — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/npm/</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>Sat, 02 May 2026 00:10:33 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/npm/feed.xml" rel="self" type="application/rss+xml"/><item><title>Increased npm Supply Chain Attacks Targeting SAP Developers</title><link>https://feed.craftedsignal.io/briefs/2026-05-npm-supply-chain/</link><pubDate>Sat, 02 May 2026 00:10:33 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-npm-supply-chain/</guid><description>Threat actors are compromising npm packages, including those targeting SAP developers, to steal credentials, embed themselves in CI/CD pipelines, and deploy multi-stage payloads using techniques like wormable propagation and covert C2 channels on GitHub.</description><content:encoded><![CDATA[<p>The npm ecosystem is experiencing a surge in sophisticated supply chain attacks following the Shai-Hulud worm in September 2025. Attackers, including TeamPCP, are actively compromising npm packages to gain access to sensitive information and establish persistence within CI/CD pipelines. The attacks have evolved to include wormable propagation, infrastructure-level persistence, and multi-stage payloads designed to evade detection. In April 2026, two campaigns were observed: one included the string &ldquo;Shai-Hulud: The Third Coming,&rdquo; and the other, dubbed &ldquo;Mini Shai-Hulud,&rdquo; targeted the SAP developer ecosystem. The compromised packages are often part of SAP&rsquo;s Cloud Application Programming (CAP) Model and multitarget application (MTA) build toolchain, increasing the likelihood of impacting enterprise developers and CI/CD pipelines with access to cloud credentials and GitHub tokens.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Initial Compromise: Attackers compromise legitimate npm packages, such as @cap-js/sqlite, @cap-js/postgres, @cap-js/db-service, and mbt, by injecting malicious code.</li>
<li>Malicious Code Injection: Compromised packages receive two new files: setup.mjs and execution.js, along with a modified package.json containing a &ldquo;preinstall&rdquo; hook.</li>
<li>Execution of setup.mjs: During the <code>npm install</code> process, the preinstall hook executes setup.mjs, which detects the host OS and architecture.</li>
<li>Bun Runtime Download and Execution: setup.mjs downloads the Bun JavaScript runtime (v1.3.13) from GitHub releases and extracts it to a temporary directory.</li>
<li>Execution of execution.js: The Bun runtime executes execution.js, a large (11.7 MB) obfuscated credential stealer and propagation framework.</li>
<li>Credential Harvesting: execution.js harvests GitHub tokens, npm tokens, environment variables, GitHub Actions secrets, AWS STS identity, Azure Key Vault secrets, GCP Secret Manager values, and Kubernetes service account tokens. It also targets Claude and MCP configuration files and Electrum wallets.</li>
<li>Data Exfiltration: The collected data is compressed, encrypted, and exfiltrated to freshly created public GitHub repositories with randomized names and descriptions.</li>
<li>Propagation: The malware searches for commits containing the keyword &ldquo;OhNoWhatsGoingOnWithGitHub,&rdquo; decodes matching commit messages as a token dead-drop, recovers stolen GitHub tokens, and uses them to spread the malware to other packages.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Compromised npm packages can lead to the theft of sensitive credentials, including cloud provider credentials, GitHub tokens, and CI/CD secrets. Successful attacks can result in unauthorized access to cloud infrastructure, code repositories, and deployment pipelines. The Mini Shai-Hulud campaign targeted packages with approximately 570,000 weekly downloads, potentially impacting a large number of SAP developers and enterprise environments. The attackers use stolen credentials to further propagate the malware, increasing the scale and scope of the compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Rotate npm tokens and GitHub Personal Access Tokens (PATs) immediately if any affected packages were installed (refer to the list of affected packages in the IOC table).</li>
<li>Monitor npm install processes for unexpected execution of <code>node setup.mjs</code> (see Attack Chain).</li>
<li>Implement the Sigma rule &ldquo;Detect Suspicious Bun Process Execution&rdquo; to identify potential execution of the Bun runtime from temporary directories.</li>
<li>Monitor network connections for unusual processes connecting to <code>api.github[.]com/search/commits?q=OhNoWhatsGoingOnWithGitHub</code> (see IOCs) to detect potential C2 activity.</li>
<li>Deploy the Sigma rule &ldquo;Detect Github Commit By Claude Email&rdquo; to identify commits authored with the email <code>claude@users.noreply.github.com</code> to detect malicious commits.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category><category>npm</category><category>supply-chain</category><category>credential-theft</category><category>github</category></item><item><title>n8n XML Node Prototype Pollution Leading to RCE</title><link>https://feed.craftedsignal.io/briefs/2024-01-n8n-rce/</link><pubDate>Wed, 29 Apr 2026 21:25:53 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-n8n-rce/</guid><description>A vulnerability in n8n allows authenticated users with workflow creation permissions to achieve remote code execution (RCE) through global prototype pollution via the XML Node in versions prior to 1.123.32, versions 2.17.0 to 2.17.4, and versions 2.18.0 to 2.18.1.</description><content:encoded><![CDATA[<p>A critical vulnerability, CVE-2026-42232, exists within the n8n workflow automation tool. This flaw allows an authenticated user, who possesses permissions to create or modify workflows, to achieve remote code execution (RCE). The attack vector involves exploiting global prototype pollution through the XML Node. Versions affected include those prior to 1.123.32, versions 2.17.0 up to but not including 2.17.4, and versions 2.18.0 up to but not including 2.18.1. Defenders should prioritize patching n8n instances due to the high potential for complete system compromise if exploited.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to an n8n instance with workflow creation/modification privileges.</li>
<li>The attacker crafts a malicious workflow that leverages the XML Node to inject a payload designed to trigger prototype pollution.</li>
<li>The crafted XML node manipulates global object prototypes within the n8n application.</li>
<li>The attacker introduces a property into a global object prototype that can be exploited by another node.</li>
<li>The attacker adds a secondary node (e.g., Function node) that leverages the polluted prototype property.</li>
<li>The secondary node&rsquo;s execution triggers the polluted prototype, leading to arbitrary code execution.</li>
<li>The attacker executes arbitrary commands on the n8n server.</li>
<li>The attacker gains complete control of the n8n server, potentially leading to data exfiltration, lateral movement, or other malicious activities.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to execute arbitrary code on the n8n server. This can lead to full system compromise, including data exfiltration, credential theft, and lateral movement within the network. Given the nature of n8n as an automation platform, successful attacks can severely impact connected systems and services. This vulnerability affects n8n users who have not upgraded to patched versions.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade n8n to version 1.123.32, 2.17.4, 2.18.1, or later to remediate CVE-2026-42232.</li>
<li>As a temporary mitigation, limit workflow creation and editing permissions to only fully trusted users as suggested in the advisory.</li>
<li>As a temporary mitigation, disable the XML node by adding <code>n8n-nodes-base.xml</code> to the <code>NODES_EXCLUDE</code> environment variable as suggested in the advisory.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>rce</category><category>prototype pollution</category><category>n8n</category></item><item><title>n8n MCP OAuth Client XSS Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-n8n-xss-oauth/</link><pubDate>Wed, 29 Apr 2026 21:25:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-n8n-xss-oauth/</guid><description>n8n is vulnerable to cross-site scripting (XSS) via a malicious MCP OAuth client, allowing an unauthenticated attacker to inject arbitrary JavaScript into an authenticated user's session.</description><content:encoded><![CDATA[<p>n8n, a workflow automation platform, is susceptible to a cross-site scripting (XSS) vulnerability (CVE-2026-42235) related to the registration of malicious MCP OAuth clients. An unauthenticated attacker can register an OAuth client with a crafted <code>client_name</code> containing malicious JavaScript. This vulnerability exists in versions prior to 2.14.2 and also affects versions 2.17.0 to 2.17.3 and 2.18.0. A successful exploit allows the attacker to execute arbitrary JavaScript within a victim&rsquo;s authenticated n8n session, potentially leading to credential theft, session token theft, workflow manipulation, or privilege escalation. Defenders should prioritize patching to version 2.14.2 or later to mitigate the risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker registers a malicious MCP OAuth client with a crafted <code>client_name</code> containing XSS payload.</li>
<li>A victim user navigates to the n8n instance and is presented with the malicious OAuth consent dialog.</li>
<li>The victim user authorizes the malicious OAuth client, unknowingly injecting the attacker&rsquo;s script into their session.</li>
<li>A second user, possibly an administrator, revokes the OAuth access granted to the malicious client.</li>
<li>This revocation triggers a toast notification to the original victim user.</li>
<li>The toast notification renders the attacker&rsquo;s injected script from the crafted <code>client_name</code>.</li>
<li>The victim user clicks on the link within the toast notification.</li>
<li>The injected JavaScript executes within the victim&rsquo;s authenticated n8n browser session, enabling the attacker to perform malicious actions such as stealing credentials, manipulating workflows, or escalating privileges.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this XSS vulnerability can lead to significant compromise of an n8n instance. Attackers can steal user credentials and session tokens, allowing them to impersonate legitimate users. Malicious actors could also modify or create workflows, leading to data breaches, system disruption, or unauthorized access. Privilege escalation is also possible, potentially granting attackers administrative control over the n8n platform. The number of potential victims depends on the exposure and user base of the vulnerable n8n instances.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade n8n to version 2.14.2 or later to patch CVE-2026-42235, as recommended in the advisory.</li>
<li>Deploy the Sigma rule <code>Detect Suspicious n8n MCP OAuth Client Registration</code> to identify attempts to register OAuth clients with suspicious names.</li>
<li>If immediate patching is not feasible, restrict access to the n8n instance and the MCP OAuth registration endpoint to trusted users only, as suggested in the advisory&rsquo;s workaround.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>xss</category><category>oauth</category><category>n8n</category><category>CVE-2026-42235</category></item><item><title>n8n Prototype Pollution in XML Webhook Body Parser Leads to RCE</title><link>https://feed.craftedsignal.io/briefs/2026-04-n8n-rce/</link><pubDate>Wed, 29 Apr 2026 21:25:02 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-n8n-rce/</guid><description>A prototype pollution vulnerability in n8n's XML webhook parser, exploitable by authenticated users, can lead to remote code execution on the n8n host.</description><content:encoded><![CDATA[<p>A critical vulnerability exists within the n8n workflow automation platform, specifically affecting the parsing of XML request bodies in webhook handlers. This flaw stems from the use of the <code>xml2js</code> library, which is susceptible to prototype pollution attacks. An authenticated user possessing the capability to create or modify workflows can leverage this vulnerability by sending a specially crafted XML payload. Successful exploitation results in the pollution of the JavaScript object prototype. Attackers can chain this pollution with the Git node&rsquo;s SSH operations to achieve arbitrary remote code execution (RCE) on the underlying n8n host. The vulnerability affects n8n versions prior to 1.123.32, versions 2.17.0 to 2.17.3, and versions 2.18.0 to 2.18.0.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to the n8n instance.</li>
<li>The attacker crafts a malicious XML payload designed to exploit the prototype pollution vulnerability in the <code>xml2js</code> library.</li>
<li>The attacker creates or modifies a workflow containing a webhook node configured to receive XML data.</li>
<li>The attacker sends the crafted XML payload to the webhook endpoint.</li>
<li>The <code>xml2js</code> library parses the malicious XML, inadvertently polluting the JavaScript object prototype with attacker-controlled properties.</li>
<li>The attacker includes a Git node in the workflow.</li>
<li>The polluted prototype modifies the behavior of the Git node&rsquo;s SSH operations.</li>
<li>When the workflow executes, the Git node&rsquo;s SSH operation is hijacked due to the prototype pollution, leading to arbitrary code execution on the n8n host.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows a malicious actor to execute arbitrary code on the n8n server. This grants them complete control over the n8n instance and potentially the underlying infrastructure. The vulnerability impacts any n8n instance accessible to authenticated users who can create or modify workflows. The number of affected installations is unknown, but the potential impact is high due to the sensitive nature of workflows often managed by n8n, which can include access to other systems and data.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade n8n to version 1.123.32, 2.17.4, 2.18.1, or later to patch the vulnerability as described in the overview.</li>
<li>Deploy the Sigma rule &ldquo;Detect n8n Prototype Pollution via Crafted XML Payload&rdquo; to detect malicious XML payloads targeting the vulnerability. Enable webserver logs to activate this rule.</li>
<li>Limit workflow creation and editing permissions to trusted users to mitigate the risk of exploitation, as described in the workaround.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>prototype-pollution</category><category>rce</category><category>n8n</category></item><item><title>i18next-http-middleware Prototype Pollution and Path Traversal Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-i18next-http-middleware-vuln/</link><pubDate>Fri, 26 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-i18next-http-middleware-vuln/</guid><description>Versions of i18next-http-middleware before 3.9.3 are vulnerable to prototype pollution, path traversal, and server-side request forgery (SSRF) due to improper validation of user-controlled language and namespace parameters, potentially leading to denial of service or remote code execution.</description><content:encoded><![CDATA[<p>i18next-http-middleware versions prior to 3.9.3 are susceptible to prototype pollution, path traversal, and SSRF attacks. The vulnerability stems from the insufficient validation of the <code>lng</code> (language) and <code>ns</code> (namespace) parameters passed via HTTP requests to the <code>getResourcesHandler</code> and the <code>missingKeyHandler</code>. These handlers, intended to serve localization resources, expose attack surface because they process user-controlled input without proper sanitization. This allows attackers to manipulate object properties, access unintended files or internal services, and cause denial-of-service conditions. The vulnerability was discovered via an internal security audit. Defenders should upgrade to version 3.9.3 to remediate the risks.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker crafts an HTTP GET request to the <code>/locales/resources.json</code> endpoint, targeting the <code>getResourcesHandler</code>.</li>
<li>The request includes malicious <code>lng</code> and <code>ns</code> query parameters, such as <code>lng=__proto__&amp;ns=isAdmin</code>, or <code>ns=../../etc/passwd</code>.</li>
<li>The <code>getResourcesHandler</code> extracts the <code>lng</code> and <code>ns</code> parameters without sufficient validation.</li>
<li>The <code>lng</code> and <code>ns</code> values are passed to <code>utils.setPath(resources, [lng, ns], ...)</code> which allows writing to the Object prototype if <code>lng</code> is <code>__proto__</code>.</li>
<li>The <code>lng</code> and <code>ns</code> values are passed to <code>i18next.services.backendConnector.load(languages, namespaces, ...)</code> to load resource bundles. With filesystem or HTTP backends, this can enable path traversal or SSRF if <code>ns</code> or <code>lng</code> contain malicious path segments.</li>
<li>Alternatively, the attacker sends a POST request with a body containing a malicious <code>__proto__</code> key to <code>missingKeyHandler</code>, for example <code>{&quot;__proto__&quot;: {&quot;isAdmin&quot;: true}}</code>.</li>
<li>The <code>missingKeyHandler</code> iterates over the request body using <code>for...in</code>, including inherited prototype properties, and forwards the malicious data into <code>saveMissing</code>.</li>
<li>Successful exploitation leads to prototype pollution, arbitrary file access, SSRF, or denial of service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation can have significant consequences. Prototype pollution allows attackers to manipulate object properties globally, leading to broken authorization checks (e.g., bypassing <code>if (user.isAdmin)</code>), type confusion errors, or potentially remote code execution. Path traversal enables access to sensitive files on the server, like configuration files or password databases, while SSRF allows attackers to interact with internal services. Finally, the unbounded growth of the <code>i18next.options.ns</code> list and repeated backend load calls can lead to denial of service due to memory and CPU exhaustion. This can impact availability of the service and potentially other services on the same host.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>i18next-http-middleware</code> version 3.9.3 or later to address the vulnerabilities.</li>
<li>Deploy the Sigma rules provided below to detect exploitation attempts targeting the <code>getResourcesHandler</code> and <code>missingKeyHandler</code> endpoints.</li>
<li>If upgrading is not immediately feasible, implement a WAF rule as a partial mitigation to block requests containing <code>__proto__</code>, <code>constructor</code>, <code>prototype</code>, <code>..</code>, or control characters in <code>lng</code>/<code>ns</code> query parameters or body keys as suggested in the advisory.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>prototype-pollution</category><category>path-traversal</category><category>ssrf</category><category>denial-of-service</category><category>i18next</category></item><item><title>i18next-fs-backend Path Traversal Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-25-i18next-fs-backend-path-traversal/</link><pubDate>Thu, 25 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-25-i18next-fs-backend-path-traversal/</guid><description>i18next-fs-backend versions before 2.6.4 are vulnerable to path traversal due to insufficient sanitization of the lng and ns values, potentially allowing attackers to read arbitrary files, overwrite files, or execute code if .js or .ts locale files are in use.</description><content:encoded><![CDATA[<p>The i18next-fs-backend library, a file system backend for the i18next internationalization framework, is vulnerable to a path traversal attack in versions prior to 2.6.4. This vulnerability arises from the unsanitized use of the <code>lng</code> (language) and <code>ns</code> (namespace) parameters when constructing file paths for loading and writing locale files. If an application exposes the language code to user input, an attacker can craft a malicious <code>lng</code> or <code>ns</code> value containing directory traversal sequences (e.g., <code>../</code>) to escape the intended locale directory. Successful exploitation can lead to arbitrary file read, arbitrary file overwrite, and, if <code>.js</code> or <code>.ts</code> files are used for localization, arbitrary code execution. This vulnerability highlights the importance of input validation, especially when constructing file paths from user-controlled data. The vulnerability was patched in version 2.6.4.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies an application using a vulnerable version of <code>i18next-fs-backend</code> (versions prior to 2.6.4) and exposes the language code to user input via query parameters (e.g., <code>?lng=</code>), cookies, or request headers.</li>
<li>The attacker crafts a malicious <code>lng</code> value containing directory traversal sequences, such as <code>../../../../etc</code>, to target sensitive files outside the intended locale directory.</li>
<li>The attacker sends a request to the application with the crafted <code>lng</code> parameter.</li>
<li>The application passes the unsanitized <code>lng</code> value to the <code>i18next.t()</code> function.</li>
<li>The <code>i18next-fs-backend</code> library interpolates the malicious <code>lng</code> value into the <code>loadPath</code> configuration option, without proper validation.  For example, <code>loadPath: '/locales/{{lng}}/{{ns}}.json'</code> becomes <code>/locales/../../../../etc/{{ns}}.json</code>.</li>
<li>The backend attempts to read the file specified by the crafted path (e.g., <code>/etc/passwd</code>).</li>
<li>If successful, the contents of the targeted file are returned as a translation resource, potentially exposing sensitive information. If the attacker crafted the <code>lng</code> or <code>ns</code> value to point to a <code>.js</code> or <code>.ts</code> file containing malicious code, the backend will execute the file using <code>eval()</code>, leading to arbitrary code execution on the server.</li>
<li>Alternatively, if the application attempts to write a missing translation key using the crafted path (via <code>addPath</code>), the attacker could overwrite arbitrary files on the system, potentially leading to application compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability can have severe consequences. Arbitrary file read allows attackers to access sensitive data, such as configuration files, database credentials, or application source code. Arbitrary file overwrite can lead to application malfunction or complete compromise. If the application uses <code>.js</code> or <code>.ts</code> files for localization and the attacker is able to inject malicious code into those files through path traversal, arbitrary code execution can result, potentially allowing the attacker to gain full control of the server. The number of victims depends on the popularity and configuration of applications using the vulnerable <code>i18next-fs-backend</code> library.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>i18next-fs-backend</code> version 2.6.4 or later to patch the path traversal vulnerability as this version introduces the <code>isSafePathSegment</code> and <code>interpolatePath</code> functions to sanitize the path.</li>
<li>If upgrading is not immediately feasible, sanitize the <code>lng</code> and <code>ns</code> values at the application boundary before passing them to <code>i18next</code>. Reject values containing <code>..</code>, <code>/</code>, <code>\</code>, control characters, and limit the length to prevent path traversal as mentioned in the advisory.</li>
<li>If using <code>.js</code> or <code>.ts</code> locale files, carefully review them for any suspicious or unexpected code. The advisory highlights that these files must be treated as trusted code.</li>
<li>Monitor web server logs for suspicious requests containing directory traversal sequences in the <code>lng</code> or <code>ns</code> parameters. Deploy the first Sigma rule for this purpose.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>path-traversal</category><category>i18next</category><category>arbitrary-file-read</category><category>arbitrary-file-write</category><category>code-execution</category></item><item><title>OpenClaw MCP Loopback Token Spoofing Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-openclaw-token-spoofing/</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-openclaw-token-spoofing/</guid><description>A vulnerability in OpenClaw versions 2026.4.21 and earlier allows a non-owner loopback client to spoof the owner context by manipulating request headers, potentially gaining unauthorized access to owner-gated operations.</description><content:encoded><![CDATA[<p>OpenClaw, a package available on npm, contains a vulnerability in versions 2026.4.21 and earlier that allows for token spoofing within the MCP loopback path. This flaw stems from the acceptance of spoofable owner-context metadata from request headers. A malicious actor could exploit this by crafting requests that falsely present them as the owner, thereby bypassing authorization checks and potentially gaining unauthorized access to operations intended only for the owner. The vulnerability was reported by @VladimirEliTokarev and patched in version 2026.4.22. This issue matters for defenders because it can lead to privilege escalation and unauthorized modification of system configurations or data.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a vulnerable OpenClaw instance (version &lt;= 2026.4.21) utilizing the MCP loopback.</li>
<li>Attacker crafts a malicious HTTP request targeting the MCP loopback endpoint.</li>
<li>Attacker injects a forged &ldquo;sender-owner&rdquo; header into the HTTP request, claiming owner privileges.</li>
<li>The vulnerable OpenClaw instance incorrectly trusts the spoofed &ldquo;sender-owner&rdquo; header.</li>
<li>The application bypasses owner authorization checks due to the forged header.</li>
<li>Attacker gains access to owner-gated operations within the MCP loopback.</li>
<li>Attacker performs unauthorized actions, such as modifying configurations or accessing sensitive data.</li>
<li>Attacker maintains unauthorized access, potentially escalating privileges further within the system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability could allow unauthorized access to critical system functions intended only for the owner. This could lead to configuration changes, data breaches, or other malicious activities depending on the specific owner-gated operations exposed within the OpenClaw MCP loopback. The severity depends on the permissions granted to the &ldquo;owner&rdquo; context within the application but could be critical.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade OpenClaw to version 2026.4.22 or later to remediate the vulnerability as described in the fix commit 3cb1a56bfc9579a0f2336f9cfa12a8a744332a19.</li>
<li>Implement network monitoring to detect suspicious HTTP requests containing potentially forged &ldquo;sender-owner&rdquo; headers targeting MCP loopback endpoints using the Sigma rule <code>Detect OpenClaw MCP Loopback Owner Spoofing</code>.</li>
<li>Review and audit existing OpenClaw deployments to identify and patch vulnerable instances quickly.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>vulnerability</category><category>npm</category><category>token spoofing</category></item><item><title>xmldom XML Injection Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-xmldom-xml-injection/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-xmldom-xml-injection/</guid><description>The xmldom package is vulnerable to XML injection. The package serializes DocumentType node fields (internalSubset, publicId, systemId) verbatim without any escaping or validation. When these fields are set programmatically to attacker-controlled strings, XMLSerializer.serializeToString can produce output where the DOCTYPE declaration is terminated early and arbitrary markup appears outside it. To address this applications that pass untrusted data to createDocumentType() or write untrusted values directly to a DocumentType node's publicId, systemId, or internalSubset properties should audit all serializeToString() call sites and add the option.</description><content:encoded><![CDATA[<p>The <code>@xmldom/xmldom</code> and <code>xmldom</code> packages are vulnerable to XML injection due to the lack of validation when serializing <code>DocumentType</code> node fields. Specifically, the <code>internalSubset</code>, <code>publicId</code>, and <code>systemId</code> fields are serialized verbatim without any escaping or validation. This vulnerability affects <code>@xmldom/xmldom</code> versions prior to 0.8.13 and versions 0.9.0 to 0.9.9, as well as <code>xmldom</code> versions up to 0.6.0. The vulnerability is triggered when these fields are programmatically set to attacker-controlled strings, leading to potential arbitrary markup injection outside the DOCTYPE declaration during serialization using <code>XMLSerializer.serializeToString</code>. This can lead to downstream XML parsers being susceptible to XXE attacks. Defenders should audit serializeToString() call sites and add <code>{ requireWellFormed: true }</code> to mitigate this vulnerability.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies an application using a vulnerable version of <code>@xmldom/xmldom</code> or <code>xmldom</code>.</li>
<li>The attacker finds a code path where they can control the <code>publicId</code>, <code>systemId</code>, or <code>internalSubset</code> properties of a <code>DocumentType</code> node.</li>
<li>The attacker crafts a malicious string containing XML injection payloads (e.g., closing DOCTYPE tags or injecting SYSTEM entities).</li>
<li>The attacker uses programmatic calls to <code>createDocumentType</code> or direct property writes to set the malicious string as the value of the <code>publicId</code>, <code>systemId</code>, or <code>internalSubset</code> field.</li>
<li>The application calls <code>XMLSerializer.serializeToString</code> on the document, without the <code>{ requireWellFormed: true }</code> option.</li>
<li>The vulnerable serializer emits a DOCTYPE declaration where the injected malicious string is included verbatim, causing the DOCTYPE declaration to be terminated early or to include injected entities.</li>
<li>The serialized XML is passed to a downstream XML parser that performs entity expansion.</li>
<li>The downstream XML parser expands the injected entities, leading to potential XXE attacks, information disclosure, or other malicious actions.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability can lead to the injection of arbitrary XML markup, potentially enabling XXE attacks against downstream XML parsers. The impact includes potential information disclosure, arbitrary code execution, or denial-of-service if the downstream parser expands external entities. This vulnerability impacts applications using vulnerable versions of <code>@xmldom/xmldom</code> and <code>xmldom</code> that construct <code>DocumentType</code> nodes from user-controlled data and serialize the document without proper validation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>@xmldom/xmldom</code> version 0.8.13 or later, or version 0.9.10 or later, to receive the fix.</li>
<li>Upgrade to a version of <code>xmldom</code> greater than 0.6.0.</li>
<li>Audit all calls to <code>XMLSerializer.serializeToString()</code> and add the option <code>{ requireWellFormed: true }</code> to enforce validation of <code>DocumentType</code> node fields, as described in the advisory.</li>
<li>Applications that pass untrusted data to <code>createDocumentType()</code> or write untrusted values directly to a <code>DocumentType</code> node&rsquo;s <code>publicId</code>, <code>systemId</code>, or <code>internalSubset</code> properties should audit all <code>serializeToString()</code> call sites and add the option.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>xml-injection</category><category>xxe</category><category>dom</category><category>xmldom</category></item><item><title>VM2 Sandbox Escape via __lookupGetter__ Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-vm2-sandbox-breakout/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-vm2-sandbox-breakout/</guid><description>VM2 is vulnerable to a sandbox breakout via the `__lookupGetter__` method, enabling attackers to execute arbitrary commands on the host system by exploiting context switching and property descriptor manipulation, leading to remote code execution.</description><content:encoded><![CDATA[<p>The vm2 library, a popular Node.js sandbox environment, is susceptible to a critical sandbox breakout vulnerability. This flaw allows malicious code executed within the vm2 sandbox to escape its confines and execute arbitrary commands on the host operating system. The vulnerability leverages the <code>__lookupGetter__</code> method to bypass context isolation and gain access to host-level functions and objects. Previous attempts to mitigate similar issues were circumvented using <code>Object.getOwnPropertyDescriptor</code> to access the constructor property. The vulnerability affects vm2 versions 3.10.4 and earlier. Exploitation allows an attacker to achieve remote code execution with the privileges of the Node.js process running the vm2 sandbox, which could lead to significant system compromise.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker injects malicious JavaScript code into the vm2 sandbox.</li>
<li>The injected code retrieves the <code>__lookupGetter__</code> method, which is used to access the getter of an object.</li>
<li>The malicious code obtains the <code>apply</code> method from the <code>Buffer</code> object within the sandbox.</li>
<li>The <code>apply</code> method is used to invoke the host version of <code>__lookupGetter__</code> with <code>Buffer</code> and <code>__proto__</code> as arguments, gaining access to the host&rsquo;s prototype lookup method.</li>
<li>The host&rsquo;s <code>Function.prototype</code> object is retrieved using the prototype lookup method.</li>
<li>The <code>constructor</code> property of the <code>Function.prototype</code> object is accessed using <code>Object.getOwnPropertyDescriptor</code> to bypass previous mitigation attempts.</li>
<li>The host <code>Function</code> constructor is used to create a new function that returns the <code>process</code> object, granting access to Node.js runtime functions on the host.</li>
<li>The code then uses <code>child_process.execSync</code> to execute arbitrary commands on the host system (e.g., <code>touch pwned</code>).</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to execute arbitrary code on the host system. Given the critical nature of many applications that employ sandboxing, this can lead to complete system compromise, data exfiltration, and denial of service. The vulnerability affects vm2 versions up to and including 3.10.4. The impact includes remote code execution, potentially leading to sensitive data exposure, system takeover, or further lateral movement within a network.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of vm2 greater than 3.10.4 to remediate CVE-2026-24118.</li>
<li>Implement strict input validation and sanitization to minimize the risk of malicious code injection into the vm2 sandbox.</li>
<li>Monitor process creation events on the host system for suspicious activity originating from Node.js processes, which may indicate a sandbox escape (see the process_creation Sigma rule below).</li>
<li>Monitor for the execution of commands such as <code>child_process.execSync</code> called from within vm2 sandboxes to detect potential exploitation attempts (see the <code>nodejs_child_process_exec</code> Sigma rule).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>sandbox-escape</category><category>rce</category><category>vm2</category></item><item><title>i18next-http-middleware HTTP Response Splitting and DoS Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-i18next-http-middleware-crlf/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-i18next-http-middleware-crlf/</guid><description>i18next-http-middleware versions before 3.9.3 are vulnerable to HTTP response splitting and denial-of-service attacks due to unsanitized Content-Language headers, potentially leading to session fixation, cache poisoning, reflected XSS, or complete service disruption depending on the Node.js version.</description><content:encoded><![CDATA[<p>The <code>i18next-http-middleware</code> library, in versions prior to 3.9.3, exhibits a vulnerability stemming from insufficient sanitization of user-controlled language values. These values are written into the <code>Content-Language</code> HTTP response header. The <code>utils.escape()</code> function, employed for sanitization, performs HTML-entity encoding but fails to strip critical characters like carriage return and line feed. When the application uses an older <code>i18next</code> (&lt; 19.5.0) or produces raw detected values, CRLF sequences within the <code>lng</code> parameter reach <code>res.setHeader('Content-Language', ...)</code> without proper escaping. This flaw can result in HTTP response splitting (Node.js &lt; 14.6.0) or a denial-of-service condition (Node.js &gt;= 14.6.0), impacting all concurrent users of the affected process.  The same vulnerability is triggered multiple times per request. This issue is resolved in version 3.9.3.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker crafts a malicious HTTP request targeting an application using a vulnerable version of <code>i18next-http-middleware</code>. The request includes a <code>lng</code> parameter with a payload containing CRLF sequences (e.g., <code>%0d%0a</code>).</li>
<li>The <code>i18next-http-middleware</code> receives the request and extracts the language value from the <code>lng</code> parameter.</li>
<li>The extracted language value is passed through <code>utils.escape()</code>, which performs HTML-entity encoding but does not remove CRLF sequences.</li>
<li>The middleware attempts to set the <code>Content-Language</code> header using <code>res.setHeader()</code>, incorporating the unsanitized language value.</li>
<li>If the Node.js version is less than 14.6.0, the <code>res.setHeader()</code> function processes the CRLF sequences, resulting in HTTP response splitting. This allows the attacker to inject arbitrary headers and control parts of the response body.</li>
<li>If the Node.js version is 14.6.0 or greater, <code>res.setHeader()</code> throws an <code>ERR_INVALID_CHAR</code> error because the value contains CRLF sequences.</li>
<li>The middleware fails to catch this error, and the exception propagates, leading to an unhandled exception.</li>
<li>The unhandled exception causes the Node.js process to terminate or become unresponsive, resulting in a denial-of-service condition for all concurrent users sharing that process.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to inject arbitrary HTTP headers, leading to session fixation, cache poisoning, or reflected XSS attacks. In Node.js versions 14.6.0 and later, exploitation leads to a denial-of-service condition, potentially impacting all users of an application instance. This can result in significant disruption of service availability and potential data compromise. The number of affected applications is unknown, but any application using a vulnerable version of <code>i18next-http-middleware</code> is at risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>i18next-http-middleware</code> to version 3.9.3 or later to address the vulnerability by patching the <code>utils.sanitizeHeaderValue()</code> function, as described in the advisory.</li>
<li>Deploy the Sigma rule <code>Detect i18next-http-middleware CRLF Injection Attempt</code> to monitor for exploitation attempts by detecting suspicious URL-encoded characters in HTTP requests.</li>
<li>Implement a Web Application Firewall (WAF) rule to reject requests containing <code>\r</code> or <code>\n</code> characters in query parameters, cookies, and path segments as a partial mitigation, as suggested in the advisory.</li>
<li>Enable web server logging to ensure events related to potential exploits are captured for analysis.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>crlf-injection</category><category>http-response-splitting</category><category>denial-of-service</category><category>i18next</category></item><item><title>Denial of Service Vulnerability in marked via Infinite Recursion</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-marked-dos/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-marked-dos/</guid><description>A denial of service vulnerability exists in marked version 18.0.0 due to infinite recursion when processing a specific 3-byte sequence (tab, vertical tab, and newline), leading to unbounded memory allocation and application crash.</description><content:encoded><![CDATA[<p>A critical Denial of Service (DoS) vulnerability has been identified in <code>marked@18.0.0</code>. This vulnerability arises from the processing of a specific 3-byte input sequence: a tab character, a vertical tab character, and a newline character (<code>\x09\x0b\n</code>). An unauthenticated attacker can exploit this by sending this sequence to a Node.js application utilizing the vulnerable version of the <code>marked</code> library. This input triggers an infinite recursion loop within the <code>marked</code> tokenizer during parsing, leading to unbounded memory allocation and ultimately causing the host Node.js application to crash due to Memory Exhaustion (OOM). This vulnerability allows for a total loss of availability for any application using the vulnerable library to process potentially untrusted input.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker sends a crafted input string containing the sequence <code>\x09\x0b\n</code> to a Node.js application using <code>marked@18.0.0</code>.</li>
<li>The <code>space()</code> tokenizer in <code>marked</code> consumes the initial tab character (<code>\x09</code>) using the regex <code>/^(?:[ \t]*(?:\n|$))+/</code>.</li>
<li>The newline block rule fails to match the remaining <code>\x0b\n</code> sequence because the vertical tab is not accounted for in the rule <code>[ \t]</code>.</li>
<li>The parser falls through to the <code>text</code> tokenizer (<code>/^[^\n]+/</code>), which matches the <code>\x0b\n</code> sequence.</li>
<li>Inside the <code>blockTokens()</code> function, the <code>text</code> tokenizer creates a text token.</li>
<li>The <code>blockTokens()</code> function then calls <code>inlineTokens()</code> on the same input (<code>\x0b\n</code>).</li>
<li>The <code>inlineTokens()</code> function&rsquo;s text rule matches <code>\x0b\n</code> and recursively calls <code>inlineTokens()</code> again, leading to an infinite loop.</li>
<li>Each recursive call allocates new token objects and concatenates strings, causing memory usage to grow until the Node.js heap limit is reached, resulting in a crash.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability results in a High-Severity Denial of Service (DoS) via Memory Exhaustion. Any application, API, chatbot, or documentation system using <code>marked@18.0.0</code> to parse untrusted user input is vulnerable. The attack requires minimal resources from the attacker, only the ability to send a 3-byte payload, to cause a total loss of availability. The vulnerability affects <code>npm/marked</code> versions greater than or equal to 18.0.0 and less than or equal to 18.0.1.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of the <code>marked</code> library that addresses the infinite recursion vulnerability.</li>
<li>Monitor Node.js application logs for error messages indicating memory exhaustion or crashes, which might indicate exploitation attempts.</li>
<li>Implement input validation to sanitize or reject input containing the malicious <code>\x09\x0b\n</code> sequence.</li>
<li>Deploy the Sigma rule for <code>marked</code> process crashes due to memory exhaustion to identify exploitation attempts.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>javascript</category><category>marked</category><category>vulnerability</category></item><item><title>OpenClaw Symlink Race Condition Allows Sandbox Escape</title><link>https://feed.craftedsignal.io/briefs/2024-01-openclaw-symlink/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-openclaw-symlink/</guid><description>A time-of-check/time-of-use (TOCTOU) race condition in OpenClaw versions 2026.4.21 and earlier allows a symlink swap to redirect filesystem writes outside the intended sandbox mount root, potentially leading to arbitrary file modification.</description><content:encoded><![CDATA[<p>OpenClaw, a tool available via npm, contains a vulnerability in versions 2026.4.21 and earlier that could allow for a sandbox escape. This vulnerability stems from a time-of-check/time-of-use (TOCTOU) race condition during filesystem writes within the OpenShell sandbox environment. An attacker could potentially exploit this vulnerability by manipulating symlinks to redirect write operations outside of the intended local mount root. This can occur because OpenClaw does not properly validate the target of write operations against the mount root, leaving it susceptible to symlink-based redirection attacks. Successful exploitation could allow an attacker to modify sensitive files outside the sandbox. The vulnerability is fixed in version 2026.4.22.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious OpenClaw package or leverages an existing package.</li>
<li>The package contains a symlink within the intended sandbox directory.</li>
<li>The OpenClaw application attempts to write to a file via the symlink.</li>
<li>Between the time OpenClaw checks the symlink and the time it performs the write operation, the attacker replaces the symlink with a new symlink pointing outside the intended sandbox root.</li>
<li>OpenClaw, due to the TOCTOU race condition, writes to the file location pointed to by the new symlink, which resides outside the sandbox.</li>
<li>This allows the attacker to overwrite or modify arbitrary files on the system.</li>
<li>The attacker leverages this capability to gain elevated privileges or compromise sensitive data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability could allow an attacker to bypass the intended security restrictions of the OpenClaw sandbox. An attacker could potentially overwrite system files, inject malicious code into existing applications, or steal sensitive data. While the exact number of affected installations is unknown, any system running a vulnerable version of OpenClaw is susceptible to this attack.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to OpenClaw version 2026.4.22 or later to patch the vulnerability (reference: Affected Packages / Versions).</li>
<li>Monitor file system events for unexpected modifications outside of the expected OpenClaw sandbox directory. Deploy the Sigma rule <code>Detect OpenClaw Sandbox Escape via Symlink</code> to detect potential exploitation attempts.</li>
<li>Implement stricter file system access controls to limit the potential impact of successful exploitation (reference: Impact).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>sandbox-escape</category><category>symlink</category><category>race-condition</category><category>npm</category></item><item><title>n8n Unauthenticated Denial of Service via MCP Client Registration</title><link>https://feed.craftedsignal.io/briefs/2024-01-n8n-dos/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-n8n-dos/</guid><description>n8n is vulnerable to an unauthenticated denial of service (DoS) attack due to missing resource controls in the MCP OAuth client registration endpoint, allowing an attacker to exhaust server memory by sending large registration payloads, leading to service unavailability; this is resolved in versions 1.123.32, 2.17.4, and 2.18.1 and tracked as CVE-2026-42236.</description><content:encoded><![CDATA[<p>n8n, a workflow automation platform, is susceptible to a denial-of-service (DoS) vulnerability due to insufficient resource controls on the MCP OAuth client registration endpoint. This vulnerability, identified as CVE-2026-42236, allows an unauthenticated remote attacker to send large registration payloads to the server, potentially exhausting server memory resources. Even if the MCP is disabled via the enable/disable toggle, client registrations are still possible. The attack results in the n8n instance becoming unavailable, disrupting normal operations. The vulnerability affects n8n versions before 1.123.32, versions 2.0.0 to 2.17.4, and versions 2.18.0 to 2.18.1. Patches are available in n8n versions 1.123.32, 2.17.4, and 2.18.1 to address this issue by implementing an upper bound on registered clients and disabling client creation when MCP is disabled.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies an n8n instance running a vulnerable version (e.g., &lt; 1.123.32, 2.0.0 &lt; x &lt; 2.17.4, or 2.18.0 &lt; x &lt; 2.18.1).</li>
<li>The attacker sends an unauthenticated HTTP POST request to the MCP OAuth client registration endpoint. The exact URI path for this endpoint is not specified in the advisory, but it is related to MCP OAuth client registration.</li>
<li>The POST request contains a large payload designed to consume significant server memory during processing.</li>
<li>The n8n instance processes the registration request without proper resource limitations or input validation on the payload size.</li>
<li>The server allocates memory to handle the large payload, potentially leading to memory exhaustion.</li>
<li>The attacker sends multiple such requests in rapid succession, exacerbating the memory exhaustion issue.</li>
<li>The n8n instance becomes unresponsive due to memory starvation, resulting in a denial of service.</li>
<li>Legitimate users are unable to access or use the n8n platform.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability leads to a denial-of-service condition, rendering the n8n instance unavailable to legitimate users. The advisory does not specify the number of victims or sectors targeted. However, any organization using a vulnerable version of n8n is at risk. If the attack succeeds, critical workflow automation processes managed by n8n will be interrupted, potentially leading to business disruptions and data loss.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade n8n to version 1.123.32, 2.17.4, or 2.18.1, or later to remediate the vulnerability as mentioned in the <strong>Patches</strong> section.</li>
<li>If upgrading is not immediately possible, restrict network access to the n8n instance to prevent requests from untrusted sources, as outlined in the <strong>Workarounds</strong> section.</li>
<li>If upgrading is not immediately possible, reduce the maximum accepted payload size by lowering the <code>N8N_PAYLOAD_SIZE_MAX</code> environment variable as described in the <strong>Workarounds</strong> section.</li>
<li>Monitor web server logs for unusual POST requests to the MCP OAuth client registration endpoint (path not specified in advisory) that may indicate exploitation attempts. Create detection rules for this activity on <strong>webserver</strong> logs.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>vulnerability</category><category>n8n</category></item></channel></rss>