357 points soheilpro 1 day ago 192 comments
koolba 1 day ago | parent
Is that just crappy LLM generated copy that is assuming that GitHub the company is responsible for that module because it’s hosted there?
stonogo 1 day ago | parent
kgeist 1 day ago | parent
>As of the time of this blog’s publication, no exploit is available and there are no reports of exploitation in the wild.
Since when does "memory corruption" = "RCE"? Last week I found and reproduced a memory corruption (a use-after-free) in PHP's runtime after running an on-premise agent for just 30 minutes. There's nothing about it on the internet. Should I write a blog post about a scary new vulnerability? :)
fooqux 1 day ago | parent
kgeist 1 day ago | parent
stonogo 1 day ago | parent
woodruffw 1 day ago | parent
It's perfectly sufficient to have a CVE for just memory corruption, so the "RCE" framing here feels overstated. Particularly when an LLM should easily prove RCE out if it is in fact present.
thephyber 19 hours ago | parent
Before we get too whiny about "it's only memory corruption without any RCE PoC", let's wait until the CVE is unembargoed.
perching_aix 1 day ago | parent
> (...) public research has demonstrated a reliable exploit against a default-configured server with the mod_http2 module enabled. Successful exploitation allows an attacker to execute arbitrary commands, gain full control of the server process, and access or modify sensitive information.
https://access.redhat.com/security/cve/cve-2026-119618
Discovered independently by Anthropic (Oct 26) and Google (Nov 3), so I'm compelled to believe it: https://httpd.apache.org/security/vulnerabilities_24
But maybe someone will post another HN challenge like with the PHP thing?
uptrails 21 hours ago | parent
Let me remind you that in response to the PHP bug, one of the front-page HN posts was a guy saying it's probably not exploitable and another offering Bitcoin to anyone who pops their server... with predictable results.
People can be pretty creative with exploitation primitives, and LLMs now replicate that at a scale. And yep, if you found a use-after-free that can be triggered remotely in PHP under some reasonable assumptions, you should probably treat it as a security bug.
thehamkercat 1 day ago | parent
> CVE-2026-119618 is a critical, high-severity vulnerability involving....
two CVEs? (111497 != 11968)
kbenson 1 day ago | parent
2bird3 23 hours ago | parent
davisr 22 hours ago | parent
brabel 22 hours ago | parent
iririririr 20 hours ago | parent
amluto 17 hours ago | parent
Even the latest and greatest big models miss trivial errors when simply asked to review a chunk of text.
spuz 20 hours ago | parent
lakeviewterrace 1 day ago | parent
I want the rabidly AI-hating projects to stand their ground and refuse to fix vulnerabilities discovered with AI assistance.
nozzlegear 1 day ago | parent
Why?
perching_aix 23 hours ago | parent
patchtopic 20 hours ago | parent
jonhohle 23 hours ago | parent
AI finding vulns? I don’t see how it’s different from valgrind, static analysis, afl, or other fuzzer. I don’t think getting fresh, high-signal analysis is what AI-hating projects are concerned with.
JodieBenitez 22 hours ago | parent
> No LLMs for finding bugs.
jamesfinlayson 22 hours ago | parent
I've seen on a few open source projects I follow the 100% AI patch with notes to the effect of "I haven't compiled let alone tested these changes but AI said it's fine and my cursory glance agrees".
Like come on - I'm not going to judge using AI to make a useful change, but at least put in more than zero effort.
yjftsjthsd-h 21 hours ago | parent
> AI tools have several ethical issues. They require an unreasonable amount of energy[1] and water[2] to build and operate, their models are built in part with heavily exploited workers in unacceptable working conditions[3], usually without consent from or compensation for creators of the source material[4] and oftentimes causing DDoS attacks against FOSS infrastructure in the process[5] (which in turn force the deployment of challenge-based protections and increase cost and complexity of self-hosting for everybody[6]). Furthermore, they are being used to undermine labor and justify layoffs[7]. These are harms that we do not want to perpetuate, even if only indirectly.
( https://docs.nura.eco/policies-and-processes/development/ai-... )
If you really believe that AI tools are automatically unethical because they destroy the environment, harm workers, and constitute an attack on FOSS infrastructure, then it doesn't really matter how the tool is being used. If you just don't want to see code quality decline, then it's probably not a problem.
jonhohle 10 hours ago | parent
I totally buy into the FOSS and DOS arguments, though. I just did a test: “implement `size_t strlcpy(char dst, const char src, size_t size)` in C”. In a one-shot, 3 of the top 5 LLMs will give OpenBSD’s implementation with the license stripped. The other two will do it in some cases where other context exists first (nothing prodding, just asking for other implementations). Similar results with qsort, but they split on two different implementations, change variable names, and fail to emit the original license.
wild_pointer 1 day ago | parent
toast0 1 day ago | parent
jamesfinlayson 22 hours ago | parent
TZubiri 1 day ago | parent
I have 1 apache acting as a proxy for vhosts and
> a2dismod http2
gives me
> Module http2 already disabled
I don’t want to tempt fate (and hackers ) but I have dodged lots of major vulns this year with my strategy of writing code by hand instead of pip installing everything
only vuln I was exposed to was copy.fail, but that was a defense in depth weakness, and I was vulnerable to the kvm weakness if there was a malicious tenant in my host’s hypervisor, but that’s not fair I’m poor so I don’t have a dedi.
maybe the tcp vuln was the most exposed I’ve been but that was a very short window that got auto upgraded by apt with a high attack complexity
maybe I can write about how I survived 2026 without getting a supply chain vuln and get some work or students on new years? I feel that’ll be a pretty big accolade.
perching_aix 1 day ago | parent
hypfer 21 hours ago | parent
I guess it makes sense that "the cloud" moves to it, but beyond that, it might be fine?
TZubiri 9 hours ago | parent
Seems like the Attack Complexity would be quite high, especially without access to my source code.
And again the backend is usually just a python server that opens port 80 with sockets and parses and generates the HTTP strings in code. Maybe a raw flask server when I was feeling naughty, so maybe you can smuggle a request there or something, but as long as there's no RCE + LPE it's not something I'd be worried about.
At any rate, any project that has a sufficient sensitivity and budget threshold gets their own VPS and apache is dropped and you just have the raw python server with stunnel or an external SSL terminator like ELB, so there isn't much to gain from such a sophisticated attack on Apache, since that gets dropped once the paydirt becomes juicy enough.
g-b-r 1 day ago | parent
perching_aix 23 hours ago | parent
The fix commit was a one liner by Apache developer Eric Covener, so unsurprisingly, no Claude in sight there either.
Or did you mean in general? Not exactly coinciding news, so a bit odd if so...
g-b-r 23 hours ago | parent
fulafel 23 hours ago | parent
throooooo 23 hours ago | parent
orev 22 hours ago | parent
JodieBenitez 22 hours ago | parent
throwaway7356 15 hours ago | parent
JodieBenitez 12 hours ago | parent
nine_k 21 hours ago | parent
iririririr 20 hours ago | parent
idoubtit 15 hours ago | parent
I thought mod_lua was an official module. I've just checked with Debian stable, and their "apache2-bin" package depends on liblua5.
> Apache has plenty of life left
I would expect a project with "plenty of life left" to support HTTP3. And to use Git (or some modern DVCS) instead of Subversion.
BTW, a co-worker has to maintain an Apache server because its shibboleth mod is mandatory for that project, and he often complains about it, and so do I when they ask for help. Performance is worse than nginx, configuration is awful, documentation is uneven, some features (like .htaccess) are dangerous, etc.
Apache http is the only project that I know that still uses Subversion. They have published a Git clone on Github, but their main source is still svn. It's a bit worrying, because they won't attract new developers with that technical stack. Last I checked, the 2.5 branch looked dead, and the dev-list was barely active.
throw0101c 14 hours ago | parent
* https://httpd.apache.org/docs/2.4/mod/mod_lua.html
?
nine_k 1 hour ago | parent
skeletal88 21 hours ago | parent
load-bearing 20 hours ago | parent
tyho 19 hours ago | parent
dwedge 16 hours ago | parent
newsoftheday 11 hours ago | parent
dizhn 19 hours ago | parent
hannob 19 hours ago | parent
They provide limited configurability of server functionality within a webroot. That's extremely convenient for PHP webapps. For many PHP apps, deploying them on anything that is not apache means touching the server config itself.
system2 19 hours ago | parent
theandrewbailey 16 hours ago | parent
Joel_Mckay 16 hours ago | parent
Nginx uses way less memory in most use-cases (1/4 to 1/10), but with dynamic content like php it is only slightly better (maybe 15% if lucky). Also, setting up websocket proxy in Nginx is still a bit of a bodge.
Each server type has its own trade offs, and a list of known mitigations the uninitiated must learn. If you have a single domain high-traffic site with static media files, than Nginx is probably going to matter more. =3
tredre3 11 hours ago | parent
- php-fpm is easy, you can make the pool run as the domain's user/group directly
- nginx: you must add nginx's user (www-data) to the domain personal's group
The downside to this approach is that it's harder to reason about for someone unfamiliar with it and it's easy to misconfigure file permissions. There is also a limited number of extra groups a user can be part of before it becomes an issue (plus one fpm pool per user takes memory).
That being said the best massively-shared hosting system I've ever used was apache mpm_prefork with mod_php and mod_ruid2. It used as much(little) memory as a single user setup, it scaled to 10k users if you wanted, and file permissions were all naturally handled.
The way mod_ruid2 worked was to use linux capabilities to change the effective user/group of the apache process before serving the request, so it would run as the tenant's group and user, then switch back to nobody/nobody. It had very little overhead compared to things like mod_suphp and, more importantly, it also worked on static files and .htaccess!
The module has been abandoned and was never that popular so I always wondered if it was found to be exploitable or something... Thanks to Linux Capabilities an exploiter couldn't gain root, but as seen from the recent exploit apache's mod_php doesn't do a full cleanup so maybe there was leakage when the process was reused (but then that is solvable by limiting the requested to 1)
ransom1538 19 hours ago | parent
Alghranokk 18 hours ago | parent
joseda-hg 16 hours ago | parent
Alghranokk 13 hours ago | parent
Perfect security.
cozzyd 12 hours ago | parent
account42 17 hours ago | parent
Modifying the web server config is a nonissue outside of shared hosting, which should have died out with the advent of VMs/containers.
jagged-chisel 17 hours ago | parent
Caching is a thing. Only dump the cache when a changed is noticed.
canibalrex 16 hours ago | parent
BenjiWiebe 9 hours ago | parent
canibalrex 6 hours ago | parent
throw0101c 14 hours ago | parent
Its use is optional: set "AllowOverride None" (the default) and it's disabled.
* https://httpd.apache.org/docs/2.4/mod/core.html#allowoverrid...
DaSHacka 13 hours ago | parent
dspillett 12 hours ago | parent
throw0101c 12 hours ago | parent
Disabling the feature does not remove it.
If I do not turn on my car's windshield wipers, do they get "removed"?
DaSHacka 9 hours ago | parent
You can't have it both ways. Either it's a misfeature but it 'doesn't matter' because it can be disabled, or its a legitimate feature in which case you must therefore defend the existence and purpose of the feature.
BenjiWiebe 9 hours ago | parent
When you don't need it, great, you've got slightly better performance.
throw0101d 6 hours ago | parent
Why would this be conceded?
> Either it's a misfeature but it 'doesn't matter' because it can be disabled, or its a legitimate feature in which case you must therefore defend the existence and purpose of the feature.
Just because I don't (currently) use it doesn't preclude someone else from doing so, and if that someone else wants to explain their use-case that's their prerogative.
vbezhenar 14 hours ago | parent
cozzyd 12 hours ago | parent
ForHackernews 11 hours ago | parent
cyphar 17 hours ago | parent
Its model is fundamentally flawed precisely because it was based on the fundamentally flawed PHP model (website assets and code are stored and hosted from the same webroot). This allowed for shared hosting to exist but containers and reverse proxies are a far better way of organising such sites today.
The fact that in other webservers the server's configuration is configured through its configuration file and not the content of its webroot is a feature.
anonreplier 16 hours ago | parent
cyphar 16 hours ago | parent
Really not sure how one could possibly read my comment as me saying htaccess is the only way of configuring Apache?
HackerThemAll 14 hours ago | parent
That can expose your files for such a trivial reason as different end of line sequence than what it expects. Instead of shutting down the access, it just happily ignores .htaccess and enables DirectoryIndex.
This is the software that's responsible for majority of data leaks in the world.
Stop using it.
mitxela 11 hours ago | parent
throw0101c 14 hours ago | parent
What advantage(s) does nginx have over Apache?
Back in the day (Apache 2.0) there was certainly a performance with nginx being event-driver, but with Apache 2.4 and mpm_event, does that still apply?
baggy_trough 14 hours ago | parent
icedchai 13 hours ago | parent
cozzyd 12 hours ago | parent
newsoftheday 11 hours ago | parent
stevenicr 10 hours ago | parent
Copy and pasting got things to work eventually - but my next matrix install had a similar loop where I learned about some gotchas and 'dont do this thing!' stuff with nginx.
I tried caddy instead at some point which seemed like a nicer / easier to read and do type of thing.. but then compatibility issues with Debian + Matrix + Caddy just became another time sink.
apache things would of been easier for me if the matrix tutorials including it. then some nginx updates and other things - I would not call it easier to configure.
definitely some nice things in there though - loved seeing the power of how it can work and it makes sense. It may be worth it, but not easier I feel.
cozzyd 13 hours ago | parent
bkallus 10 hours ago | parent
Also, Nginx's maintainers are weird about standards. e.g., last time I checked, tabs in header field line whitespace were rejected by the Nginx parser, even though the RFC says to allow it. The maintainers at the time didn't care and wouldn't fix, reasoning that Nginx had been behaving this way for so long that anything sending tabs in header field lines would have stopped by now. I don't love that attitude.
Apache is way better in this regard. (Though I think Nginx may have cleaned up its act recently?)
jerrythegerbil 22 hours ago | parent
Disabling h2 is the mitigation and is effective. The patch itself seems a little odd as a fix to me personally, but eh.
tancop 22 hours ago | parent
nine_k 21 hours ago | parent
account42 17 hours ago | parent
zbentley 14 hours ago | parent
jamesy0ung 22 hours ago | parent
testplzignore 10 hours ago | parent
cubefox 21 hours ago | parent
bell-cot 12 hours ago | parent
cubefox 11 hours ago | parent
z3ratul163071 21 hours ago | parent
hypfer 21 hours ago | parent
If it was even enabled that is.
Deukhoofd 20 hours ago | parent
load-bearing 14 hours ago | parent
SAI_Peregrinus 13 hours ago | parent
1. Don't disclose, ignore vuln. 2. Disclose to highest bidder, even criminals or state agencies. 3. Disclose to vendor, no follow up. 4. Disclose to vendor, release to public after a set delay. 5. Disclose to public.
4 & 5 are "responsible disclosure". 4 is also "coordinated disclosure". The other options ignore the ethical duty engineers have to the public.
yhjz 18 hours ago | parent
sherr 17 hours ago | parent
krembo 21 hours ago | parent
tgma 20 hours ago | parent
hnarn 20 hours ago | parent
flossly 20 hours ago | parent
hnarn 18 hours ago | parent
flossly 15 hours ago | parent
Sorry for you I did not meet your standards. Pfff.
yjftsjthsd-h 12 hours ago | parent
Xylakant 18 hours ago | parent
Ukv 18 hours ago | parent
To my understanding, in safe Rust to share between threads the compiler will require something like Arc<Mutex<...>> - which prevents unsynchronized access or freeing while another thread is still using it.
K0nserv 17 hours ago | parent
In particular it's `req` in the function with this signature:
static void assign_headers(request_rec *r, const h2_request *req,
int no_body, int is_connect)
The fix being: - apr_table_setn(req->headers, "Content-Length", "0");
+ apr_table_setn(r->headers_in, "Content-Length", "0");
My read on this is that `req` is meant to be a readonly value in this function, which is why it's marked `const`. And being readonly, it would be safe to access concurrently. However, someone accidentally wrote through this pointer.In Rust this would've been `req: &h2_request` and the accidental write wouldn't have been possible (barring interior mutability). Even with interior mutability there is no thread interleaving during the write, which happens through a `&mut h2_request` probably obtained through a lock.
jhatax 12 hours ago | parent
Where this is one such oversight, there are likely others. An LLM isn't needed to find these, likely stricter compiler flags.
testplzignore 10 hours ago | parent
https://github.com/icing/mod_h2/commit/1b468851c89cdbf6d0f98...
Looks like he made the change on the Transfer-Encoding line when he was moving things around, but missed doing the same on the Content-Length line.
K0nserv 4 hours ago | parent
flossly 20 hours ago | parent
mono442 17 hours ago | parent
haradion 20 hours ago | parent
jaekwon 20 hours ago | parent
spuz 20 hours ago | parent
glawre 18 hours ago | parent
Wiz works by plugging their tool into your Cloud Org, so presumably they’re saying 51% of their enterprise-y customers have an exposed instance.
necovek 17 hours ago | parent
As they make a note that this does not account for configuration, so if you've got the http2 module disabled, it sounds like you are protected — though they only recommend hard-coding the protocol version to 1.1 instead of disabling the module (I've got the module disabled as that was the default when I set up my homelab server, for instance).
klaas- 20 hours ago | parent
neurostimulant 19 hours ago | parent
account42 17 hours ago | parent
I feel like in hindsight, HTTP/2 was a mistake. The theoretical benefits just don't justify the added complexity. It definitely shouldn't have been fasttracked like it was.
mogoh 17 hours ago | parent
mono442 17 hours ago | parent
Woodi 17 hours ago | parent
Apache even don't have it's own HTTP/2: mod_http2 use external library nghttp2[.org] so Apache is dead shell at this point.
newsoftheday 10 hours ago | parent
Edge, Brave, Opera, Vivaldi, Arc and Electron use Chromium, are those browsers dead shell?
Netflix, LinkedIn, and Uber, most major corporations as well as the desktop version of Minecraft use the JVM, are they dead shell?
Woodi 10 hours ago | parent
Edge is a fork, Brave is ad machine, Electron is trash and in last days it shows nicely in media. Vivaldi and Arc probably are just shells.
> Netflix, LinkedIn, and Uber, most major corporations as well as the desktop version of Minecraft use the JVM, are they dead shell?
Comparing oranges to planets is a thing now ??
newsoftheday 9 hours ago | parent
Woodi 8 hours ago | parent
And there is v3 in production for years now and I didn't see anything with '3' in the name in sources.
Extrapolation failed. That "library" do heavy lifting so it's not a "simple usage " of some support library like eg. JSON lib could be but total failure of implementing core functionality.
At best it's a stopped development. So dead project.
Someon on HN posted link to patch, it's a one-liner. But Apache organization sugest downgrade to 90's instead. "Compile that open sources ASAP!" would be much more sensible.
kbolino 10 hours ago | parent
There's far more to HTTP than just the transport. There are, for example, 4 governing RFCs for modern HTTP implementations:
RFC 9110 HTTP Semantics
RFC 9111 HTTP Caching
RFC 9112 HTTP/1.1
RFC 9113 HTTP/2.0
The nghttp2 library is only going to cover 1/4 of those. Apache is directly responsible for implementing 2/4 of those, and since it provides its own HTTP/1.1 implementation as far as I know, it's actually 3/4 of those.kibwen 14 hours ago | parent
load-bearing 14 hours ago | parent
markasoftware 10 hours ago | parent
rurcliped 17 hours ago | parent
0x0 17 hours ago | parent
bennofs 16 hours ago | parent
lionkor 15 hours ago | parent
speleding 14 hours ago | parent
ankit9673 17 hours ago | parent
gib444 17 hours ago | parent
The mistake is to think that the 'magical' LLMs don't write buggy code and that there isn't some tradeoff in using them. There are always tradeoffs in engineering.
later
And, security is always relative to the adversary and landscape, which has massively changed recently.
brazukadev 15 hours ago | parent
The offender side evolved, the defender needs to evolve too and that will be very, very expensive but much cheaper than not fixing the problems.
lionkor 15 hours ago | parent
acidburnNSA 17 hours ago | parent
weryberl5 13 hours ago | parent
Not a good month for the legacy wares.
dspillett 11 hours ago | parent
cozzyd 13 hours ago | parent
ian-g 10 hours ago | parent
I think they meant to say the first patched version is 2.0.43
jgalt212 10 hours ago | parent
palominoz 9 hours ago | parent