<?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>XXE — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/xxe/</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, 14 Apr 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/xxe/feed.xml" rel="self" type="application/rss+xml"/><item><title>Pachno 1.0.6 XML External Entity Injection Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-pachno-xxe/</link><pubDate>Tue, 14 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-pachno-xxe/</guid><description>Pachno 1.0.6 is vulnerable to XML external entity injection, allowing unauthenticated attackers to read arbitrary files by injecting malicious XML entities into wiki content due to unsafe XML parsing in the TextParser helper.</description><content:encoded><![CDATA[<p>Pachno 1.0.6 is susceptible to an XML External Entity (XXE) injection vulnerability, identified as CVE-2026-40042. This flaw resides in the TextParser helper component, where unsafe XML parsing occurs. An unauthenticated attacker can exploit this vulnerability to read arbitrary files from the server. The attack involves injecting malicious XML entities into various parts of the application, including wiki table syntax, issue descriptions, comments, and wiki articles. The vulnerability is triggered by the use of the simplexml_load_string() function without proper restrictions (LIBXML_NONET), enabling the resolution of external entities. This issue poses a significant risk as it allows unauthorized access to sensitive data stored on the server.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker identifies a Pachno 1.0.6 instance.</li>
<li>The attacker crafts a malicious XML payload containing an external entity declaration. This payload aims to read a sensitive file on the server, such as <code>/etc/passwd</code>.</li>
<li>The attacker injects the malicious XML payload into a wiki page, issue description, or comment using wiki table syntax or inline tags.</li>
<li>The application&rsquo;s TextParser helper processes the injected content using simplexml_load_string() without the LIBXML_NONET flag.</li>
<li>The XML parser attempts to resolve the external entity, initiating a request to read the specified file.</li>
<li>The targeted file&rsquo;s contents are embedded into the XML response due to the XXE vulnerability.</li>
<li>The attacker retrieves the parsed XML response, which now contains the content of the targeted file, thus achieving unauthorized file access.</li>
<li>The attacker can repeat this process to access other sensitive files, potentially gaining critical information about the system and its configuration.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this XXE vulnerability (CVE-2026-40042) in Pachno 1.0.6 allows an unauthenticated attacker to read arbitrary files from the server. The impact can range from exposing sensitive configuration files and application code to potentially gaining access to user credentials or other confidential data. This information could be used for further malicious activities, such as lateral movement within the network or data exfiltration. Given the ease of exploitation and the potential for significant data leakage, this vulnerability represents a critical risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of Pachno that addresses CVE-2026-40042 by implementing proper XML parsing and disabling external entity resolution.</li>
<li>Implement input validation and sanitization to prevent the injection of malicious XML payloads into wiki pages, issue descriptions, and comments.</li>
<li>Monitor web server logs for requests containing XML entity declarations, which may indicate attempted exploitation of this vulnerability. See the provided Sigma rule for guidance.</li>
<li>Block the domains <code>www.vulncheck.com</code> and <code>www.zeroscience.mk</code> at the network level to prevent access to related advisory information, hindering attacker reconnaissance.</li>
<li>Deploy the Sigma rules in this brief to your SIEM and tune for your environment.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>xxe</category><category>cve-2026-40042</category><category>pachno</category><category>web-application</category></item><item><title>OpenEMR XXE Vulnerability (CVE-2026-33913)</title><link>https://feed.craftedsignal.io/briefs/2026-03-openemr-xxe/</link><pubDate>Thu, 26 Mar 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-openemr-xxe/</guid><description>OpenEMR before version 8.0.0.3 is vulnerable to XML External Entity (XXE) injection, allowing an authenticated user with access to the Carecoordination module to upload a crafted CCDA document and read arbitrary files from the server.</description><content:encoded><![CDATA[<p>OpenEMR, a free and open-source electronic health records and medical practice management application, is vulnerable to an XML External Entity (XXE) injection attack (CVE-2026-33913). This vulnerability affects versions prior to 8.0.0.3. An authenticated user with access to the Carecoordination module can exploit this flaw by uploading a specially crafted CCDA document. The malicious document contains an <code>xi:include</code> tag that references a file on the server (e.g., <code>/etc/passwd</code>), enabling the…</p>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>cve-2026-33913</category><category>xxe</category><category>openemr</category><category>web-application</category></item><item><title>changedetection.io XXE Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-changedetectionio-xxe/</link><pubDate>Tue, 30 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-changedetectionio-xxe/</guid><description>A vulnerability in changedetection.io versions 0.54.9 and earlier allows a remote attacker to perform XML External Entity (XXE) attacks, potentially exposing sensitive local files.</description><content:encoded><![CDATA[<p>An XML External Entity (XXE) vulnerability exists in changedetection.io version 0.54.9 and earlier. The vulnerability resides within the <code>xpath_filter()</code> function in <code>changedetectionio/html_tools.py:287</code>. This function creates an XML parser without disabling external entity resolution, external DTD loading, or network-backed entity lookup. An attacker can exploit this by controlling a watched XML/RSS response body and using an XPath include filter. Successful exploitation allows the attacker to read arbitrary local files from the system running changedetection.io, potentially leading to information disclosure. This issue was reported on May 4, 2026 (GHSA-v7cp-2cx9-x793) and assigned CVE-2026-41895.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a changedetection.io instance monitoring an XML/RSS feed.</li>
<li>Attacker crafts a malicious XML/RSS response containing an external entity declaration referencing a local file (e.g., <code>/etc/passwd</code>).</li>
<li>Attacker ensures the watched URL returns the malicious XML/RSS content.</li>
<li>The changedetection.io instance fetches the XML/RSS content from the monitored URL.</li>
<li>The application&rsquo;s stream detection identifies the content as XML/RSS.</li>
<li>The XPath include filter is triggered, invoking the vulnerable <code>xpath_filter()</code> function.</li>
<li><code>etree.fromstring()</code> parses the untrusted XML bytes, resolving the external entity and reading the referenced local file.</li>
<li>The contents of the local file are exposed in extracted watch output, diff history, or downstream notification channels.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this XXE vulnerability (CVE-2026-41895) can lead to the disclosure of sensitive local files on the server running changedetection.io. The impact includes potential exposure of configuration files, credentials, or other sensitive data, which could be leveraged for further attacks or unauthorized access. While the number of affected installations is unknown, any instance of changedetection.io version 0.54.9 or earlier that monitors attacker-controlled XML/RSS feeds using XPath filters is potentially vulnerable.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade changedetection.io to a version beyond 0.54.9 to remediate the vulnerability.</li>
<li>Apply the remediation steps suggested by the original report: Harden XML parser construction with <code>resolve_entities=False</code>, <code>load_dtd=False</code>, and <code>no_network=True</code>.</li>
<li>Implement the Sigma rule <code>Detect Changedetection.io XXE Vulnerability Attempt</code> to detect potential XXE attacks against changedetection.io instances by monitoring for suspicious XML parsing events.</li>
<li>Enable webserver logging to activate the rule above (logsource: category: webserver, product: linux).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>XXE</category><category>vulnerability</category><category>changedetection.io</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></channel></rss>