Live data from Hacker News

Dear Linux Kernel CNA, what have you done?

amanitasecurity.com

11–20 of 116 posts

Re: Dear Linux Kernel CNA, what have you done?

#11
For another opinion on this topic https://jericho.blog/2024/02/26/the-linux-cna-red-flags-sinc...

Having a large number of new, unscored, CVEs in the Linux kernel is going to make things... interesting. From their lists https://lore.kernel.org/linux-cve-announce/ these just have a CVE and not really enough detail for anyone to assign a score without a lot of additional analysis, which reduces their usefulness.

To an extent it could be suggested they're just exposing an existing flaw in the system (CVSS scores which may be taken to be scientifically applied, are actually just matters of opinion in many cases), but it will cause a lot of problems with automated tooling and compliance.

Re: Dear Linux Kernel CNA, what have you done?

#12
post #5

This article largely misses the point from the Linux kernel's point of view. They have always said "Every bug is a security bug". I don't know about more global content, but at Kernel Recipes (2019?) gregkh took a Pixel that was running latest Google security patches that contained all CVEs. Then looked at non-CVE patches he merged in his LTS. And it took him less than an hour to find a DoS vulnerability. I understan…

> They have always said "Every bug is a security bug".

If you can't reason about your codebase to a sufficient extent to actually determine that then something is very wrong.

If everything is a CVE, nothing is. That approach just wastes a lot of time and effort making people not so familiar with the codebase (as the maintainers) do triage.

I hope they get burnt quick by this approach.

Re: Dear Linux Kernel CNA, what have you done?

#13
> Because of this, the CVE assignment team is overly cautious and assign CVE numbers to any bugfix that they identify

Shouldn't this strategy lead to the opposite? By being overly cautious they should only assign CVEs for real demonstrable security issues.

Re: Dear Linux Kernel CNA, what have you done?

#15
post #5

This article largely misses the point from the Linux kernel's point of view. They have always said "Every bug is a security bug". I don't know about more global content, but at Kernel Recipes (2019?) gregkh took a Pixel that was running latest Google security patches that contained all CVEs. Then looked at non-CVE patches he merged in his LTS. And it took him less than an hour to find a DoS vulnerability. I understan…

> They have always said "Every bug is a security bug". If you can't reason about your codebase to a sufficient extent to actually determine that then something is very wrong. If everything is a CVE, nothing is. That approach just wastes a lot of time and effort making people not so familiar with the codebase (as the maintainers) do triage. I hope they get burnt quick by this approach.

> If you can't reason about your codebase to a sufficient extent to actually determine that then something is very wrong.

The environment where we write critical code the way we do now is very wrong. It's actually not that easy to figure out if something is exploitable or not. What if you add heap grooming? What if you enable another specific feature? What if an application fights for the same lock? What if measuring the time it takes to fail allows you to defeat aslr? People use exploit chains rather than independent ones these days and there are examples of clever cases of single-byte overflows turning into RCE.

Sure, there are going to be cases where you're really really sure something can't be used, because for example the bug only produces a null dereference and an oops. Then someone else comes along and proves you wrong https://googleprojectzero.blogspot.com/2023/01/exploiting-nu...

Re: Dear Linux Kernel CNA, what have you done?

#17

> Because of this, the CVE assignment team is overly cautious and assign CVE numbers to any bugfix that they identify Shouldn't this strategy lead to the opposite? By being overly cautious they should only assign CVEs for real demonstrable security issues.

You can think of it as a "fail-safe" situation.

Being cautious here means "it's better to assign a CVE when it's not a vulnerability, than to NOT assign a CVE when it's actually a vulnerability"

Re: Dear Linux Kernel CNA, what have you done?

#18
> Typically, security researchers are held to higher standards when disclosing vulnerabilities. The expectation is that CVEs are assigned for ‘meaningful’ security vulnerabilities, and not for any software fixes that ‘might’ be a security vulnerability.

Maybe that's the aspiration, but it's clearly not the case in practice.

I reported a firefox bug 12 years ago where a malicious SVG could cause a hang - basically a 22-year-old XML bomb, adapted to SVG patterns. My bug turned out to be a duplicate of a 16 year old firefox bug.

No way of stealing user data. No sandbox escape. Not a crash that might indicate a buffer overrun. With a process per tab, it doesn't even crash the browser. It's just a file that takes a very long time to load - and it's not even an image type that user-generated-content sites like facebook and reddit allow you to upload. Reasonably enough, 12 years ago it was triaged as a minor performance issue.

Apparently in 2023, this counts as a CVE.

Re: Dear Linux Kernel CNA, what have you done?

#19

Earlier quoted context omitted.

> They have always said "Every bug is a security bug". If you can't reason about your codebase to a sufficient extent to actually determine that then something is very wrong. If everything is a CVE, nothing is. That approach just wastes a lot of time and effort making people not so familiar with the codebase (as the maintainers) do triage. I hope they get burnt quick by this approach.

> If you can't reason about your codebase to a sufficient extent to actually determine that then something is very wrong. The environment where we write critical code the way we do now is very wrong. It's actually not that easy to figure out if something is exploitable or not. What if you add heap grooming? What if you enable another specific feature? What if an application fights for the same lock? What if measuring…

> The environment where we write critical code the way we do now is very wrong. It's actually not that easy to figure out if something is exploitable or not.

Then the correct approach is not to cause "CVE fatigue" that can cause significant second-order effects. Not to mention the fact that who else is better suited to make that assessment? It's unavoidable that an assessment still has to be made because fundamentally there are use-cases where touching a working system has to have a really good reason. This will result in actually important things not getting patched because not-kernel-experts had to make that decision.

I also can't imagine large vendors being forced to follow a significantly more frequent update cadence also choosing to retain their current level of QA. Best case we're going to get more frequent less tested updates, worst case we're going to deploy an actual vulnerability due to some low-importance bugfix (with an assigned CVE).

Re: Dear Linux Kernel CNA, what have you done?

#20

For another opinion on this topic https://jericho.blog/2024/02/26/the-linux-cna-red-flags-sinc... Having a large number of new, unscored, CVEs in the Linux kernel is going to make things... interesting. From their lists https://lore.kernel.org/linux-cve-announce/ these just have a CVE and not really enough detail for anyone to assign a score without a lot of additional analysis, which reduces their usefulness. To an…

> Notably, SyzScope has classified 183 bugs out of 1,170 fuzzerexposed bugs as high-risk. KOOBE has managed to generate 6 new exploits for previously non-exploitable bugs.

While the rate is low it does show that some bugs were indeed exploitable without that being known to the kernel devs. If an attacker is willing to invest more time than the kernel devs combing through commits to find vulnerabilities in the some older stable kernel then a big unlabeled pile saying "there's probably a vulnerability in there, go update" is correct.

Post reply on HN