<?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 14:02:58 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-232675</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-232675</link>
      <description>EUVD-2026-232675</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-232675</guid>
    </item>
    <item>
      <title>fkie_cve-2022-31140</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2022-31140</link>
      <description>&lt;p&gt;Valinor is a PHP library that helps to map any input into a strongly-typed value object structure. Prior to version 0.12.0, Valinor can use `Throwable#getMessage()` when it should not have permission to do so. This is a problem with cases such as an SQL exception showing an SQL snippet, a database connection exception showing database IP address/username/password, or a timeout detail / out of memory detail. Attackers could use this information for potential data exfiltration, denial of service attacks, enumeration attacks, etc. Version 0.12.0 contains a patch for this vulnerability.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Valinor is a PHP library that helps to map any input into a strongly-typed value object structure. Prior to version 0.12.0, Valinor can use `Throwable#getMessage()` when it should not have permission to do so. This is a problem with cases such as an SQL exception showing an SQL snippet, a database connection exception showing database IP address/username/password, or a timeout detail / out of memory detail. Attackers could use this information for potential data exfiltration, denial of service attacks, enumeration attacks, etc. Version 0.12.0 contains a patch for this vulnerability.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2022-31140</guid>
    </item>
    <item>
      <title>GHSA-5pgm-3j3g-2rc7 — Valinor error messages leading to potential data exfiltration before v0.12.0</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-5pgm-3j3g-2rc7</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: cuyz/valinor&lt;/p&gt;
&lt;p&gt;```php
&amp;lt;?php&lt;/p&gt;
&lt;p&gt;namespace My\App;&lt;/p&gt;
&lt;p&gt;use CuyZ\Valinor\Mapper\MappingError;
use CuyZ\Valinor\Mapper\Tree\Node;
use CuyZ\Valinor\Mapper\Tree\NodeTraverser;
use CuyZ\Valinor\MapperBuilder;&lt;/p&gt;
&lt;p&gt;require_once __DIR__ . &amp;#39;/Valinor/vendor/autoload.php&amp;#39;;&lt;/p&gt;
&lt;p&gt;final class Money
{
    private function __construct(public readonly string $amount)
    {
    }&lt;/p&gt;
&lt;p&gt;public static function fromString(string $money): self
    {
        if (1 !== \preg_match(&amp;#39;/^\d+ [A-Z]{3}$/&amp;#39;, $money)) {
            throw new \InvalidArgumentException(\sprintf(&amp;#39;Given &amp;#34;%s&amp;#34; is not a recognized monetary amount&amp;#39;, $money));
        }
        
        return new self($money);
    }
}&lt;/p&gt;
&lt;p&gt;class Foo
{
    public function __construct(
        private readonly Money $a,
        private readonly Money $b,
        private readonly Money $c,
    ) {}
}&lt;/p&gt;
&lt;p&gt;$mapper = (new MapperBuilder())
    -&amp;gt;registerConstructor([Money::class, &amp;#39;fromString&amp;#39;])
    -&amp;gt;mapper();&lt;/p&gt;
&lt;p&gt;try {
    var_dump($mapper-&amp;gt;map(Foo::class, [
        &amp;#39;a&amp;#39; =&amp;gt; &amp;#39;HAHA&amp;#39;,
        &amp;#39;b&amp;#39; =&amp;gt; &amp;#39;100 EUR&amp;#39;,
        &amp;#39;c&amp;#39; =&amp;gt; &amp;#39;USD 100&amp;#39;
    ]));
} catch (MappingError $e) {
    $messages = (new NodeTraverser(function (Node $node) {
        foreach ($node-&amp;gt;messages() as $message) {
            var_dump([
                &amp;#39;$message&amp;#39;,
                $message-&amp;gt;path(),
                $message-&amp;gt;body()
            ]);
        }
        return &amp;#39;&amp;#39;;
    }))-&amp;gt;traverse($e-&amp;gt;node());&lt;/p&gt;
&lt;p&gt;iterator_to_array($messages);
}
```&lt;/p&gt;
&lt;p&gt;Now, this is quite innocent: it produces following output:&lt;/p&gt;
&lt;p&gt;```
❯ php value-object-conver…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: cuyz/valinor&lt;/p&gt;
&lt;p&gt;```php
&amp;lt;?php&lt;/p&gt;
&lt;p&gt;namespace My\App;&lt;/p&gt;
&lt;p&gt;use CuyZ\Valinor\Mapper\MappingError;
use CuyZ\Valinor\Mapper\Tree\Node;
use CuyZ\Valinor\Mapper\Tree\NodeTraverser;
use CuyZ\Valinor\MapperBuilder;&lt;/p&gt;
&lt;p&gt;require_once __DIR__ . &amp;#39;/Valinor/vendor/autoload.php&amp;#39;;&lt;/p&gt;
&lt;p&gt;final class Money
{
    private function __construct(public readonly string $amount)
    {
    }&lt;/p&gt;
&lt;p&gt;public static function fromString(string $money): self
    {
        if (1 !== \preg_match(&amp;#39;/^\d+ [A-Z]{3}$/&amp;#39;, $money)) {
            throw new \InvalidArgumentException(\sprintf(&amp;#39;Given &amp;#34;%s&amp;#34; is not a recognized monetary amount&amp;#39;, $money));
        }
        
        return new self($money);
    }
}&lt;/p&gt;
&lt;p&gt;class Foo
{
    public function __construct(
        private readonly Money $a,
        private readonly Money $b,
        private readonly Money $c,
    ) {}
}&lt;/p&gt;
&lt;p&gt;$mapper = (new MapperBuilder())
    -&amp;gt;registerConstructor([Money::class, &amp;#39;fromString&amp;#39;])
    -&amp;gt;mapper();&lt;/p&gt;
&lt;p&gt;try {
    var_dump($mapper-&amp;gt;map(Foo::class, [
        &amp;#39;a&amp;#39; =&amp;gt; &amp;#39;HAHA&amp;#39;,
        &amp;#39;b&amp;#39; =&amp;gt; &amp;#39;100 EUR&amp;#39;,
        &amp;#39;c&amp;#39; =&amp;gt; &amp;#39;USD 100&amp;#39;
    ]));
} catch (MappingError $e) {
    $messages = (new NodeTraverser(function (Node $node) {
        foreach ($node-&amp;gt;messages() as $message) {
            var_dump([
                &amp;#39;$message&amp;#39;,
                $message-&amp;gt;path(),
                $message-&amp;gt;body()
            ]);
        }
        return &amp;#39;&amp;#39;;
    }))-&amp;gt;traverse($e-&amp;gt;node());&lt;/p&gt;
&lt;p&gt;iterator_to_array($messages);
}
```&lt;/p&gt;
&lt;p&gt;Now, this is quite innocent: it produces following output:&lt;/p&gt;
&lt;p&gt;```
❯ php value-object-conver…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-5pgm-3j3g-2rc7</guid>
    </item>
    <item>
      <title>gsd-2022-31140</title>
      <link>https://cve.radiocsirt.org/vuln/gsd-2022-31140</link>
      <description>gsd-2022-31140</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/gsd-2022-31140</guid>
    </item>
  </channel>
</rss>
