Segmentation fault when launching binary from volume that is `noexec` on host
- Dominant language
- Go
- Stars
- 19.3k
- Forks
- 2k
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 264
Description
### Description
When a container is started with a host-mounted path marked noexec on the host, executing binaries from that folder inside the container results in a Segmentation fault.
### Steps to reproduce
1. Put some static binary in a folder on host that belongs to filesystem mounted with `noexec` option.
2. Add this path to container
3. Try to launch any binary from this folder in container
### runsc version
```shell
runsc version release-20260810.0
spec: 1.2.1
```
### docker version (if using docker)
```shell
Client: Docker Engine - Community
Version: 29.7.2
API version: 1.55
Go version: go1.26.5
Git commit: a7dcaa6
Built: Wed Aug 5 18:29:26 2026
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 29.7.2
API version: 1.55 (minimum version 1.40)
Go version: go1.26.5
Git commit: 6a43e3d
Built: Wed Aug 5 18:29:26 2026
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.3.3
GitCommit: aad11006b869517fcd3009450b6f82da282e1a9b
runsc:
Version: release-20260810.0
GitCommit:
docker-init:
Version: 0.19.0
GitCommit: de40ad0
```
### uname
Linux 6.12.101+deb13-amd64
Contributor guide
Research direction
Start by reproducing the issue with runsc using a host-mounted path on a noexec filesystem, following the listed steps and environment details. Compare launching the static binary from that mount with launching it elsewhere; done means the noexec case no longer produces a segmentation fault and the behavior is covered by an appropriate regression check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go, linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100