<?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>Fri, 09 Oct 2026 18:39:15 +0000</lastBuildDate>
    <item>
      <title>bdu:2026-11002</title>
      <link>https://cve.radiocsirt.org/vuln/bdu:2026-11002</link>
      <description>bdu:2026-11002</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/bdu:2026-11002</guid>
    </item>
    <item>
      <title>EUVD-2026-343673</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-343673</link>
      <description>EUVD-2026-343673</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-343673</guid>
    </item>
    <item>
      <title>fkie_cve-2026-69088</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-69088</link>
      <description>&lt;p&gt;Grav CMS versions 2.0.7 through 2.0.10 fail to validate fully-qualified static method calls (Class::method) in blueprint dynamic-field directives because Blueprint::isSafeDynamicCall() only applies its dangerous-callable denylist to strings that do not contain &amp;#39;::&amp;#39;. An account with only page-editing rights (admin.pages, not super-admin or admin.pages_twig) can plant a directive in a page&amp;#39;s form-field frontmatter that invokes an arbitrary public static PHP method with attacker-controlled arguments. Using built-in gadget methods this allows reading of any server-readable file (disclosed to anonymous visitors of the crafted page) and arbitrary creation/copying of files and directories under the web-server account. Fixed in 2.0.11.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Grav CMS versions 2.0.7 through 2.0.10 fail to validate fully-qualified static method calls (Class::method) in blueprint dynamic-field directives because Blueprint::isSafeDynamicCall() only applies its dangerous-callable denylist to strings that do not contain &amp;#39;::&amp;#39;. An account with only page-editing rights (admin.pages, not super-admin or admin.pages_twig) can plant a directive in a page&amp;#39;s form-field frontmatter that invokes an arbitrary public static PHP method with attacker-controlled arguments. Using built-in gadget methods this allows reading of any server-readable file (disclosed to anonymous visitors of the crafted page) and arbitrary creation/copying of files and directories under the web-server account. Fixed in 2.0.11.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-69088</guid>
    </item>
    <item>
      <title>GHSA-7pgq-cr25-xvc8 — Grav: Incomplete callable validation in blueprint dynamic fields allows arbitrary static method invocation and file dis…</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-7pgq-cr25-xvc8</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: getgrav/grav&lt;/p&gt;
&lt;p&gt;### Summary
Grav CMS&amp;#39;s blueprint dynamic-field callable guard can be bypassed with a fully-qualified `Class::method` string, letting an account with only page-editing rights (`admin.pages`, not super-admin) plant a directive in a page&amp;#39;s form-field frontmatter that invokes an arbitrary public static PHP method with attacker-controlled arguments. Using built-in gadget methods this yields, at minimum, arbitrary reading of any server-readable file (disclosed to anonymous visitors of the crafted page) and arbitrary creation/copying of files and directories under the web-server account.&lt;/p&gt;
&lt;p&gt;### Details
`Blueprint::isSafeDynamicCall()` (`system/src/Grav/Common/Data/Blueprint.php`, method around line 488) is meant to block dangerous callables named in a blueprint&amp;#39;s dynamic-field directives (`data-*@`). It only consults its dangerous-name denylist when the callable string does **not** contain `::`:
```php
if (is_string($function) &amp;amp;&amp;amp; !str_contains($function, &amp;#39;::&amp;#39;) &amp;amp;&amp;amp; Utils::isDangerousFunction($function)) {
    return false;
}
```
Any callable string containing `::` — i.e. every `Class::method` static call — skips the check entirely and is passed to `call_user_func_array()` at `Blueprint::dynamicData()` (`Blueprint.php`, around line 461) and `FlexDirectory::dynamicDataField()` (`system/src/Grav/Framework/Flex/FlexDirectory.php`, around line 937). There is no allowlist restricting which classes or methods may be invoked this way; only the call&amp;#39;s *arguments* are (separately) scanned for sm…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: getgrav/grav&lt;/p&gt;
&lt;p&gt;### Summary
Grav CMS&amp;#39;s blueprint dynamic-field callable guard can be bypassed with a fully-qualified `Class::method` string, letting an account with only page-editing rights (`admin.pages`, not super-admin) plant a directive in a page&amp;#39;s form-field frontmatter that invokes an arbitrary public static PHP method with attacker-controlled arguments. Using built-in gadget methods this yields, at minimum, arbitrary reading of any server-readable file (disclosed to anonymous visitors of the crafted page) and arbitrary creation/copying of files and directories under the web-server account.&lt;/p&gt;
&lt;p&gt;### Details
`Blueprint::isSafeDynamicCall()` (`system/src/Grav/Common/Data/Blueprint.php`, method around line 488) is meant to block dangerous callables named in a blueprint&amp;#39;s dynamic-field directives (`data-*@`). It only consults its dangerous-name denylist when the callable string does **not** contain `::`:
```php
if (is_string($function) &amp;amp;&amp;amp; !str_contains($function, &amp;#39;::&amp;#39;) &amp;amp;&amp;amp; Utils::isDangerousFunction($function)) {
    return false;
}
```
Any callable string containing `::` — i.e. every `Class::method` static call — skips the check entirely and is passed to `call_user_func_array()` at `Blueprint::dynamicData()` (`Blueprint.php`, around line 461) and `FlexDirectory::dynamicDataField()` (`system/src/Grav/Framework/Flex/FlexDirectory.php`, around line 937). There is no allowlist restricting which classes or methods may be invoked this way; only the call&amp;#39;s *arguments* are (separately) scanned for sm…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-7pgq-cr25-xvc8</guid>
    </item>
  </channel>
</rss>
