Hi,

On Sat, Aug 15, 2026 at 12:59:39PM +0000, Noah Elias Feldt wrote:
> On Fri, 14 Aug 2026 21:36:27 +0200 Salvatore Bonaccorso 
> <[email protected]<mailto:[email protected]>> wrote:
> > Hi Noah,
> >
> > On Thu, Aug 13, 2026 at 02:38:34PM +0000, Noah Elias Feldt wrote:
> > > Subject: linux-binary-7.1.3+deb13-amd64: unprivileged user-triggerable 
> > > use-after-free host panic
> > > Package: src:linux
> > > X-Debbugs-Cc: [email protected]<mailto:[email protected]>
> > > Version: 7.1.3-1~bpo13+1
> > > Severity: important
> > >
> > > Dear Maintainer,
> > >
> > > An unprivileged local user can panic the entire host. Reading a cgroup's
> > > world-readable cgroup.procs triggers a use-after-free of struct 
> > > task_struct in
> > > css_task_iter_next(), ending in "Kernel panic - not syncing: Fatal 
> > > exception in
> > > interrupt".
> > > Nodes hard-panic and reboot organically under normal load on
> > > the affected kernel. It also reproduces deterministically within seconds 
> > > with
> > > the attached PoC as an ordinary user (no root, no capabilities, no 
> > > namespaces).
> > >
> > > *** Reporter, please consider answering these questions, where 
> > > appropriate ***
> > >
> > >    * What led up to the situation?
> > >      An unprivileged process reads its own world-readable cgroup.procs 
> > > while,
> > >      on the same CPU, thread-group leaders in that cgroup exit and are
> > >      mass-reaped (attached poc.c). Not only synthetic: several of our 
> > > production
> > >      nodes have already panicked this way organically under normal 
> > > container
> > >      workload (Kubernetes / cri-o) on the affected kernel.
> > >
> > >    * What exactly did you do?
> > >      Ran the reproducer as an ordinary user on an Debian 13 KVM guest
> > >      (trixie-backports kernel)
> > >
> > >    * What was the outcome?
> > >      In ~12-70 s: "refcount_t: addition on 0" in css_task_iter_next()
> > >      (get_task_struct on usage==0) -> premature free -> NULL 
> > > rcu_head.func in
> > >      rcu_do_batch (RIP:0x0) -> "Kernel panic - not syncing". Host dead -- 
> > > same
> > >      signature as the organic production panics. Full trace attached 
> > > (dmesg.log).
> > >
> > >    * What outcome did you expect instead?
> > >      Reading cgroup.procs must never crash the host.
> >
> > I can reproduce the issue up to the current kernel version
> > 7.2~rc7-1~exp1 in experimental. Are you able to narrow down more the
> > range and would you be able to bisect the issue?
> >
> > I will see if I can otherwise poin point it as well and if there are
> > already upstream issues reported about this.
> >
> > Regards,
> > Salvatore
> >
> >
> 
> Thanks for reproducing it. We haven't run a full bisect, but
> narrowed it by source inspection: the deferred-unlink rework
> (cgroup_task_free called from __put_task_struct, i.e. after
> usage==0) is absent in v6.18.44 and present in v6.19.13, so safe
> ≤6.18 (incl. stable 6.12.x), first affected v6.19, matching commit
> d245698d727a.  (Just a hypothesis)
> 
> We also fully reproduced it on our production system with a second,
> more targeted reproducer: inside an unprivileged container on a
> stock 7.0.13 node, the bare-metal host panicked within seconds. I
> didn't attach it since I think, it shouldn't be public yet. I can
> send it to you privately.

Thanks for sharing that, I initially wrongly guessed to be a
regression from 7.0 to 7.1-rc1 but it looks it is just bit harder to
trigger on older versions. 

I think we can next forward this to upstream.

Regards,
Salvatore

Reply via email to