VYPR
Moderate severityNVD Advisory· Published Mar 29, 2023· Updated Feb 12, 2025

AppArmor bypass with symlinked /proc in runc

CVE-2023-28642

Description

runc is a CLI tool for spawning and running containers according to the OCI specification. It was found that AppArmor can be bypassed when /proc inside the container is symlinked with a specific mount configuration. This issue has been fixed in runc version 1.1.5, by prohibiting symlinked /proc. See PR #3785 for details. users are advised to upgrade. Users unable to upgrade should avoid using an untrusted container image.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

runc 1.1.5 fixes an AppArmor bypass via symlinked /proc inside a container, enabling privilege escalation.

Root

Cause

The vulnerability stems from how runc handles /proc and /sys paths inside the container during startup. When the container is configured with a symlink pointing /proc (or /sys) to another location, and that symlink is combined with a specific mount configuration, the path resolution performed by runc fails to verify that the final destination is still a directory. As described in the pull request fixing the issue [3], the check that should have rejected a symlink was inadvertently bypassed after a change switched from filepath.Join to SecureJoin, which follows and resolves symlinks. Consequently, runc would proceed to remount /proc from the host into the container, but the symlink allowed an attacker to control which directory became the new procfs mount point.

Exploitation

Exploitation requires an attacker who can craft a container image (or modify an existing one) that sets up /proc as a symlink pointing to a directory they control, and provide that container image to a victim who runs it with runc. No additional privileges are required beyond the ability to create or modify container images, and no user interaction beyond running the container is needed. The attacker must ensure the symlink is present before the container is started, and the runc configuration must not prohibit this symlink. The GitHub Security Advisory lists the attack vector as network-accessible, with low complexity and no privileges required [4].

Impact

If successfully exploited, an attacker who has already compromised a container can bypass AppArmor (and potentially SELinux) confinement imposed on the container. This means that even though the container was constrained by a mandatory access control policy, the attacker can escape that policy and perform actions on the host that should have been denied, such as reading or writing files outside the container namespace. The CVSS score has not been fully assigned, but the NVD entry [2] and the advisory [4] indicate high severity due to the potential for container escape and privilege escalation.

Mitigation

The vulnerability is fixed in runc version 1.1.5, which prohibits the use of symlinked /proc and /sys [1][3]. Users are advised to upgrade their runc installation to 1.1.5 or later. For those unable to upgrade immediately, the recommended workaround is to avoid running untrusted container images, as the vulnerability can only be triggered by a malicious image. No other workarounds have been provided, and the fix has been backported to the 1.1 branch.

AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
github.com/opencontainers/runcGo
< 1.1.51.1.5

Affected products

68

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

5

News mentions

0

No linked articles in our index yet.