CVE-2026-43938 YAF.NET: Unauthenticated Stored Second-Order XSS in Admin Event Log via Reflected `User-Agent` Header
An attacker can inject malicious scripts into the admin event log via the User-Agent header, leading to stored XSS when viewed by administrators.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-43938?
CVE-2026-43938 is a high-severity cross-site scripting vulnerability in YAFNET, published on 12 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
YetAnotherForum.NET (YAF.NET) is a C# ASP.NET forum. Prior to 4.0.5 and 3.2.12, the application's database logger (YAFNET.Core/Logger/DbLogger.cs) captures the incoming request's User-Agent header into a JObject, serializes it with JsonConvert, and stores the result in the EventLog.Description column whenever an event (e.g., an unhandled exception) is logged. The admin event-log page (YetAnotherForum.NET/Pages/Admin/EventLog.cshtml.cs) later deserializes that JSON in FormatStackTrace() and interpolates the UserAgent value directly into an HTML string with no encoding, and the Razor view EventLog.cshtml emits the result through @Html.Raw. This vulnerability is fixed in 4.0.5 and 3.2.12.
Which versions are affected by CVE-2026-43938?
4 open source packages ship an affected version, including YAFNET.Core.
| Package | Affected | Fixed in |
|---|---|---|
YAFNET.Core NuGet | All versions | 3.2.12 |
YAFNET.Core NuGet | All versions | 3.2.12 |
YAFNET.Core NuGet | From 4.0.0-beta01 | 4.0.5 |
YAFNET.Core NuGet | From 4.0.0-beta01 | 4.0.5 |
How do I fix CVE-2026-43938?
Upgrade YAFNET.Core to a fixed version for your release line: 3.2.12 or 4.0.5.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-43938 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-43938 exists.
Sources
Also known as GHSA-33gv-fc78-qgf5.