"[…] It is clear that the current process is based on the learnings, and frustrations, the [#Linux #kernel's CVE] team has faced in the past. […] By taking this position, this effort is now duplicated across thousands of engineering teams ad infinitum, […]"
Well, yeah, but guess what: maybe then the companies behind those engineering teams will join up and invest money to handle the problem "[…] at the source, in a central, efficient and reliable manner. […]". 😬
https://amanitasecurity.com/posts/dear-linux-kernel-cna-what-have-you-done/
@kernellogger I think it's clear at this point that this isn't an unintended side effect.
It is intentionally aimed to bring the system down through overload, probably in the hope that something better will emerge later.
At best, it is "constructive destruction" - at worst, it is malicious towards the users and may spectacularly backfire on the trust towards Linux.
Well, you have a point, but the strategy "ignore CVE" apparently became more and more of a problem as well that at some point might "backfire on the trust towards Linux." So maybe escalating the problem rather sooner than later might in the end be the better of two bad choices. Not sure.
@pavel @kernellogger @larsmb @gregkh I think it's important to realize that nothing has really changed in how patches are merged into either mainline or stable. The only difference here is that more commits are now designated as (fixing) CVEs. On the whole, that's probably a good thing; false positives are probably better for security than false negatives. This creates more work for distros, but arguably that's work they should be doing anyway. If we can collaborate more, that's even better.
@vegard @pavel @kernellogger @gregkh It's still an intentional attack on the CVE system. That's perhaps a fair aim, but it can't be denied it also causes strive, confusion, and pain for some.
@pavel @kernellogger @vegard @gregkh I'm just posting here as a private person, nobody trusts me enough to speak on behalf of my employer 🙂
@ljs @kernellogger @larsmb @gregkh @pavel It's really complicated... I'm myself on the distro side here (though speaking only for myself) and I see very clearly the additional work that this is causing. On the other hand... I do think this is actually moving things in the right direction, security-wise. The uncomfortable truth is that the kernel has a TON of bugs, many with security impact. This move really just puts it completely out in the open and forces everybody to acknowledge that fact.
@ljs @kernellogger @larsmb @gregkh @pavel Agreed that the dialogue hasn't been great. However...
I don't think they are actually "going nuclear" here. There are 3 volunteers going through all of the stable commits for things that look potentially security-relevant, and they have a vote. It's not like they are literally flagging every single commit. The CVE volume has gone up, clearly, but I think it's justified.
@ljs @kernellogger @larsmb @gregkh @pavel I posted that one myself a few days ago 🙂 And I disagree with that one having a CVE on account of the whole "small allocations can't fail" thing being so widely accepted to be true in basically all configurations. Greg's response was here, BTW: https://lore.kernel.org/all/2024022654-designer-rack-c644@gregkh/
Looking over the list of recent CVEs, most of these are probably local DOS in various obscure drivers. But they do arguably fall within the definition of a vulnerability according to CVE.
@ljs @kernellogger @larsmb @gregkh @pavel If we really need to know the security impact of each and every patch (which most distros probably do), then somebody has to do that analysis. Yes, it's going to be expensive in terms of manpower and effort. But it still needs to be done. That's why I'm hoping this will lead to more distros collaborating on this and the community effectively only doing it once, in one place.
@gregkh @kernellogger @larsmb @ljs @pavel Yes, but that's just for the impact. A lot of the analysis will be the same for all distros: Is the code reachable from userspace? Does it require any CAP_*? Is it reachable from user namespaces? Do you need physical access to insert a USB device? etc. These things take time to figure out and will be common for basically everybody. I'm not even talking about the stuff like "what two structs do you need to overlay to manipulate that specific member"
@gregkh @kernellogger @larsmb @vegard @ljs @pavel I'd hazard a generalization and say the 'impact' (any impact) is impossible to know if you consider all combination of systems and workloads. It is only good under the conditions it was tested under. Ie: it works for me 😉 And to be honest, not sure we can do better. Can we even define what full test coverage means? We just need more people to say it works for me 🙃
don't worry, I will speak up when I see the need; but reg. the CVE stuff and a lot of the critique wrt to how the stable team operates I seem to be somewhat in line with Greg's approach *or* think the problems need to be fixed elsewhere to improve things (the latter is on my todo list).
And 'company line'? Come on, this is the kernel community, there is no company line, just individuals with a lot of different options 😇
/me runs 😬
And wrt to "It strikes me as quite naive [...]": maybe, but it's a bit like better docs, regression tracking and some other unattractive work in kernel land: a lot of people want those things to be better, but its hard to find the money to pay people to do all that work.
@kernellogger @ljs Two points here: 1) Yes, the bad guys are already doing this (sifting through changelogs and finding exploitable bugs), we should be doing it too, and 2) various companies and distros probably are probably already doing some parts of the work but it's done behind closed doors and we have no good mechanism for exchanging notes or collaborating at the scale necessary, so it ends up as duplicated for no good reason. I really do see an opportunity here for everybody to win
I did actually make an attempt at gathering the Linux distro security community into an IRC channel a couple of years back to try and help each other.
Arguably the channel has some occasional chatter but could do more with it.
I have mostly given up on CVE as a thing as companies misuse it, security researchers pad their CVs with it, the quality of the CVE entries has gotten terrible with the CNA liberation and the signal-to-noise ratio isn't worth it unless you have the tools to support the work.
I was hoping the OpenSSF would fix parts of it, but it has just become another front for companies to FOSS-wash their proprietary things.
This assumes you have the capability to filter and analyze. This also assumes you have the manpower.
This is not true for volunteer driven distros.
I couldn't find the original draft, so alpine-devel will do.
Sure, but I'm thinking a bit broader than the Linux stuff. It's still a small amount of the overall CVE assignments so far.
@pavel @kernellogger @larsmb @vegard @gregkh @ljs
before surely suse had an engineer evaluate every stable commit for security and back port as part of the support promise. Now gregkh does you a service by doing the first scrub of that and suse only has to evaluate the ones he flags which is a clear subset?
or did you mean to imply that enterprise Linux distros did not do such thing and now you need to?
@pavel @kernellogger @vegard @gregkh @ljs This is getting a bit too personal, could you kindly drop me from the mentions 🙂
@vegard @pavel @kernellogger @larsmb @gregkh Having some experience in maintaining a distro kernel (abet a small distro), it's going to depend on a number of factors, primarily how closely you track a stable kernel tree.
If your regularly tracking a stable kernel tree and don't have a tonne of out-of-tree patches, then the effort should be minimal to at least integrate new stable tree versions, which are likely to be carrying the latest CVE fixes.
@vegard @pavel @kernellogger @larsmb @gregkh
If your trying to support for longer periods than the stable kernel trees run for, then you're probably getting paid to provide that support. If you're trying to "only apply patches that are definitely serious issues" then your probably getting paid for that and arguably should be getting paid more for that than just longer term support.
The kernel providing supported stable trees for free is above what a lot of other open source projects provide.
@MWelchUK @pavel @kernellogger @larsmb @gregkh I think the current headache for distros with this has less to do with patch selection/integration and more to do with dealing with vulnerability scanners, support requests, and escalations.
There's unfortunately a whole ecosystem out there driven by CVEs and the time spent dealing with all of that is proportional to the number of CVEs, regardless of (perceived or actual) severity.
@vegard @pavel @kernellogger @larsmb @gregkh That's a fair point. Though in my experience, there are two types of distribution, those where you pay for support and those which are freely distributed without any guarantees. If your providing paid support, this is what you're paid for, it may now be a bit more expensive. If you get it free, you get to do the work yourself if you want those guarantees.
Maybe those who've been relying on CVEs being exhaustive list of vulnerabilities have been lax.
@ljs @kernellogger @larsmb @vegard @gregkh @pavel as a system, CVE is not concerned about *probability*. It is only concerned about being a common identifier for a software defect where a security impact is *possible*.
CVSS (as practiced) is similarly unconcerned about probability, it is mainly concerned about capturing characteristics (usually static) of a known *possible* vulnerability.
@ljs @kernellogger @vegard @msw @gregkh @pavel dropping Lars from mentions…
While I’m talking a bunch of theory, I am very tuned into the situation in _practice_. CVE as designed has always been different than CVE in practice, same as CVSS as designed (which is FAR more fatally flawed than CVE as designed) is different than CVSS as practiced.
@pavel @kernellogger @vegard @gregkh I think your making the bold assumption that this only impacts enterprise distros.
Whilst this may historically have been true, there are a tonne of embedded systems out there of varying types, that have historically done a very poor job of security updates, but are coming under increasing scrutiny and regulation.
These systems have differing threat models, hardware and as a result there's going to be more CVEs that don't apply to typical enterprise systems