Top
Best
New

Posted by theanonymousone 1 day ago

Node2Shell evolves to HTTP2Shell, blast radius affects many HTTP libs and apps(www.aikido.dev)
304 points | 151 comments
netsharc 21 hours ago|
Well, whoever picked the name HTTP2Shell certainly didn't use any intelligence, artificial or genuine.

It's so meaningless, broad and undescriptive of the actual issue. No it probably doesn't affect an HTTP server with nothing else behind it, so why is HTTP being blasted?

You might as well call it Exploit Pro Max...

super256 7 hours ago||
A better name is Konduktsemmel, which is a bread roll (Semmel) which you eat on a funeral (Kondukt) in Austria. Fits to Brotli, doesn't it?

(Actually you eat cake and drink coffee on a funeral, but it's still called like that in some parts of Austria.)

Rapzid 17 hours ago|||
I think we've all seen where an LLM names a session, issue, or PR based on its early understanding and fails update it later.

AI isn't being asked to review the title, and it doesn't have experience or think, so of course it's not going to flag it.

No human reviews anything anymore so of course they aren't going to catch it.

Edit: AI for as good as it is at "writing" is terrible at writing and particularly at naming things. I had an AI name a client OpenAICompatibleEmbeddingClient. "Brooooo.. I think "compatible" is implied, who names stuff like that?!"

rafram 11 hours ago|||
That means that it supports other services with OpenAI-compatible embeddings APIs (not just OpenAI's own API). Seems reasonable!
Rapzid 6 hours ago||
Fortunately I didn't ask it for excuses and so it didn't give them like a pedantic junior on the spectrum.

Which they will happily do if you ask them "why" they did something. 100% they will give their best "well actually" impression.

rmaxdev 14 hours ago||||
LLM-based AI is a synthesis of human observed behavior
PalmPilotProMax 8 hours ago||
But does it bring synergy with our current paradigm?
lifeisloving 12 hours ago|||
Descriptive type names are a good thing. Id argue that one isnt that bad, but llms do take it to another level sometimes.
CharlieDigital 21 hours ago|||
Feels like the goal was sensationalism.
cromka 9 hours ago||
Something that OpenAI would coin. Just like Anthropic did with Mythos.
rererereferred 17 hours ago|||
Just call it CVE-2026-111497. More accurate and much easier to remember and to talk about with your boss.
kevincox 9 hours ago|||
I can maybe remember CVE-2026. But there is no way I can remember 6 random digits.
ygjb 8 hours ago||
Yeah, because the six number chunk is near the limit of recall. Don't remember CVE-2026 since the year and CVE can be reconstructed from time memory. You know it came up this year. Remember that vuln 111-497 (as two chunks) came out this year, and remembering two short chunks is easier.
N19PEDL2 17 hours ago|||
Or EUVD-2026-108169.
cowlevel 17 hours ago|||
Actually it does, if the server is willing to decompress POST bodies.
croes 17 hours ago||
Brotli bodies, so Brotli2Shell
SkiFire13 1 hour ago||
And only those using Google's Brotli implementation.
techpression 20 hours ago|||
I immediately thought HTTP/2 was having a bad day somehow. Might I suggest Software2Shell to be less confusing.
CharlieDigital 20 hours ago||
Specifically Brotli2Shell
photios 19 hours ago||
google2shell would have been nice :D
anilakar 19 hours ago|||
Alt-tabbing from browser to terminal and back has always felt exhausting. Nice.
devsda 18 hours ago|||
With ad served malware, this wouldn't be the first time though :)
reddozen 20 hours ago|||
The author clearly used super intelligence.
Stitch4223 6 hours ago||
You and I, my friend, are the only ones in this thread not being sent to work in the glitter mines of south Arkansas as enemies of God's Country. SI has the best names, other intelligence is vastly inferior, using it is worse than many schisms of -isms combined.
TZubiri 15 hours ago|||
It looks like marketing HTTP2Shell seems to appeal to everyone that uses HTTP, while Brotli2Shell might not wake up people that know what it is.

Now, whether it's warranted or not, that's another matter, but they know how to appeal for maximum awareness/interaction.

groundzeros2015 18 hours ago||
All these names are silly. It's just marketing.
sigmarule 17 hours ago||
There are levels of silliness, and this has achieved a new one.
pimterry 19 hours ago||
Much prefer the Broccoli2Shell name & site (for the same vuln): https://broccoli2shell.com/. For starters, I'm pretty sure you can hit this without HTTP if you do any manual Brotli decoding, HTTP just happens to be the most common case that comes up.
illusive4080 15 hours ago|
Why do critical vulnerabilities get a cutesy name and website nowadays? Who’s paying for these sites?
cyphar 1 hour ago|||
This has been the case for more than a decade, Heartbleed was probably the one which really created the trend.
sbarre 14 hours ago||||
Small static websites are effectively free (Cloudflare, GCP free tier, etc)..
reassess_blind 12 hours ago||
Domains aren’t
mynameisvlad 12 hours ago|||
Sure, but domains aren't going to be more than $10 or $20 for the year they're relevant.
ygjb 8 hours ago||
\o/

1. See a vuln domain reported, clone the site. 2. Wait for it to expire and snag it. 3. Republish the site with malware 4. Watch people dither about domain names and stuff instead of taking time to fix things.

ygjb 8 hours ago|||
Sure they are. The domain you want isn't.

GitHub.io domains, workers.dev domains, etc are all free domains.

Clever use and abuse of some startups can get you a free domain with a signup package that you can subsequently transfer out, but those are harder to find these days.

Seriously, the bad guys figure this out all the time.

cubefox 15 hours ago||||
I'm certainly not complaining about some selfless guy making a helpful website without expecting anything in return!
nicce 13 hours ago||
They excpect fame and may make things look worse than they are
mynameisvlad 12 hours ago|||
How, exactly, are they making "things look worse than they are"? By.... showing what the issue is?
nicce 11 hours ago||
Not particularly referencing to this link, but usually severity is made more severe than it actually is. One kind of sensationalism is usually used.
cubefox 11 hours ago|||
No, they aren't. The website doesn't list an author, so fame is out of the question, and they say exactly how severe the bug is rated ("Rated 9.2 Critical (CVSS 4.0) by GitHub, High by Node.js.") right at the top.
nicce 10 hours ago||
There is named entity in the end, and "we" statement. But yeah, I was speaking in general, not so specifically about this page. It is better than most who do this.
TZubiri 15 hours ago||||
Are you asking why do we name things? In a programming forum?
solyin 1 hour ago|||
Listen. There are TWO problems, okay‽
o_m 13 hours ago|||
It is annoying (and ironic) because larger companies, that will benefit from this information the most, blocks newly registered domains.
nayuki 2 hours ago||
I see some irony here. For a period of time, Google chose not to include JPEG XL in Chrome because vulnerabilities in the library could compromise the software - a legitimate concern. Yet, Google is the author of the Brotli data compression format a decade before the JPEG XL drama, and was happy to use it in Chrome and encourage others to use the library, despite the fact that it also increases the attack surface.
Rapzid 19 hours ago||
> reported it as unauthenticated remote code execution that works in both directions

> but it wasn't recognized as a security issue at the time and no release shipped with the fix until now

I'm always getting my dangerous RCE bugs mixed up with my harmless RCE bugs.

I'm curious how this was reported and fixed back in Feb but nobody recognized the importance. A case of AI automation and nobody at the wheel?

wavemode 14 hours ago|
I'm not seeing any source for the claim that OpenAI discovered this in February. The source that the article links (a tweet by OpenAI) doesn't claim that.
bawolff 19 hours ago||
To me, the surprising part is how many of these implement brotli compression of request (not just response) bodies, given how obscure a feature that is.

In any case all this sensationalism is starting to get annoying. Patch your stuff and move on.

Edit: actually, between all the sensationalism, its hard to tell from the article how many of these actually support brotli compressed request bodies in common configs vs some other use of brotli (which is bad but nowhere near as critical)

ArcHound 19 hours ago||
I think the issue is that the servers "silently" support brotli. Then nobody uses it, but the attacker can still abuse the feature.

So as a hotfix I block this on my reverse proxy.

bawolff 19 hours ago|||
But is that actually true?

It seems like node supports it with body parser enabled.

But im having trouble finding any docs suggesting anything else supports it on inbound requests.

Obviously there are other scenarios where it is exploitable, but it is a much less severe vuln if the attacker must first force the program to make an outbound request to a server of its chosing rather than just connect to a vulnerable server.

ArcHound 15 hours ago|||
The idea is to identify brotli encoding in the content-encoding header and block that on nginx. This shouldn't reach vulnerable brotli parser in node.

I hope my assets are not connecting to malicious servers, otherwise yes, I have a problem.

Rapzid 17 hours ago||||
Asp.Net adds Brotli support if you "UseRequestDecompression" or "UseResponseCompression".

DotNet, however, has it's own C# Brotli implementation.

dboreham 14 hours ago|||
According to Claude when I asked it to audit one of our Python applications, there are scenarios where Brolti can be used only when some Python library detects that the C library is installed on the system. So your Brolti-ness can depend on which machine your code runs on. Ymmv, it didn't look to be a practical possibility in our code so I didn't probe further.
mort96 14 hours ago||
These chat bots always hedge like that. They will never give you a straight answer, it's always "depending on version and build configuration and system configuration".

Investigate yourself. Read the documentation. Grep for brotli in the source. Don't blindly trust a chat bot when it says it "might happen in certain configurations".

dboreham 13 hours ago||
Chat bot lol. It did all of those things including scanning the binary. I ran it after doing my own (albeit more limited, but maximal-human) investigation.
mort96 13 hours ago||
Is that meant to be a response to what I wrote or did you reply to the wrong comment
AlienRobot 16 hours ago||||
I wonder if we'll see more of this thanks to AI. Extremely complex features that nobody uses and that were easy to add, which incidentally tremendously expand the attack surface. One would hope that maintainer would be wise to avoid that, but for how long?
fock 13 hours ago|||
https://github.com/tmux/tmux/pull/5709/changes it is already happening. Nice 50 lines of C-code to add support for kernel-keyrings which no userland software uses and literally is a one-line config-option.
ArcHound 15 hours ago|||
I think so, especially vibe coded software. I think hackers have the advantage now and defenders need to limit attack surface more rigorously.

Unfortunately that means understanding and limiting dependencies of developers... Yea, good luck.

My popcorn is ready. My servers are not.

whoanoway 15 hours ago||
I'm not saying that my experience translates 1:1. As a child of domestic violence, all I can say is that it never gets better. Sadly, my feeling is that the violence will only escalate from here. If you look at the bright side, you can earn your stripes as a legitimate infosec engineer and prove your worth to the industry and the world.
ArcHound 15 hours ago||
I'm sorry that happened to you. I tend to agree that the race to the bottom will continue.

And don't worry about my stripes, I'm mostly talking about my hobby self-hosted apps. If anything, should someone hack them I'll have a funny article to post on my blog. Professionally, I do things differently.

bflesch 16 hours ago|||
Cloudflare has this amazing feature where it accepts compressed payloads and forwards them to unsuspecting backends. Can be weaponized in many ways.
therein 12 hours ago||
My experience with Brotli is from back when all the hype was mobile first and India etc was super mobile first so all these social networks lost their mind optimizing for request success and speed. So they were going crazy over micro-wins like that.
nairboon 20 hours ago||
Brotli2Shell seems to be a more appropriate name for this.
sli 1 hour ago||
There's this other name for the same vuln: https://broccoli2shell.com/
mkl 19 hours ago||
Not when you're prioritising sensationalism over accuracy. Everyone's heard of HTTP, but hardly anyone's heard of brotli.
brazukadev 18 hours ago||
call it GoogleBrotli2Shell then.
flyingjoe 20 hours ago||
A few month ago, everyone was advising to use cool-downs in your package upgrades. Now we're constantly overriding those because security incidents will be exploited immediately. Guess that's just how it's gonna be from now on.
acdha 8 hours ago||
That's why it's important to practice your processes for both shipping quickly and overriding cooldowns. There's a baseline of things which are not easy to exploit where you want to patch on a regular cadence and the risk posed by a supply chain attack is greater than the risk of an attacker having enough of a footprint inside your systems to escalate. The fact that sometimes you have a specific situation like this where that's not true doesn't mean that 9 times out of 10 the cooldown was the better risk-reduction strategy.
medler 20 hours ago|||
It used to be a flex to say you deploy daily but it’s going to become a necessity just to keep up with the vulns
ManuelKiessling 15 hours ago||
CI/CD — Continuous Incidents, Continuous Defense.
mort96 14 hours ago||
Yeah, obviously? Deploy fixes to security issues which apply to you as soon as possible, deploy random feature additions and non-critical bug fixes after some cooldown.

As always, the easiest way to manage this is to have as few dependencies as possible. If you have a lockfile with thousands of entries, you won't be able to go through them and decide which upgrades are legitimate urgent security updates and which can wait. If you have 10? You'll manage.

cowsandmilk 20 hours ago||
Article claims OpenAI found this in February, but I don’t think that’s correct. I think Google made a change to the Brotli source code in February that fixes the issue, but hadn’t realized it was a security issue and therefore hadn’t cut a release.
Rapzid 19 hours ago|
Yeah that doesn't make a lot of sense that they reported it but also nobody knew it was a security issue..

Maybe an LLM just happened to do one of those "while I'm here" fixes in Feb and because nobody reviews anything anymore..

"Fixed reading too many bytes."

LGTM!

Edit: I was close! "Detect and report invalid stream earlier." Could have been a person.

tetha 21 hours ago||
Well at least we know about it while or before the giant patch effort for everything else goes on. Just put it onto the pile.

Who turned on hard mode this week?

loloquwowndueo 20 hours ago|
Nah man. We were on casual mode all along. This is the new normal.
Rapzid 9 hours ago|
Ubuntu still has libbrotli1 patch under review as medium. This is holding up updates to libcurl and thus git and a whole bunch of other stuff.
misiek08 2 hours ago|
They’ll have it for few months and then make you pay to get the update.
More comments...