this post was submitted on 31 Jan 2024
358 points (98.6% liked)

Linux

46794 readers
1010 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 158 points 6 months ago (2 children)

For your convenience:

The researchers pointed out that the vulnerability cannot be exploited remotely. An attacker can trigger the issue by providing crafted inputs to applications that employ these [syslog] logging functions [in apps that allow the user to feed crafted data to those functions].

This is a privilege escalation.

[–] [email protected] 54 points 6 months ago (1 children)

The hero we need."; DROP TABLE "users";

[–] [email protected] 7 points 6 months ago

If it isn't little Bobby Tables again.

[–] [email protected] 4 points 6 months ago (2 children)

This may be difficult to exploit in practice - I don't think most user applications use syslog.

load more comments (2 replies)
[–] [email protected] 95 points 6 months ago (3 children)

"A qsort vulnerability is due to a missing bounds check and can lead to memory corruption. It has been present in all versions of glibc since 1992. "

This one amazes me. Imagine how many vulnerabilities future researchers will discover in ancient software that persisted/persist for decades.

[–] [email protected] 67 points 6 months ago* (last edited 6 months ago) (4 children)

That's not the main part of the article, just a footnote, for anyone wondering.

The flaw resides in the glibc’s syslog function, an attacker can exploit the flaw to gain root access through a privilege escalation.

The vulnerability was introduced in glibc 2.37 in August 2022.

[–] [email protected] 9 points 6 months ago (3 children)

So, it must be with the BSDs too?

load more comments (3 replies)
load more comments (3 replies)
[–] [email protected] 35 points 6 months ago

C is just crazy. You accidentally forget to put the bounds in a sorting function, and now you are root.

[–] [email protected] 6 points 6 months ago (1 children)

According to the link in the article, the qsort() bug can only be triggered with a non-transitive cmp() function. Would such a cmp function ever be useful?

[–] [email protected] 4 points 6 months ago

You don't necessarily have to write a non-transitive cmp() function willingly, it may happen that you write one without realizing due to some edge cases where it's not transitive.

[–] [email protected] 52 points 6 months ago (2 children)

Security-critical C and memory safety bugs. Name a more iconic duo...

I'd have kinda preferred for public disclosure to have happened after the fix propagated to distros. Now we get to hurry the patch to end-users which isn't always easily possible. Could we at least have a coordinated disclosure time each month? That'd be great.

[–] [email protected] 12 points 6 months ago (1 children)

Public disclosure is typically done 90 days after Deva are privately notified. That should be enough time for security-critical bugs.

[–] [email protected] 12 points 6 months ago

They did follow that. You can read their disclosure timeline in their report.

Problem is that the devs of glibc aren't the only people interested in getting glibc patched but us distro maintainers too.

What I would have preferred would be an early private disclosure to the upstream maintainers and then a public but intentionally unspecific disclosure with just the severity to give us distro people some time to prepare a swift rollout when the full disclosure happens and the patch becomes public.

Alternatively, what would be even better would have been to actually ship the patch in a release but not disclose its severity (or even try to hide it by making it seem like a refactor or non-security relevant bugfix) until a week or two later; ensuring that any half-decent distro release process and user upgrade cycle will have the patch before its severity is disclosed. That's how the Linux kernel does it AFAIK and it's the most reasonable approach I've seen.

[–] [email protected] 31 points 6 months ago (2 children)

glibc is great, but holy shit the source code is obscured into oblivion, so hard to understand, with hardcoded optimizations, and compiler optimizations. I understand how difficult is to find vulnerabilities. A bit sad that the only C lib truely free software is so hard to actually read its code or even contribute to it.

[–] [email protected] 23 points 6 months ago* (last edited 6 months ago) (1 children)

For what it's worth, glibc is very much performance-critical, so this shouldn't be a surprise. Any possible optimization is worth it.

