CVE-2026-82430: Apache Storm Worker Launcher: Local Privilege Escalation to Root via Container Command Files Chowned to the Tenant

Published Sep 13, 2026
·
Updated

Description

When launching a Docker or OCI worker, the setuid-root worker-launcher first changes ownership of the entire worker directory to the untrusted topology user, and only afterwards reads and acts on the command file that the supervisor wrote into that same directory. The file is opened without ONOFOLLOW and without re-verifying its owner, so between the ownership change and the read the tenant can replace its contents.

For the Docker path the parsed command is executed with real uid 0, and the command sanitiser is not a privilege boundary: it admits -v with an arbitrary source, --device, --cap-add, --security-opt, --user and --net, and copies positional arguments through verbatim. A rewritten file therefore yields an attacker-authored, root-equivalent container invocation with the host filesystem available.

For the OCI path the same rewrite window applies, and mount validation is structural only, with no source or destination allow-list, so arbitrary host paths can be bind-mounted read-write into the container. The username field of the command file is likewise attacker-settable and is checked only against non-root and minimum-uid rules, permitting execution as another tenant's uid.

Mitigation

Upgrade to 3.1.0, where the command file is validated before the ownership change and re-verified on open, and where mount sources and destinations are constrained by configuration.

Users who cannot upgrade immediately should disable Docker and OCI worker isolation, or restrict topology submission on affected supervisors to trusted principals. Note that the launcher must be rebuilt and reinstalled after upgrading.

Credit

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

Affected Software

1 affected component
Apache Apache Storm Worker Launcher<3.1.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Apache Storm worker-launcher to a version that resolves this vulnerability.

    Fixed in 3.1.0
  2. Configuration

    Users who cannot upgrade immediately should disable Docker worker isolation.

    Apache Storm worker isolation Docker worker isolation = disabled
  3. Configuration

    Users who cannot upgrade immediately should disable OCI worker isolation.

    Apache Storm worker isolation OCI worker isolation = disabled
  4. Compensating control

    When launching Docker or OCI workers on affected supervisors until upgraded, restrict topology so workers run against trusted principals (restrict topology).

  5. Compensating control

    On affected supervisors until upgraded, ensure container submission is limited to trusted principals (restrict topology/topology access) to reduce exposure.

Event History

Sep 14, 2026
CVE Published
via MITRE·02:15 PM
Data Sourced
via MITRE·02:15 PM
DescriptionWeakness

Frequently Asked Questions

1

Who can exploit this issue?

An untrusted topology user who can modify the worker directory after worker-launcher changes its ownership can replace the supervisor-written command file before it is read. Exploitation depends on winning that interval and supplying a rewritten command file.

2

Is the impact different for Docker and OCI workers?

For Docker workers, the rewritten command can produce a container invocation executed with real UID 0, with options that permit host filesystem access and other privileged settings. For OCI workers, arbitrary host paths can be bind-mounted read-write because mount validation has no source or destination allow-list.

3

Do command-file username checks prevent exploitation?

No. The username field is attacker-settable and is checked only to ensure it is non-root and meets minimum-UID rules; those checks do not prevent the described command-file replacement.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203