Every CVE Search/ Get API key

CVE-2025-47291

containerd CRI plugin: Incorrect cgroup hierarchy assignment for containers running in usernamespaced Kubernetes pods.

4.6 MediumFix available

CVE-2025-47291 is a medium vulnerability (CVSS 4.6) in Containerd, published May 21, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.29%, the 21st percentile. Fixed in github.com/containerd/containerd/v2 2.0.5.

containerd is an open-source container runtime. A bug was found in the containerd's CRI implementation where containerd, starting in version 2.0.1 and prior to version 2.0.5, doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node. This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue. As a workaround, disable usernamespaced pods in Kubernetes temporarily.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.29%Up 0.3 points since May 22, 2025
90%50%10%1%

What each source reports

CVE List Score used 4.6

containerd CRI plugin: Incorrect cgroup hierarchy assignment for containers running in usernamespaced Kubernetes pods.

containerd is an open-source container runtime. A bug was found in the containerd's CRI implementation where containerd, starting in version 2.0.1 and prior to version 2.0.5, doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node. This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue. As a workaround, disable usernamespaced pods in Kubernetes temporarily.

Record
CVE-2025-47291
CVSS 4.0
4.6 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
Weakness
CWE-266
Updated
2026-11-02
EUVDEUVD-2025-16049 4.6

containerd is an open-source container runtime. A bug was found in the containerd's CRI implementation where containerd, starting in version 2.0.1 and prior to version 2.0.5, doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node. This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue. As a workaround, disable usernamespaced pods in Kubernetes temporarily.

Record
EUVD-2025-16049
CVSS 4.0
4.6 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
Updated
2026-11-02
GitHub AdvisoriesGHSA-cxfp-7pvr-95ff 4.6

containerd CRI plugin: Incorrect cgroup hierarchy assignment for containers running in usernamespaced Kubernetes pods.

Impact

A bug was found in the containerd's CRI implementation where containerd doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node.

Patches

This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue.

Workarounds

Disable usernamespaced pods in Kubernetes temporarily.

Credits

The containerd project would like to thank Rodrigo Campos Catelin and Piotr Rogowski for responsibly disclosing this issue in accordance with the containerd security policy.

For more information

If you have any questions or comments about this advisory:

To report a security issue in containerd:

Record
GHSA-cxfp-7pvr-95ff
CVSS 4.0
4.6 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
Weakness
CWE-266
Updated
2026-11-02
NVD 4.6

containerd is an open-source container runtime. A bug was found in the containerd's CRI implementation where containerd, starting in version 2.0.1 and prior to version 2.0.5, doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node. This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue. As a workaround, disable usernamespaced pods in Kubernetes temporarily.

Record
CVE-2025-47291
CVSS 4.0
4.6 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-266
Updated
2026-11-02
OSV 4.6

containerd CRI plugin: Incorrect cgroup hierarchy assignment for containers running in usernamespaced Kubernetes pods.

containerd is an open-source container runtime. A bug was found in the containerd's CRI implementation where containerd, starting in version 2.0.1 and prior to version 2.0.5, doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node. This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue. As a workaround, disable usernamespaced pods in Kubernetes temporarily.

Record
CVE-2025-47291
CVSS 4.0
4.6 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
Weakness
CWE-266
Updated
2026-11-02
OSVGHSA-cxfp-7pvr-95ff 4.6

containerd CRI plugin: Incorrect cgroup hierarchy assignment for containers running in usernamespaced Kubernetes pods.

Impact

A bug was found in the containerd's CRI implementation where containerd doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node.

Patches

This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue.

Workarounds

Disable usernamespaced pods in Kubernetes temporarily.

Credits

The containerd project would like to thank Rodrigo Campos Catelin and Piotr Rogowski for responsibly disclosing this issue in accordance with the containerd security policy.

For more information

If you have any questions or comments about this advisory:

To report a security issue in containerd:

