<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sun, 18 Oct 2026 14:45:19 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-267788</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-267788</link>
      <description>EUVD-2026-267788</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-267788</guid>
    </item>
    <item>
      <title>fkie_cve-2026-25492</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-25492</link>
      <description>&lt;p&gt;Craft CMS is a content management system. In Craft versions 3.5.0 through 4.16.17 and 5.0.0-RC1 through 5.8.21, the save_images_Asset GraphQL mutation can be abused to fetch internal URLs by providing a domain name that resolves to an internal IP address, bypassing hostname validation. When a non-image file extension such as .txt is allowed, downstream image validation is bypassed, which can allow an authenticated attacker with permission to use save_images_Asset to retrieve sensitive data such as AWS instance metadata credentials from the underlying host. This issue is patched in versions 4.16.18 and 5.8.22.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Craft CMS is a content management system. In Craft versions 3.5.0 through 4.16.17 and 5.0.0-RC1 through 5.8.21, the save_images_Asset GraphQL mutation can be abused to fetch internal URLs by providing a domain name that resolves to an internal IP address, bypassing hostname validation. When a non-image file extension such as .txt is allowed, downstream image validation is bypassed, which can allow an authenticated attacker with permission to use save_images_Asset to retrieve sensitive data such as AWS instance metadata credentials from the underlying host. This issue is patched in versions 4.16.18 and 5.8.22.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-25492</guid>
    </item>
    <item>
      <title>GHSA-96pq-hxpw-rgh8 — Craft CMS: save_images_Asset graphql mutation can be abused to exfiltrate AWS credentials of underlying host</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-96pq-hxpw-rgh8</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: craftcms/craft&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;- The save_images_Asset graphql mutation allows a user to give a url of an image to download.  (Url must use a domain, not a raw IP.)
- Attacker sets up domain attacker.domain with an A record of something like 169.254.169.254 (special AWS metadata IP)
- Attacker invokes save_images_Asset with url: http://attacker.domain/latest/meta-data/iam/security-credentials and filename &amp;#34;foo.txt&amp;#34;
- Craft fetches sensitive information on attacker&amp;#39;s behalf, and makes it available for download at /assets/images/foo.txt
- Normal checks to verify that image is valid are bypassed because of .txt extension
- Normal checks to verify that url is not an IP address are bypassed because user provided a valid domain that resolves to a sensitive internal IP address&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;handleUpload() in src/gql/resolvers/mutations/Assets.php contains the code that processes the save_images_Asset mutation.&lt;/p&gt;
&lt;p&gt;It has some basic validation logic for the url parameter (source of the image) and filename parameter (what to save image as):&lt;/p&gt;
&lt;p&gt;```
   } elseif (!empty($fileInformation[&amp;#39;url&amp;#39;])) {
            $url = $fileInformation[&amp;#39;url&amp;#39;];&lt;/p&gt;
&lt;p&gt;// make sure the hostname is alphanumeric and not an IP address
            $hostname = parse_url($url, PHP_URL_HOST);
            if (
                !filter_var($hostname, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME) ||
                filter_var($hostname, FILTER_VALIDATE_IP)
            ) {
                throw new UserError(&amp;#34;$url contains an invalid ho…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: craftcms/craft&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;- The save_images_Asset graphql mutation allows a user to give a url of an image to download.  (Url must use a domain, not a raw IP.)
- Attacker sets up domain attacker.domain with an A record of something like 169.254.169.254 (special AWS metadata IP)
- Attacker invokes save_images_Asset with url: http://attacker.domain/latest/meta-data/iam/security-credentials and filename &amp;#34;foo.txt&amp;#34;
- Craft fetches sensitive information on attacker&amp;#39;s behalf, and makes it available for download at /assets/images/foo.txt
- Normal checks to verify that image is valid are bypassed because of .txt extension
- Normal checks to verify that url is not an IP address are bypassed because user provided a valid domain that resolves to a sensitive internal IP address&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;handleUpload() in src/gql/resolvers/mutations/Assets.php contains the code that processes the save_images_Asset mutation.&lt;/p&gt;
&lt;p&gt;It has some basic validation logic for the url parameter (source of the image) and filename parameter (what to save image as):&lt;/p&gt;
&lt;p&gt;```
   } elseif (!empty($fileInformation[&amp;#39;url&amp;#39;])) {
            $url = $fileInformation[&amp;#39;url&amp;#39;];&lt;/p&gt;
&lt;p&gt;// make sure the hostname is alphanumeric and not an IP address
            $hostname = parse_url($url, PHP_URL_HOST);
            if (
                !filter_var($hostname, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME) ||
                filter_var($hostname, FILTER_VALIDATE_IP)
            ) {
                throw new UserError(&amp;#34;$url contains an invalid ho…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-96pq-hxpw-rgh8</guid>
    </item>
  </channel>
</rss>
