CVE-2026-89417: OMGF | GDPR/DSGVO Compliant, Faster Google Fonts. Easy. <= 6.3.10 - Unauthenticated Stored Cross-Site Scripting via 's' Search Parameter in comments-atom Feed
The OMGF | GDPR/DSGVO Compliant, Faster Google Fonts. Easy. plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 's' Search Parameter via comments-atom Feed in all versions up to, and including, 6.3.10 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Successful exploitation requires that the front-end server serves the retained .tmp file without a Content-Type or X-Content-Type-Options header, enabling MIME-sniffing browsers such as Chromium to execute the injected script — a condition present by default on many Apache and nginx/php-fpm deployments.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Configure the front-end server to serve retained .tmp files with a Content-Type header and the X-Content-Type-Options header to prevent MIME-sniffing browsers from executing injected scripts.
Front-end server serving retained .tmp files Content-Type and X-Content-Type-Options headers = present
Event History
Frequently Asked Questions
Which deployments are most likely to be exposed?
Deployments using OMGF version 6.3.10 or earlier are affected when the front-end server serves the retained .tmp file without a Content-Type or X-Content-Type-Options header. The description notes that this condition is present by default on many Apache and nginx/php-fpm deployments, and MIME-sniffing Chromium-based browsers can execute the injected script.
Does exploitation require authentication or user interaction from the attacker?
No authentication or attacker-side user interaction is required. An unauthenticated attacker can inject script through the s search parameter in the comments-atom feed; the script executes when a user later accesses an injected page.
What server behavior is required for the injected script to execute?
The retained .tmp file must be served without both a Content-Type header and an X-Content-Type-Options header. This allows MIME-sniffing browsers, including Chromium, to interpret and execute the injected content as script.
What can be changed if updating the plugin is not immediately possible?
Configure the front-end server so retained .tmp files are served with an appropriate Content-Type and with X-Content-Type-Options, rather than leaving both headers absent. This addresses the server condition required for MIME sniffing to execute the injected script.