107 wires and counting
$ status: archived — this briefing has stopped; the archive stays readable. browse live briefings →

$ status

wire 2026-08-21
stories 80

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Kestrel blocks malformed SNI hostnames

By RepoJournal · Filed · About .NET · Composed from the cited sources · methodology

Kestrel now rejects malformed SNI server names, closing a DNS-label-boundary hole in the TLS handshake.

Kestrel's SniOptionsSelector accepted any ClientHello server_name string, and the wildcard path was a plain `EndsWith(suffix, OrdinalIgnoreCase)` scan that ignored DNS label boundaries [1]. That could let a crafted name, like one with an embedded null byte, slip past validation [2]. New checks `IsValidSniServerName` before both exact-name and wildcard lookups, so a handshake with a malformed name is now refused instead of misrouted [1]. Meanwhile Blazor fixed a DOM persistence bug where omitted attributes from `CaptureUnmatchedValues` stayed in the browser [3]. And the .NET JIT is trimming its walking infrastructure: fgWalkTree callbacks are being replaced with direct GenTreeVisitor implementations [4]. The move also deletes the old fgWalkData plumbing, and filling uninitialized memory with 0xcd is now the constant default, shaving 2.90% off checked-JIT instructions retired [5]. Android teams get a concurrency fix for FastTiming that stops heap corruption under sustained typemap load [6]. On the platform side, .NET 11.0.100-rc.1.26420.103 updates are flowing in [7], and aspnetcore, roslyn, and msbuild codeflow PRs are landing in dotnet/dotnet [8] [9] [10]. The Kestrel SNI validation and the Blazor DOM fix are immediate wins; the JIT refactor is a quieter but solid cleanup.

Action items

References

  1. [1] Reject malformed SNI server names in Kestrel's SniOptionsSelector ↗ dotnet/aspnetcore
  2. [2] Reject malformed SNI server names in Kestrel's SniOptionsSelector (#68015) ↗ dotnet/aspnetcore
  3. [3] Unexpected DOM persistence: Omitted attributes not removed during re-render ↗ dotnet/aspnetcore
  4. [4] JIT: replace fgWalkTree callbacks with GenTreeVisitor implementations ↗ dotnet/runtime
  5. [5] JIT: Always fill uninitialized JIT memory with 0xcd ↗ dotnet/runtime
  6. [6] [native] Fix concurrent FastTiming event storage ↗ dotnet/android
  7. [7] .NET 11.0.100-rc.1.26420.103 Updates ↗ dotnet/dotnet
  8. [8] [main] Source code updates from dotnet/aspnetcore ↗ dotnet/dotnet
  9. [9] [main] Source code updates from dotnet/roslyn ↗ dotnet/dotnet
  10. [10] [main] Source code updates from dotnet/msbuild ↗ dotnet/dotnet

Quick answers

What shipped in .NET on August 21, 2026?
Kestrel now rejects malformed SNI server names, closing a DNS-label-boundary hole in the TLS handshake. In total, 39 commits and 41 pull requests landed.
Who contributed to .NET on August 21, 2026?
11 developers shipped this update, including Alexander Köplinger, dotnet-maestro, ViktorHofer, lewing, MihaZupan, jakobbotsch, jonathanpeppers, and Šimon Rozsíval, and 3 more.
What were the notable .NET updates?
Reject malformed SNI server names in Kestrel's SniOptionsSelector, Reject malformed SNI server names in Kestrel's SniOptionsSelector (#68015), and Unexpected DOM persistence: Omitted attributes not removed during re-render.