Record
GHSA-cxfp-7pvr-95ff
CVSS 4.0
4.6 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
Weakness
CWE-266
Updated
2026-11-02
Show 7 moreShow less
OSVUBUNTU-CVE-2025-47291 4.6

containerd is an open-source container runtime. A bug was found in the containerd's CRI implementation where containerd, starting in version 2.0.1 and prior to version 2.0.5, doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node. This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue. As a workaround, disable usernamespaced pods in Kubernetes temporarily.

Record
UBUNTU-CVE-2025-47291
CVSS 4.0
4.6 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVAZL-62003 No score

CVE-2025-47291 affecting package containerd2 for versions less than 2.0.0-12

containerd is an open-source container runtime. A bug was found in the containerd's CRI implementation where containerd, starting in version 2.0.1 and prior to version 2.0.5, doesn't put usernamespaced containers under the Kubernetes' cgroup hierarchy, therefore some Kubernetes limits are not honored. This may cause a denial of service of the Kubernetes node. This bug has been fixed in containerd 2.0.5+ and 2.1.0+. Users should update to these versions to resolve the issue. As a workaround, disable usernamespaced pods in Kubernetes temporarily.

Record
AZL-62003
Updated
2026-11-02
OSVGO-2025-3701 No score

Incorrect cgroup assignment for containers running in usernamespaced Kubernetes pods in github.com/containerd/containerd

Incorrect cgroup assignment for containers running in usernamespaced Kubernetes pods in github.com/containerd/containerd

Record
GO-2025-3701
Updated
2026-11-02
OSVopenSUSE-SU-2025:15159-1 No score

govulncheck-vulndb-0.0.20250523T151856-1.1 on GA media

These are all security issues fixed in the govulncheck-vulndb-0.0.20250523T151856-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:15159-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:15454-1 No score

trivy-0.65.0-1.1 on GA media

These are all security issues fixed in the trivy-0.65.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:15454-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:20117-1 No score

Security update for trivy

This update for trivy fixes the following issues:

Changes in trivy:

