this post was submitted on 05 Feb 2024
168 points (97.7% liked)

Selfhosted

40006 readers
1126 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Snyk team has found four vulnerabilities collectively called "Leaky Vessels" that impact the runc and Buildkit container infrastructure and build tools, potentially allowing attackers to perform container escape on various software products.

On January 31, 2024, Buildkit fixed the flaws with version 0.12.5, and runc addressed the security issue impacting it on version 1.1.12.

Docker released version 4.27.0 on the same day, incorporating the secured versions of the components in its Moby engine, with versions 25.0.1 and 24.0.8.

all 19 comments
sorted by: hot top controversial new old
[–] [email protected] 42 points 9 months ago (1 children)

Honestly, if you're running public facing services, you should run the latest everything you can. There's a risk that stuff breaks, but at least you're not having to worry about patched exploits.

[–] [email protected] 15 points 9 months ago

I would add latest, security wise, not everything. That would be a recipe for disaster imo.

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

If you are relying on Docker as a security boundary you are making a mistake.

Docker isolation is good enough to keep honest people honest but isn't good enough to keep out malicious actors. The Linux kernel API is simply too large of an attack surface to be highly secure.

If you want to run completely untrusted software you want a VM boundary at a very minimum. Ideally run it on completely separate hardware. There are few exceptions like browser isolation and gVisor which are strong software isolation without a VM but docker or any Linux container runner is not on that list. If the software has direct access to the host kernel it shouldn't be considered secure.

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

Note that this news are important, I only want to give some peace of mind to the many amateurs self-hosting out there ;) Don't panic. Think about how such attacker might gain access. There's always a practical difference between a vulnerability being there and how easily it is exploitable. Most CVEs are theoretical, and combining 4 of them would be even more difficult. From what I read, the vulnerability would be in the Dockerfile itself. Also, you need to weigh in the motivation such attacker would have. If you're an average netizen is different from a multi billion dollar company website. So, the attacker would need to meet all those conditions described in the CVEs and even in that case, they might escape the container only to find it was installed in rootless mode, so they just have access as regular user. But that's depending on how docker was installed.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago) (1 children)

It's still not an excuse to just ignore the security update because you might not be a target for hackers.

Just check your logs, there's probably a dozen or more requests trying to access wordpress pages on your server, or login via SSH. They want to take over your server so it can be part of a botnet.

[–] [email protected] 2 points 9 months ago

Oh. I didn't meant to incite breaking any of the golden rules of cyber safety: (1) always update, (2) never host WordPress ;)

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

Don't run docker, so far it has proven quite insecure, and that was by design at first because docker was created for development environments and not for deployment.

Later docker added better security, because they understood the value in deployment too. But many distro are still insecure by default and it takes both the effort of sysadmins and image developers to deploy securely docker containers.

I switched to Podman: no daemon, no socket, no root operations out of the box. And the transition is basically seamless too.

[–] [email protected] 4 points 9 months ago* (last edited 9 months ago) (2 children)

I believe podman and containerd use runc under the hood so they're also affected by this container escape vulnerability. You should update it to the latest version.

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

Podman can use different tools under the hood, will check which one I am using.

[–] [email protected] 1 points 9 months ago

I think on redhat/fedora it uses runc by default and on debian/arch it uses crun by default.