There are a ton of free software libc implementations outside of glibc. I think most implementations of libc are free software at this point. There's Bionic, the BSD libcs, musl, the Haiku libc, the OpenSolaris/OpenIndiana libc, Newlib, relibc, the ToaruOS libc, the SerenityOS libc and a bunch more. Pretty sure Wine/ReactOS also have free implementations of the Windows libc.

load more comments (1 replies)
[–] [email protected] 5 points 6 months ago* (last edited 6 months ago) (3 children)

Eventually it’ll be easier to create a compatible drop-in replacement than maintain the decades old code, if it isn’t already

[–] [email protected] 11 points 6 months ago

Unlikely, unless you drop backwards compatibility for undefined behaviour. Unless you write a complete specification on it, you'll end up either breaking old stuff, or slowly rebuilding the same problems.

load more comments (2 replies)
[–] [email protected] 29 points 6 months ago (3 children)

Debian (versions 12 and 13), Ubuntu (23.04 and 23.10), and Fedora (37 to 39). Other distributions are probably also impacted.

[–] possiblylinux127 14 points 6 months ago
[–] [email protected] 4 points 6 months ago* (last edited 6 months ago)

https://security-tracker.debian.org/tracker/CVE-2023-6246

Don't know if Fedora has any similar easy way of tracking vulnerabilities

[–] [email protected] 4 points 6 months ago

12 and 13 have patches out in the security repo. Apt update && apt upgrade fixed it right up.

[–] [email protected] 23 points 6 months ago

Imagine all the vulnerabilities that privative and low reviewed code has...

[–] [email protected] 18 points 6 months ago (9 children)
[–] [email protected] 12 points 6 months ago (6 children)
load more comments (6 replies)
[–] [email protected] 4 points 6 months ago (8 children)

Yeah Musl is pretty good to learn C libs but the main red flag is the MIT Licence

load more comments (8 replies)
load more comments (7 replies)
[–] [email protected] 16 points 6 months ago (7 children)

Yikes.

I'd switch to musl on all of my boxes if it weren't that nearly all precompiled software (closed source, games mainly) are compiled against glibc.

load more comments (7 replies)
[–] [email protected] 16 points 6 months ago (1 children)

That's why you need to rock and roll

(Arch btw.)

[–] [email protected] 6 points 6 months ago (2 children)

Try having unattended-upgrades with a rolling distro.

[–] [email protected] 12 points 6 months ago (1 children)

I don't want unattended upgrades >:/

[–] [email protected] 10 points 6 months ago (1 children)

Just don't upgrade for a while and you become debian

It's not like windows forcing you to reboot every Tuesday so Edge can come back

load more comments (1 replies)
[–] [email protected] 4 points 6 months ago (3 children)

Man, I do this all the time. snapper and grub-btrfs has enabled all kinds of amazing things. I'm so close to just doing:

$ sudo crontab -l
* * 3 * * pacman -Syu --no-confirm

I've got separate offline backups and rescue disks, but I'm pretty confident that grub-btrfs will let me recover pretty quickly.

load more comments (3 replies)
[–] [email protected] 11 points 6 months ago* (last edited 6 months ago)

I replied to another comment with this, but Debian 12(stable, bookworm) and 13(testing, trixie) are affected by this but 12(stable, bookworm) has a patch out in the security repo.

If you wanna know wether or not you’re affected,

apt list libc

will show your version and the one you want is 2.36-9+deb12u4

If you don’t have that,

apt update && apt upgrade

will straighten you out

13(testing, trixie) has 2.37, but it’s not fixed yet.

E: Edited to use apt list instead of apt show.

[–] [email protected] 10 points 6 months ago (1 children)

RedHat and related: https://access.redhat.com/security/cve/CVE-2023-6246

Not affected

Not affected

Not affected

etc.

load more comments (1 replies)
[–] [email protected] 9 points 6 months ago

Local attacker

Important detail

as i said on reddit

[–] [email protected] 4 points 6 months ago

Glad I only run Alpine

load more comments
view more: next ›