CVE-2026-82429CWE-367

CVE-2026-82429

High · published September 14, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.2
In the wild
Unconfirmed
What it is

Description

The setuid-root `worker-launcher` binary adjusts ownership and permissions of worker directories by walking

the tree with FTS and calling `lchown` and `chmod` on each entry's full pathname while running with an

effective uid of 0. Both syscalls re-resolve the path at the time of the call, after FTS has classified the

entry, and the trees being walked are owned and writable by the untrusted topology user.

A tenant running code on a supervisor node could therefore replace an intermediate directory component with

a symbolic link between classification and the privileged operation, redirecting the root-owned `lchown` or

`chmod` at an arbitrary file on the host. The operation is repeatable at will, since crashing a worker

forces a relaunch and blob updates re-run the walk, so a failed attempt costs the attacker nothing.

This crosses the boundary that `supervisor.run.worker.as.user` and container isolation are intended to

enforce. It is the same defect class as the Hadoop container-executor issues from which this code derives.

Mitigation

Upgrade to 3.1.0, where the privileged walk operates on file descriptors it has already stat'd rather than

on pathnames re-resolved at call time.

Users who cannot upgrade immediately should not run untrusted topology code on supervisors configured with

`supervisor.run.worker.as.user`, since the launcher is the boundary being crossed. Note that the launcher

must be rebuilt and reinstalled after upgrading; replacing the Java artifacts alone is not sufficient.

Credit

The ASF -- found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00127 · 2.2th percentile
Weakness
CWE-367 · Time-of-check Time-of-use (TOCTOU) Race Condition
Published
2026-09-14T19:17Z
References (2)
EPSS history
Timeline
  • 17 SEP 03:33Z
    EPSS moved — → 0%
    epss
  • 14 SEP 14:16Z
    Apache Storm Worker Launcher: Local Privilege Escalation to Root via a Time-of-Check Race in the Worker Launcher
    cvelistv5