frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Understanding the Worst .NET Vulnerability

https://andrewlock.net/understanding-the-worst-dotnet-vulnerability-request-smuggling-and-cve-2025-55315/
134•ingve•2h ago

Comments

r0x0r007•2h ago
That feeling when you open a brand new project in VS and immediately get: "The solution contains packages with vulnerabilities"
CharlieDigital•2h ago
That's a Good Thing rather than shipping vulnerable code.
cm2187•2h ago
And now that everything is a package, it won’t get fixed with windows update. Which means that if the website isn’t actively developed and regularly deployed, it will remain vulnerable
lsbehe•1h ago
M$ offers system wide installations. Those don't seem to be updated automatically either but at least I don't have to deploy 6 servers now.
Uvix•1h ago
On Linux, system-wide installations are handled through the system's package manager.

On Windows, if you have the "Install updates for other Microsoft products" option enabled, .NET [Core] runtimes will be updated through Windows Update.

If the domain's group policy won't let you turn it on from the UI (or if you want to turn it on programmatically for other reasons), the PowerShell 7 installer has a PowerShell script that can be adapted to do the trick: https://github.com/PowerShell/PowerShell/blob/ba02868d0fa1d7...

lsbehe•1h ago
archlinux doesn't offer the new version yet. https://archlinux.org/packages/extra/x86_64/aspnet-runtime/ Only exposing stuff behind caddy so it doesn't seem to be an issue.
Traubenfuchs•1h ago
It's pretty much the same in Javaland with maven and spring.

Create a new project with the latest spring version, and maven will warn you.

At this point I consider this worthless noise.

weinzierl•44m ago
I think Spring doesn't consider vulnerabilities in one of their components to be a Spring vulnerability. At least they do not release an updated version until the next scheduled patch version, not even in the paid version.

You can either wait and accept being vulnerable or update the component yourself and therefore run an unsupported and untested configuration. Doomed if you do, doomed if you don't.

pastage•2h ago
It has been in the making for at least ten years, the problem for me has been that that production environments and test environments are not the same when you use proxys. So you need to check both, and you need to have the same type of connection that your customers use.

https://www.youtube.com/watch?v=B2qePLeI-s8

From the HTTP must die thread a month ago. https://news.ycombinator.com/item?id=44915090

radicalbyte•2h ago
The problem is that we have a culture of accepting mangled requests on the web. This happens in application code too - because web developers are sloppy it's common to either disable or not use strict input validation.

In a pure .Net world it's the norm to use strict input validation and tell clients to fix their bad requests and this looks like one of those cultural blindspots. "We" wouldn't naturally consider a case where a server accepted a request which has not been strictly validated. With the move to .Net Core and a broadening of the scope to not only target enterprises and we'll find issues like this....

jen20•27m ago
I don't know about "not targeting enterprise" being the problem here - it's super common to find "enterprise" .NET APIs that return 200 for every possible condition and put some error text as a JSON blob in the response with "success" = "false" while setting caching headers.

Mostly this stuff comes down to skill issues.

pixl97•48m ago
This tends to be huge in enterprise. Development, test/UAT, and production will all have different proxy methods and requirements. Devs may have a proxy with NTLM. Test may have something like proxy auto detect. Prod may be manually defined.

It's really fun trying to test connectivity issues like this.

giancarlostoro•29m ago
In a high quality setup you have a staging server that is a carbon copy of PROD. Bonus points if you make it so staging and PROD are 100% interchangeable, to the level that you can point PROD to staging, and then turn PROD into staging, and do the same next deployment. If you can do that, you have a stronger change of at least reproducing production issues.

Dev, UAT / QA, Staging, PROD. This is the ideal setup in my eyes. It lets QA / UAT hold changes that are maybe not 100% ready, while not blocking testing that is mean to go into PROD ASAP because it can sit in staging.

jen20•21m ago
To be any use staging environments should be scientific tests. They should prove that a given change, if it goes to production, will work.

You cannot do this if you're changing more than that one thing. The only way to make this work really is either dynamic environments that completely mirror everything, which tends to be time consuming or expensive or continuous delivery to a production-like environment via feature flags and so forth.

Having a staging server that is a mirror of production[1] improves things a bit over doing nothing. You need the entire environment, including all your dependencies, to have a real test of anything, and that includes things that corporate IT departments typically hate.

