<?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>Thu, 22 Oct 2026 08:39:14 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-280034</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-280034</link>
      <description>EUVD-2026-280034</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-280034</guid>
    </item>
    <item>
      <title>fkie_cve-2026-34729</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-34729</link>
      <description>&lt;p&gt;phpMyFAQ is an open source FAQ web application. Prior to version 4.1.1, there is a stored XSS vulnerability via Regex Bypass in Filter::removeAttributes(). This issue has been patched in version 4.1.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;phpMyFAQ is an open source FAQ web application. Prior to version 4.1.1, there is a stored XSS vulnerability via Regex Bypass in Filter::removeAttributes(). This issue has been patched in version 4.1.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-34729</guid>
    </item>
    <item>
      <title>GHSA-cv2g-8cj8-vgc7 — phpMyFAQ: Stored XSS via Regex Bypass in Filter::removeAttributes()</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-cv2g-8cj8-vgc7</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: phpmyfaq/phpmyfaq&lt;/p&gt;
&lt;p&gt;### Summary
The sanitization pipeline for FAQ content is:
1. `Filter::filterVar($input, FILTER_SANITIZE_SPECIAL_CHARS)` — encodes `&amp;lt;`, `&amp;gt;`, `&amp;#34;`, `&amp;#39;`, `&amp;amp;` to HTML entities
2. `html_entity_decode($input, ENT_QUOTES | ENT_HTML5)` — decodes entities back to characters
3. `Filter::removeAttributes($input)` — removes dangerous HTML attributes&lt;/p&gt;
&lt;p&gt;The `removeAttributes()` regex at line 174 only matches attributes with double-quoted values:
```php
preg_match_all(pattern: &amp;#39;/[a-z]+=&amp;#34;.+&amp;#34;/iU&amp;#39;, subject: $html, matches: $attributes);
```&lt;/p&gt;
&lt;p&gt;This regex does NOT match:
- Attributes with single quotes: `onerror=&amp;#39;alert(1)&amp;#39;`
- Attributes without quotes: `onerror=alert(1)`&lt;/p&gt;
&lt;p&gt;An attacker can bypass sanitization by submitting FAQ content with unquoted or single-quoted event handler attributes.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Affected File:** `phpmyfaq/src/phpMyFAQ/Filter.php`, line 174&lt;/p&gt;
&lt;p&gt;**Sanitization flow for FAQ question field:**&lt;/p&gt;
&lt;p&gt;`FaqController::create()` lines 110, 145-149:
```php
$question = Filter::filterVar($data-&amp;gt;question, FILTER_SANITIZE_SPECIAL_CHARS);
// ...
-&amp;gt;setQuestion(Filter::removeAttributes(html_entity_decode(
    (string) $question,
    ENT_QUOTES | ENT_HTML5,
    encoding: &amp;#39;UTF-8&amp;#39;,
)))
```&lt;/p&gt;
&lt;p&gt;**Template rendering:** `faq.twig` line 36:
```twig
&amp;lt;h2 class=&amp;#34;mb-4 border-bottom&amp;#34;&amp;gt;{{ question | raw }}&amp;lt;/h2&amp;gt;
```&lt;/p&gt;
&lt;p&gt;**How the bypass works:**&lt;/p&gt;
&lt;p&gt;1. Attacker submits: `&amp;lt;img src=x onerror=alert(1)&amp;gt;`
2. After `FILTER_SANITIZE_SPECIAL_CHARS`: `&amp;amp;lt;img src=x onerror=alert(1)&amp;amp;gt;`
3. After `html_entity_decode()`: `&amp;lt;img src…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: phpmyfaq/phpmyfaq&lt;/p&gt;
&lt;p&gt;### Summary
The sanitization pipeline for FAQ content is:
1. `Filter::filterVar($input, FILTER_SANITIZE_SPECIAL_CHARS)` — encodes `&amp;lt;`, `&amp;gt;`, `&amp;#34;`, `&amp;#39;`, `&amp;amp;` to HTML entities
2. `html_entity_decode($input, ENT_QUOTES | ENT_HTML5)` — decodes entities back to characters
3. `Filter::removeAttributes($input)` — removes dangerous HTML attributes&lt;/p&gt;
&lt;p&gt;The `removeAttributes()` regex at line 174 only matches attributes with double-quoted values:
```php
preg_match_all(pattern: &amp;#39;/[a-z]+=&amp;#34;.+&amp;#34;/iU&amp;#39;, subject: $html, matches: $attributes);
```&lt;/p&gt;
&lt;p&gt;This regex does NOT match:
- Attributes with single quotes: `onerror=&amp;#39;alert(1)&amp;#39;`
- Attributes without quotes: `onerror=alert(1)`&lt;/p&gt;
&lt;p&gt;An attacker can bypass sanitization by submitting FAQ content with unquoted or single-quoted event handler attributes.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Affected File:** `phpmyfaq/src/phpMyFAQ/Filter.php`, line 174&lt;/p&gt;
&lt;p&gt;**Sanitization flow for FAQ question field:**&lt;/p&gt;
&lt;p&gt;`FaqController::create()` lines 110, 145-149:
```php
$question = Filter::filterVar($data-&amp;gt;question, FILTER_SANITIZE_SPECIAL_CHARS);
// ...
-&amp;gt;setQuestion(Filter::removeAttributes(html_entity_decode(
    (string) $question,
    ENT_QUOTES | ENT_HTML5,
    encoding: &amp;#39;UTF-8&amp;#39;,
)))
```&lt;/p&gt;
&lt;p&gt;**Template rendering:** `faq.twig` line 36:
```twig
&amp;lt;h2 class=&amp;#34;mb-4 border-bottom&amp;#34;&amp;gt;{{ question | raw }}&amp;lt;/h2&amp;gt;
```&lt;/p&gt;
&lt;p&gt;**How the bypass works:**&lt;/p&gt;
&lt;p&gt;1. Attacker submits: `&amp;lt;img src=x onerror=alert(1)&amp;gt;`
2. After `FILTER_SANITIZE_SPECIAL_CHARS`: `&amp;amp;lt;img src=x onerror=alert(1)&amp;amp;gt;`
3. After `html_entity_decode()`: `&amp;lt;img src…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-cv2g-8cj8-vgc7</guid>
    </item>
  </channel>
</rss>
