<?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>Sat, 17 Oct 2026 10:09:58 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-292460</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-292460</link>
      <description>EUVD-2026-292460</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-292460</guid>
    </item>
    <item>
      <title>fkie_cve-2026-41060</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-41060</link>
      <description>&lt;p&gt;WWBN AVideo is an open source video platform. In versions 29.0 and below, the `isSSRFSafeURL()` function in `objects/functions.php` contains a same-domain shortcircuit (lines 4290-4296) that allows any URL whose hostname matches `webSiteRootURL` to bypass all SSRF protections. Because the check compares only the hostname and ignores the port, an attacker can reach arbitrary ports on the AVideo server by using the site&amp;#39;s public hostname with a non-standard port. The response body is saved to a web-accessible path, enabling full exfiltration. Commit a0156a6398362086390d949190f9d52a823000ba fixes the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;WWBN AVideo is an open source video platform. In versions 29.0 and below, the `isSSRFSafeURL()` function in `objects/functions.php` contains a same-domain shortcircuit (lines 4290-4296) that allows any URL whose hostname matches `webSiteRootURL` to bypass all SSRF protections. Because the check compares only the hostname and ignores the port, an attacker can reach arbitrary ports on the AVideo server by using the site&amp;#39;s public hostname with a non-standard port. The response body is saved to a web-accessible path, enabling full exfiltration. Commit a0156a6398362086390d949190f9d52a823000ba fixes the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-41060</guid>
    </item>
    <item>
      <title>GHSA-j432-4w3j-3w8j — WWBN AVideo has a SSRF via same-domain hostname with alternate port bypasses isSSRFSafeURL</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-j432-4w3j-3w8j</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: wwbn/avideo&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The `isSSRFSafeURL()` function in `objects/functions.php` contains a same-domain shortcircuit (lines 4290-4296) that allows any URL whose hostname matches `webSiteRootURL` to bypass all SSRF protections. Because the check compares only the hostname and ignores the port, an attacker can reach arbitrary ports on the AVideo server by using the site&amp;#39;s public hostname with a non-standard port. The response body is saved to a web-accessible path, enabling full exfiltration.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;Commit `40872e529` fixed an extension-based SSRF bypass by making `isSSRFSafeURL()` unconditional. However, `isSSRFSafeURL()` itself contains a same-domain shortcircuit that returns `true` when the URL&amp;#39;s hostname matches `webSiteRootURL`&amp;#39;s hostname, without validating the port:&lt;/p&gt;
&lt;p&gt;```php
// objects/functions.php:4290-4296
if (!empty($global[&amp;#39;webSiteRootURL&amp;#39;])) {
    $siteHost = strtolower(parse_url($global[&amp;#39;webSiteRootURL&amp;#39;], PHP_URL_HOST));
    if ($host === $siteHost) {
        _error_log(&amp;#34;isSSRFSafeURL: allowing same-domain request to {$host} (matches webSiteRootURL)&amp;#34;);
        return true;  // Returns immediately — port, path, scheme all unchecked
    }
}
```&lt;/p&gt;
&lt;p&gt;The attack flow through `objects/aVideoEncoder.json.php`:&lt;/p&gt;
&lt;p&gt;1. User-supplied `$_REQUEST[&amp;#39;downloadURL&amp;#39;]` is passed to `downloadVideoFromDownloadURL()` at line 166
2. `isSSRFSafeURL()` is called at line 368 — passes due to hostname match
3. `url_get_contents($downloadURL)` fetches the attacker-controlled URL at line 378
4. Response…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: wwbn/avideo&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The `isSSRFSafeURL()` function in `objects/functions.php` contains a same-domain shortcircuit (lines 4290-4296) that allows any URL whose hostname matches `webSiteRootURL` to bypass all SSRF protections. Because the check compares only the hostname and ignores the port, an attacker can reach arbitrary ports on the AVideo server by using the site&amp;#39;s public hostname with a non-standard port. The response body is saved to a web-accessible path, enabling full exfiltration.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;Commit `40872e529` fixed an extension-based SSRF bypass by making `isSSRFSafeURL()` unconditional. However, `isSSRFSafeURL()` itself contains a same-domain shortcircuit that returns `true` when the URL&amp;#39;s hostname matches `webSiteRootURL`&amp;#39;s hostname, without validating the port:&lt;/p&gt;
&lt;p&gt;```php
// objects/functions.php:4290-4296
if (!empty($global[&amp;#39;webSiteRootURL&amp;#39;])) {
    $siteHost = strtolower(parse_url($global[&amp;#39;webSiteRootURL&amp;#39;], PHP_URL_HOST));
    if ($host === $siteHost) {
        _error_log(&amp;#34;isSSRFSafeURL: allowing same-domain request to {$host} (matches webSiteRootURL)&amp;#34;);
        return true;  // Returns immediately — port, path, scheme all unchecked
    }
}
```&lt;/p&gt;
&lt;p&gt;The attack flow through `objects/aVideoEncoder.json.php`:&lt;/p&gt;
&lt;p&gt;1. User-supplied `$_REQUEST[&amp;#39;downloadURL&amp;#39;]` is passed to `downloadVideoFromDownloadURL()` at line 166
2. `isSSRFSafeURL()` is called at line 368 — passes due to hostname match
3. `url_get_contents($downloadURL)` fetches the attacker-controlled URL at line 378
4. Response…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-j432-4w3j-3w8j</guid>
    </item>
  </channel>
</rss>
