frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

CVE-2026-31431: Copy Fail vs. rootless containers

https://www.dragonsreach.it/2026/05/04/cve-2026-31431-copy-fail-rootless-containers/
45•averi•1h ago

Comments

washbasin•1h ago
Please post a tl;dr at the top or even in the subject. Many of us are scrambling to patch/reboot our **.
donaldjbiden•58m ago
This isn't a new CVE. It's just documenting what happened when this person ran the exploit inside a certain type of container.
isityettime•40m ago
It already has a table of contents. The heading titled "why rootless containers stopped the escalation" is your tl;dr.
eqvinox•1h ago
Running sstrip on an ELF binary is called ELF "golfing"? TIL…
2bitencryption•1h ago
tl;dr - within the container, the exploit works, and elevates to root (uid 0) within the container - BUT because that namespace actually maps to uid 1000 (the user) outside the container, the escalation does not flow up to the host.

But… does this escape the container? If not (the author seems to indicate it does not) then does it matter if you are in Docker or rootless Podman, right, since the end result is always: you have elevated to root within the container. If the rest of the container filesystem isolation does its job, the end result is the same? Though I guess another chained exploit to escape the container would be worse in Docker? Do I have that right?

amluto•1h ago
Sigh.

1. I would hope the default seccomp policy blocks AF_ALG in these containers. I bet it doesn’t. Oh well.

2. The write-to-RO-page-cache primitive STILL WORKED! It’s just that the particular exploit used had no meaningful effect in the already-root-in-a-container context. If you think you are safe, you’re probably wrong. All you need to make a new exploit is an fd representing something that you aren’t supposed to be able to write. This likely includes CoW things where you are supposed to be able to write after CoW but you aren’t supposed to be able to write to the source.

So:

- Are you using these containers with a common image or even a common layer in an image to isolate dangerous workloads from each other. Oops, they can modify the image layers and corrupt each other. There goes any sort of cross-tenant isolation.

- What if you get an fd backed by the zero page and write to it? This can’t result in anything that the administrator would approve of.

- What if you ro-bind-mount something in? It’s not ro any more.

hlieberman•37m ago
In fact, the authors specifically say on the very first line of their website that the copy/fail primitive can be used as a container escape. The entire premise of this article is flawed and irresponsible.
averi•41m ago
@amluto, fair points, I still consider this vulnerability extremely severe as yes, if you use rootless containers the attacker won't be able to get root on the host and with that injecting additional potential malware, but at the same time for containers re-using the same image layers it will give the ability to poison those binaries in memory and break to some extent the container to container isolation.

If we weren't looking into moving away from using containers completely into using ephemeral microVMs one area I'd invest in would be replicating what CargoWall does for GitHub actions in GitLab CI. At that point even if the attacker gained access to a container, modified a binary with some specific instructions (like reading env vars and sending them to an external server) it'd not be able to send credentials or fetch a malware remotely at all due to the DNS queries being intercepted by eBPF and being sent to a CoreDNS proxy.

I still think rootless containers increase the attack vector complexity in more than just a one liner into an attack scenario that, at that point, should also involve understanding additional details about the underlying host with information such as, as you correctly pointed out, what container images (and thus shared image layers) are present and also whether these images use setuid binaries which specific CI jobs explicitly call throughout the build process (kind of unusual to see anyone running a setuid binary in a CI pipeline anyway as that is generally an action that would result in a permission denied in normal conditions).

Titan2189•25m ago
> [...] that root was just my unprivileged podman user on the host

Couldn't you then simply re-run the exploit again as unprivileged podman user and gain root on the host?

averi•22m ago
@hlieberman, the researchers imply container escape == root access on the target host, that is why they used a setuid binary in order to demonstrate the whole exploit. What this article mentions is that while the container escape (as in the ability to modify a binary in memory that may be shared across multiple containers) is still present gaining root in the underlying host doesn't happen.

@isityettime, the vulnerability happens not because of file contents being modified on disk (think of a base image that is shared across multiple CI builds) rather because a binary in one base image shares the same inode (and thus the same address space in memory as an optimization) as the same binary in another container, meaning container B will execute a poisoned binary and that's where the "container escape" happens.

averi•14m ago
@titan2189, in a rootless Podman environment, the User Namespace acts as a constant translator between the container and the underlying host. Let's say you re-run the exploit, setuid(0) is run, kernel responds with a 0 (success) return code, you'd still be "trapped" inside the user namespace, which in turn maps your (root) user to an unprivileged user.

What I'm Hearing About Cognitive Debt (So Far)

https://margaretstorey.com/blog/2026/02/18/cognitive-debt-revisited/
132•raphaelcosta•3h ago•67 comments

About 10% of AMC movie showings sell zero tickets. This site finds them

https://walzr.com/empty-screenings
38•MrBuddyCasino•49m ago•14 comments