[1]: Why is it so common to see "PROD" written as if it were an acronym?

giancarlostoro•8m ago
I always write it that way maybe for the same reason others do it, to emphasize how critical PROD is, so you don't overlook it if you just read prod, or production. If you see PRODUCTION you might slow down and go "oh crap" so it is definitely an emphasis I always add when talking about production in text. PROD is just shorter to write, but all caps makes the emphasis stick.

If you staging environment is pointing to the exact same databases PROD is, and other similar dependencies, there's no reason you can't hotswap it with PROD itself, I mean I've done something like this before.

It's much easier if your production deployment pipeline is setup for it though. You'd want to scale down drastically for staging, but in my eyes, if you're not going to have staging be as carbon copy of PROD as you humanely can have it, you might as well not have that fourth environment and just suffer when you cannot reproduce bugs. The real gem of staging is that if it would break in PROD, it would definitely break in staging. In the few companies where we had a carbon copy of PROD setup as a staging environment where key things are pulled from PROD itself, we've had way less bugs promoted to PROD when QA tests them in staging.

In theory the ROI is worth it, if you care about quality. Sadly most places do not care about quality nearly enough.

forksspoons•2h ago
It sounds like this is anything built upon Kestrel which is a lot. I was going to try to list it all here, but holy cow.
nirvana99•1h ago
ASP.NET Core:

>= 6.0.0 <= 6.0.36

>= 8.0.0 <= 8.0.20

>= 9.0.0 <= 9.0.9

<= 10.0.0-rc.1

Microsoft.AspNetCore.Server.Kestrel.Core:

<= 2.3.0

Uvix•1h ago
Those are just the ones they're fixing. Versions <6.0 are still vulnerable, they're just not getting patched because they're out of support.
ozim•54m ago
Don't use out of support software or at least don't use out of support software exposed to the internet.
fabian2k•2h ago
> And as a final reminder, even though request smuggling is typically described and demonstrated using a proxy in front of your server, just not using a proxy does not mean you're automatically safe. If you're reading, manipulating, or forwarding request streams directly in ASP.NET Core, as opposed to just relying on the built-in model binding, then you might be at risk to request smuggling attacks.

I'm probably missing something, but I still don't get how this would work without a proxy unless my own code manually parses the request from scratch. Or maybe that is what the author means.

The vulnerability, as far as I understand it, relies on two components interpreting these chunks differently. So one of them has to read \r or \n as valid markers for the chunk end, and the other one must only allow \r\n as specified.

Kestrel used to allow \r and \n (and the fix is to not do that anymore). So only if my own code parses these chunks and uses \r\n would I be vulnerable, or?

The proxy version of the vulnerability seems quite clear to me, and pretty dangerous as .NET parses non-compliant and would thereby be vulnerable behind any compliant proxy (if the proxy is relevant for security aspects).

But the single application version of the vulnerability seems to me to be very unlikely and to require essentially having a separate full HTTP parser in my own application code. Am I missing something here?

froggertoaster•21m ago
I'm a simple man. I see Andrew Lock, I upvote.
mzs•13m ago
https://w4ke.info/2025/06/18/funky-chunks.html
colseph•12m ago
I wonder how many vulnerabilities have been accidentally created by adherence to postel's law rather than just being strict in what's accepted too.
capitol_•4m ago
If "A billion dollar mistake" wasn't already taken by 'null', then this would be a good candidate.

Society will accept a death caused by a robotaxi, Waymo co-CEO says

https://www.sfgate.com/tech/article/society-accept-robotaxi-death-waymo-21123178.php
1•c420•41s ago•0 comments

The Mini Cheetah Robot (2019)

https://build-its.blogspot.com/
1•nill0•43s ago•0 comments

How to get your k-factor up by 10x

https://www.vortexsoftware.com/
1•santiaparicio•2m ago•1 comments

A hacking gang held Italy's political elites to ransom

https://www.politico.eu/article/italy-milan-hackers-carmine-gallo-enrico-pazzali-samuele-calamucc...
1•campuscodi•2m ago•0 comments

"The Age of Extraction"–an urgent, pessimistic take on the dominance of big tech

1•bookofjoe•2m ago•1 comments

Lottery and Leverage: A Simple Formula for Designing Your Own Luck

https://jordandipietro.com/p/lottery-leverage-a-simple-formula-for-designing-your-own-luck
1•jdipietro7•5m ago•0 comments

