This is the third release candidate for the 1.5.z series of runc. Among
some performance improvements and bugfixes, it includes a fix for a
low-severity vulnerability (CVE-2026-41579) and users are encouraged to
update. As it was a low-severity vulnerability and it was reported by
multiple people, we decided to release it publicly with NO EMBARGO.
We plan to release 1.5.0 in the next two weeks.
Security
This release includes a fix for the following low-severity security issue:
- CVE-2026-41579 allowed a malicious image with a
/devsymlink to have
limited write access to the host filesystem in ways that our analysis
indicates was too limited to be problematic in practice. This bug was very
similar to those fixed in CVE-2025-31133, CVE-2025-52565,
CVE-2025-31133 and was simply missed at the time when we hardened the
rootfs preparation code. We have conducted a deeper audit and not found any
other problematic cases.
libcontainer API
- The
cmsghelpers fromgithub.com/opencontainers/runc/libcontainer/utils
have been moved to an internal package. We have included wrapper functions
but they will be removed in runc 1.6. (#5227, #5231) - Added
//go:fix inlineto ease migration forlibcontainer/devicessymbols
that are deprecated and scheduled for removal in runc 1.6. (#5223, #5225)
Fixed
runc listnow correctly handles non-existant--rootarguments. (#5297,
#5301)- Various integration test improvements. (#5222, #5226, #5232, #5239, #5230,
#5236, #5246, #5248, #5279, #5283, #5269, #5286, #5295, #5303)
Changed
- When masking directories with
maskPaths, runc will now re-use a single
tmpfsinstance (which is not writable) to reduce the numbertmpfs
superblocks that need to be reaped when containers die (in particular,
Kubernetes applies masks to per-CPU sysfs directories which get expensive
quickly). (#5275, #5280)
Static Linking Notices
The runc binary distributed with this release are statically linked with
the following GNU LGPL-2.1 licensed libraries, with runc acting
as a "work that uses the Library":
The versions of these libraries were not modified from their upstream versions,
but in order to comply with the LGPL-2.1 (§6(a)), we have attached the
complete source code for those libraries which (when combined with the attached
runc source code) may be used to exercise your rights under the LGPL-2.1.
However we strongly suggest that you make use of your distribution's packages
or download them from the authoritative upstream sources, especially since
these libraries are related to the security of your containers.
Thanks to the following contributors for making this release possible:
- Akihiro Suda akihiro.suda.cz@hco.ntt.co.jp
- Aleksa Sarai cyphar@cyphar.com
- Davanum Srinivas davanum@gmail.com
- Kevin Berry kpberry11@gmail.com
- Kir Kolyshkin kolyshkin@gmail.com
- Li Fubang lifubang@acmcoder.com
- RedMakeUp girafeeblue@gmail.com
- Ricardo Branco rbranco@suse.de
- Rodrigo Campos Catelin rodrigo@amutable.com
- Sebastiaan van Stijn github@gone.nl
Signed-off-by: Aleksa Sarai cyphar@cyphar.com