Update to version 0.67.2 (bsc#1250625, CVE-2025-11065, bsc#1248897, CVE-2025-58058):

  • fix: Use fetch-level: 1 to check out trivy-repo in the release workflow [backport: release/v0.67] (#9638)
  • fix: restore compatibility for google.protobuf.Value [backport: release/v0.67] (#9631)
  • fix: using SrcVersion instead of Version for echo detector [backport: release/v0.67] (#9629)
  • fix: add buildInfo for BlobInfo in rpc package [backport: release/v0.67] (#9615)
  • fix(vex): don't use reused BOM [backport: release/v0.67] (#9612)
  • fix(vex): don't suppress vulns for packages with infinity loop (#9465)
  • fix(aws): use BuildableClient insead of xhttp.Client (#9436)
  • refactor(misconf): replace github.com/liamg/memoryfs with internal mapfs and testing/fstest (#9282)
  • docs: clarify inline ignore limitations for resource-less checks (#9537)
  • fix(k8s): disable parallel traversal with fs cache for k8s images (#9534)
  • fix(misconf): handle tofu files in module detection (#9486)
  • feat(seal): add seal support (#9370)
  • docs: fix modules path and update code example (#9539)
  • fix: close file descriptors and pipes on error paths (#9536)
  • feat: add documentation URL for database lock errors (#9531)
  • fix(db): Dowload database when missing but metadata still exists (#9393)
  • feat(cloudformation): support default values and list results in Fn::FindInMap (#9515)
  • fix(misconf): unmark cty values before access (#9495)
  • feat(cli): change --list-all-pkgs default to true (#9510)
  • fix(nodejs): parse workspaces as objects for package-lock.json files (#9518)
  • refactor(fs): use underlyingPath to determine virtual files more reliably (#9302)
  • refactor: remove google/wire dependency and implement manual DI (#9509)
  • chore(deps): bump the aws group with 6 updates (#9481)
  • chore(deps): bump the common group across 1 directory with 24 updates (#9507)
  • fix(misconf): wrap legacy ENV values in quotes to preserve spaces (#9497)
  • docs: move info about detection priority into coverage section (#9469)
  • feat(sbom): added support for CoreOS (#9448)
  • fix(misconf): strip build metadata suffixes from image history (#9498)
  • feat(cyclonedx): preserve SBOM structure when scanning SBOM files with vulnerability updates (#9439)
  • docs: Fix typo in terraform docs (#9492)
  • feat(redhat): add os-release detection for RHEL-based images (#9458)
  • ci(deps): add 3-day cooldown period for Dependabot updates (#9475)
  • refactor: migrate from go-json-experiment to encoding/json/v2 (#9422)
  • fix(vuln): compare nuget package names in lower case (#9456)
  • chore: Update release flow to include chocolatey (#9460)
  • docs: document eol supportability (#9434)
  • docs(report): add nuanses about secret/license scanner in summary table (#9442)
  • ci: use environment variables in GitHub Actions for improved security (#9433)
  • chore: bump Go to 1.24.7 (#9435)
  • fix(nodejs): use snapshot string as Package.ID for pnpm packages (#9330)
  • ci(helm): bump Trivy version to 0.66.0 for Trivy Helm Chart 0.18.0 (#9425)

Update to version 0.66.0 (bsc#1248937, CVE-2025-58058):

  • chore(deps): bump the aws group with 7 updates (#9419)
  • refactor(secret): clarify secret scanner messages (#9409)
  • fix(cyclonedx): handle multiple license types (#9378)
  • fix(repo): sanitize git repo URL before inserting into report metadata (#9391)
  • test: add HTTP basic authentication to git test server (#9407)
  • fix(sbom): add support for file component type of CycloneDX (#9372)
  • fix(misconf): ensure module source is known (#9404)
  • ci: migrate GitHub Actions from version tags to SHA pinning (#9405)
  • fix: create temp file under composite fs dir (#9387)
  • chore(deps): bump github.com/ulikunitz/xz from 0.5.12 to 0.5.14 (#9403)
  • refactor: switch to stable azcontainerregistry SDK package (#9319)
  • chore(deps): bump the common…
Record
openSUSE-SU-2025:20117-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:20798-1 No score

Security update for trivy

This update for trivy fixes the following issues:

Update to version 0.68.2:

Security fixes:

  • CVE-2024-3817: hashicorp/go-getter: argument injection when fetching remote default git branches (bsc#1227010).
  • CVE-2024-45337: golang.org/x/crypto/ssh: Misuse of ServerConfig.PublicKeyCallback may cause authorization bypass in golang.org/x/crypto (bsc#1234512).
  • CVE-2024-45338: golang.org/x/net/html: denial of service due to non-linear parsing of case-insensitive content (bsc#1235265).
  • CVE-2024-51744: github.com/golang-jwt/jwt/v4: Bad documentation of error handling in ParseWithClaims can lead to potentially dangerous situations in golang-jwt (bsc#1232948).
  • CVE-2025-11065: github.com/go-viper/mapstructure/v2: sensitive Information leak in logs (bsc#1250625).
  • CVE-2025-22868: golang.org/x/oauth2/jws: Unexpected memory consumption during token parsing in golang.org/x/oauth2 (bsc#1239225).
  • CVE-2025-22869: golang.org/x/crypto/ssh: Denial of Service in the Key Exchange of golang.org/x/crypto/ssh (bsc#1239385).
  • CVE-2025-22872: golang.org/x/net/html: incorrectly interpreted tags can cause content to be placed wrong scope during DOM construction (bsc#1241724).
  • CVE-2025-27144: gopkg.in/go-jose/go-jose.v2: Go JOSE's Parsing Vulnerable to Denial of Service (bsc#1237618).
  • CVE-2025-30204: github.com/golang-jwt/jwt/v4,github.com/golang-jwt/jwt/v5: jwt-go allows excessive memory allocation during header parsing (bsc#1240466).
  • CVE-2025-46569: github.com/open-policy-agent/opa: HTTP request path can be crafted to inject Rego code into a constructed query when a virtual document is requested through the Data API (bsc#1246730).
  • CVE-2025-47291: github.com/containerd/containerd/v2: Incorrect cgroup hierarchy assignment for containers running in usernamespaced Kubernetes pods. (bsc#1243633).
  • CVE-2025-47911: golang.org/x/net/html: various algorithms with quadratic complexity when parsing HTML documents (bsc#1251363).
  • CVE-2025-47913: golang.org/x/crypto/ssh/agent: client process termination when receiving an unexpected message type in response to a key listing or signing request (bsc#1253512).
  • CVE-2025-47914: golang.org/x/crypto/ssh/agent: non validated message size can cause a panic due to an out of bounds read (bsc#1253977).
  • CVE-2025-53547: helm.sh/helm/v3: Helm Chart Code Execution (bsc#1246151).
  • CVE-2025-58058: github.com/ulikunitz/xz: github.com/ulikunitz/xz leaks memory (bsc#1248937, bsc#1248897).
  • CVE-2025-58181: golang.org/x/crypto/ssh: invalidated number of mechanisms can cause unbounded memory consumption (bsc#1253786).
  • CVE-2025-58190: golang.org/x/net/html: excessive memory consumption by html.ParseFragment when processing specially crafted input (bsc#1251547).

Other fixes:

  • Update installation.md (#8979)
  • chore(alpine): add EOL date for Alpine 3.21 (#8221)
  • chore(alpine): add EOL date for Alpine 3.22 (#8992)
  • chore(cli): Remove Trivy Cloud (#9847)
  • chore(deps): Bump trivy-checks (#7819)
  • chore(deps): Bump trivy-checks (#8310)
  • chore(deps): Bump trivy-checks (#8619)
  • chore(deps): Bump trivy-checks (#8934)
  • chore(deps): Bump trivy-checks to v1.7.1 (#8467)
  • chore(deps): Bump up trivy-checks to v1.3.0 (#7959)
  • chore(deps): Switch to go-viper/mapstructure (#9579)
  • chore(deps): Update trivy-checks (#8798)
  • chore(deps): Upgrade trivy-checks (#8018)
  • chore(deps): bump Go to v1.23.5 (#8341)
  • chore(deps): bump Go to v1.23.5 [backport: release/v0.59] (#8343)
  • chore(deps): bump github.com/CycloneDX/cyclonedx-go from v0.9.1 to v0.9.2 (#8105)
  • chore(deps): bump github.com/CycloneDX/cyclonedx-go from v0.9.1 to v0.9.2 [backport: release/v0.58] (#8136)
  • chore(deps): bump golang.org/x/net from v0.32.0 to v0.33.0 (#8140)
  • chore(deps): bump golang.org/x/net from v0.32.0 to v0.33.0 [backport: release/v0.58] (#8142)
  • chore(deps): bump alpine from 3.20.0 to 3.21.0 in the docker group across 1 directory (#8196)
  • chore(deps): bump alpine from…
Record
openSUSE-SU-2026:20798-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
github.com/containerd/containerd/v2
Go
2.0.1 to 2.0.4
2.0.5
containerd2
Azure Linux:3
before 2.0.0-12
2.0.0-12
github.com/containerd/containerd/v2
Go
2.0.1 up to 2.0.5
2.0.5
containerd-app
Ubuntu:25.10
before 2.0.5-0ubuntu1, plus listed versions
2.0.2-0ubuntu2
2.0.5-0ubuntu1
govulncheck-vulndb
openSUSE:Tumbleweed
before 0.0.20250523T151856-1.1
0.0.20250523T151856-1.1
trivy
openSUSE:Tumbleweed
before 0.65.0-1.1
0.65.0-1.1

History

History
WhenChangedSources
2026-11-03affected
2026-11-02createdCVE List, EUVD, GitHub Advisories, NVD, OSV

References

Show 57 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open