Bun is being ported from Zig to Rust

https://github.com/oven-sh/bun/commit/46d3bc29f270fa881dd5730ef1549e88407701a5
322•SergeAx•4h ago•212 comments

Train Your Own LLM from Scratch

https://github.com/angelos-p/llm-from-scratch
34•kristianpaul•1h ago•2 comments

CVE-2026-31431: Copy Fail vs. rootless containers

https://www.dragonsreach.it/2026/05/04/cve-2026-31431-copy-fail-rootless-containers/
46•averi•1h ago•11 comments

Pulitzer Prize Winner in International Reporting

https://www.pulitzer.org/winners/dake-kang-garance-burke-byron-tau-aniruddha-ghosal-and-yael-grau...
53•jay_kyburz•3h ago•2 comments

How OpenAI delivers low-latency voice AI at scale

https://openai.com/index/delivering-low-latency-voice-ai-at-scale/
346•Sean-Der•9h ago•110 comments

The Car That Watches You Back: The Advertising Infrastructure of Modern Cars

https://nobodyaskedforthis.lol/posts/connected-car/
38•cadito•3h ago•22 comments

Agent Skills

https://addyosmani.com/blog/agent-skills/
188•BOOSTERHIDROGEN•7h ago•76 comments

Gaps in national food production, worldwide

https://www.nature.com/articles/s43016-025-01173-4
27•simonebrunozzi•16h ago•7 comments

Securing a DoD contractor: Finding a multi-tenant authorization vulnerability

https://www.strix.ai/blog/how-strix-found-zero-auth-vulnerability-dod-backed-startup
187•bearsyankees•11h ago•79 comments

When Networking Doesn't Work

https://www.os2museum.com/wp/when-networking-doesnt-work/
41•kencausey•8h ago•6 comments

pgxbackup: Continuity Support for pgBackRest

https://thebuild.com/blog/2026/05/01/pgxbackup-continuity-support-for-pgbackrest/
23•Wingy•2d ago•2 comments

Does Employment Slow Cognitive Decline? Evidence from Labor Market Shocks

https://www.nber.org/papers/w35117
255•littlexsparkee•13h ago•230 comments

Redis array: short story of a long development process

https://antirez.com/news/164
259•antirez•14h ago•86 comments

Testing macOS on the Apple Network Server 2.0 ROMs

http://oldvcr.blogspot.com/2026/05/testing-macos-on-apple-network-server.html
74•zdw•1d ago•13 comments

Talking to strangers at the gym

https://thienantran.com/talking-to-35-strangers-at-the-gym/
1264•thitran•17h ago•599 comments

1966 Ford Mustang Converted into a Tesla with Working 'Full Self-Driving'

https://electrek.co/2026/05/02/tesla-1966-mustang-ev-conversion-full-self-driving/
154•Brajeshwar•14h ago•111 comments

18th-century mechanical volcano roars to life 250 years later

https://www.sciencedaily.com/releases/2026/05/260502015359.htm
4•samizdis•2d ago•1 comments

Microsoft Edge stores all passwords in memory in clear text, even when unused

https://twitter.com/L1v1ng0ffTh3L4N/status/2051308329880719730
482•cft•11h ago•167 comments

Y Combinator's Stake in OpenAI (0.6%)

https://daringfireball.net/2026/05/y_combinators_stake_in_openai
222•gyomu•5h ago•18 comments

I am worried about Bun

https://wwj.dev/posts/i-am-worried-about-bun/
449•remote-dev•12h ago•302 comments

PyInfra 3.8.0

https://github.com/pyinfra-dev/pyinfra/releases/tag/v3.8.0
247•wowi42•16h ago•87 comments

How Monero’s proof of work works

https://blog.alcazarsec.com/tech/posts/how-moneros-proof-of-work-works
261•alcazar•15h ago•188 comments

Pomiferous: The most extensive apples (pommes) database

https://pomiferous.com/
112•Ariarule•14h ago•47 comments

GameStop makes $55.5B takeover offer for eBay

https://www.bbc.co.uk/news/articles/cn0p8yled1do
659•n1b0m•19h ago•633 comments

Transformers Are Inherently Succinct (2025)

https://arxiv.org/abs/2510.19315
44•bearseascape•9h ago•6 comments

Formatting a 25M-line codebase overnight

https://stripe.dev/blog/formatting-an-entire-25-million-line-codebase-overnight-the-rubyfmt-story
143•r00k•9h ago•76 comments

UK Fuel Price Intelligence – Market analytics from reporting stations

https://www.fuelinsight.co.uk
169•theazureguy•14h ago•78 comments

Sierra Raises $950M at $15B Valuation

https://sierra.ai/blog/better-customer-experiences-built-on-sierra
101•doppp•13h ago•128 comments