Desktop Inverted Pendulum (part 1)

https://build-its-inprogress.blogspot.com/2016/08/desktop-inverted-pendulum-part-1.html
1•nill0•5m ago•1 comments

Dutch government took control of Nexperia over fears it was being gutted

https://www.reuters.com/sustainability/boards-policy-regulation/dutch-government-took-control-nex...
1•dboreham•6m ago•0 comments

Molecular snapshots reveal how the body knows it's too hot

https://news.northwestern.edu/stories/2025/10/molecular-snapshots-reveal-how-the-body-knows-its-t...
1•gmays•6m ago•0 comments

An Idea Is a Need

https://www.isaacbowen.com/2025/10/28/idea
1•isaacbowen•6m ago•0 comments

How the UK Lost Its Shipbuilding Industry

https://www.construction-physics.com/p/how-the-uk-lost-its-shipbuilding
3•chmaynard•9m ago•0 comments

Maritime lions hunting seals on the beach

https://www.bbc.com/future/article/20251009-the-photo-showing-namibias-desert-lions-living-on-the...
1•andsoitis•9m ago•0 comments

The Cursed Legacy of JavaScript's Date Class

https://spin.atomicobject.com/javascript-date-class/
1•philk10•9m ago•0 comments

I created an app that shows the best tools for developers

https://devbarrel.com
1•Nikos_•10m ago•0 comments

Ubiquiti SFP Wizard

https://blog.ui.com/article/welcome-to-sfp-liberation-day
1•eXpl0it3r•12m ago•0 comments

How does Cloudflare's Speed Test work?

https://blog.cloudflare.com/how-does-cloudflares-speed-test-really-work/
1•kwar13•13m ago•0 comments

How to Download All Videos from a YouTube Channel with yt-dlp

https://www.endpointdev.com/blog/2025/09/how-to-download-youtube-channel/
1•chmaynard•14m ago•0 comments

Show HN: Early-Stage MVP – AI-Powered Customer Support Solutions

https://afec48d1-2eb5-490b-a1d8-f3b483aa87dc-00-3om0kaugaka9.kirk.replit.dev/landing/972ca3fc-065...
1•Founder-Led•15m ago•0 comments

Fuzzy/Non-Binary Graphing

https://gods.art/articles/fuzzy_graphing.html
2•calebm•15m ago•1 comments

RFC: Evolving PyTorch/XLA for a more native experience on TPU

https://github.com/pytorch/xla/issues/9684
1•agnosticmantis•15m ago•0 comments

Em Dashes and Elipses

https://doc.searls.com/2025/10/27/on-em-dashes-and-elipses/
1•speckx•15m ago•2 comments

Microsoft, OpenAI reach new deal to allow OpenAI to restructure

https://www.reuters.com/business/microsoft-openai-reach-new-deal-allow-openai-restructure-2025-10...
1•falcor84•17m ago•0 comments

China Has Added Forest the Size of Texas Since 1990

https://e360.yale.edu/digest/china-new-forest-report
4•Brajeshwar•19m ago•1 comments

America's immigration crackdown is disrupting the global remittance market

https://www.npr.org/sections/planet-money/2025/10/28/g-s1-94960/americas-immigration-crackdown-is...
1•thelastgallon•19m ago•0 comments

Microsoft to Get 27% of OpenAI, Access to AI Models Until 2032

https://www.bloomberg.com/news/articles/2025-10-28/microsoft-to-get-27-of-openai-access-to-ai-mod...
16•thomasjoulin•20m ago•9 comments

The Crop That Destroyed Entire Countries [video]

https://www.youtube.com/watch?v=fsu6bJQewtU
1•thelastgallon•20m ago•0 comments

Ask HN: In 2025, what search engine offers the best results?

1•AbstractH24•20m ago•1 comments

Local tech bro discovers social interaction [video]

https://www.youtube.com/watch?v=3gm7gZp99fw
1•LazyInsanity44•20m ago•0 comments

Sylius – open-source Headless eCommerce Platform

https://sylius.com/
1•NotInOurNames•23m ago•0 comments

Knausgaard – The Reenchanted World

https://harpers.org/archive/2025/06/the-reenchanted-world-karl-ove-knausgaard-digital-age/
1•latentnumber•23m ago•0 comments