From f0b8935b3d4f6490a741c6606321bcf828990b63 Mon Sep 17 00:00:00 2001 From: "advisory-database[bot]" <45398580+advisory-database[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 15:20:31 +0000 Subject: [PATCH] Publish GHSA-5w4j-f78p-4wh9 --- .../GHSA-5w4j-f78p-4wh9.json | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 advisories/github-reviewed/2025/03/GHSA-5w4j-f78p-4wh9/GHSA-5w4j-f78p-4wh9.json diff --git a/advisories/github-reviewed/2025/03/GHSA-5w4j-f78p-4wh9/GHSA-5w4j-f78p-4wh9.json b/advisories/github-reviewed/2025/03/GHSA-5w4j-f78p-4wh9/GHSA-5w4j-f78p-4wh9.json new file mode 100644 index 00000000000..1d667a12bb6 --- /dev/null +++ b/advisories/github-reviewed/2025/03/GHSA-5w4j-f78p-4wh9/GHSA-5w4j-f78p-4wh9.json @@ -0,0 +1,79 @@ +{ + "schema_version": "1.4.0", + "id": "GHSA-5w4j-f78p-4wh9", + "modified": "2025-03-21T15:18:28Z", + "published": "2025-03-21T15:18:28Z", + "aliases": [ + "CVE-2025-27612" + ], + "summary": "Libcontainer is affected by capabilities elevation similar to GHSA-f3fp-gc8g-vw66", + "details": "### Impact\nIn libcontainer, while creating a tenant container, the tenant builder accepts a list of capabilities to be added in the spec of tenant container. Code can be seen [here](https://github.com/youki-dev/youki/blob/9e63fa4da1672a78ca45100f3059a732784a5174/crates/libcontainer/src/container/tenant_builder.rs#L408) . The logic here adds the given capabilities to all capabilities of main container if present in spec, otherwise simply set provided capabilities as capabilities of the tenant container.\n\nHowever, GHSA-f3fp-gc8g-vw66 was opened on runc mentioning that setting inherited caps in any case for tenant container can lead to elevation of capabilities. For this, they added a fix [here](https://github.com/opencontainers/runc/blob/986451c24e17c8d4be3c454f60b1f7be4af3e8b4/exec.go#L234-L242) where they never set new inherited caps on tenant, and set ambient caps only if original container had inherited caps.\n\nSimilarly crun never sets inherited caps as can be seen [here](https://github.com/containers/crun/blob/3ec6298abd79e144fbf3fa6db90793ff4c0516f9/src/exec.c#L319).\n\n> [!NOTE]\nThis does not affect youki binary itself, as the exec implementation is partially broken and does not pass on the user-provided caps to tenant containers, this is only applicable if you are using libcontainer directly and using the tenant builder.\n\n### Workarounds\n- Do not pass any user-provided capabilities to the tenant builder, in which case no capabilities will be set on tenant.\n- Alternatively you can verify the capabilities of original container and filter the user passed capabilities before setting them on tenant.\n\n### References\n- https://github.com/opencontainers/runc/security/advisories/GHSA-f3fp-gc8g-vw66\n- https://man7.org/linux/man-pages/man7/capabilities.7.html", + "severity": [ + { + "type": "CVSS_V3", + "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L" + } + ], + "affected": [ + { + "package": { + "ecosystem": "crates.io", + "name": "libcontainer" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0" + }, + { + "fixed": "0.5.3" + } + ] + } + ] + } + ], + "references": [ + { + "type": "WEB", + "url": "https://github.com/opencontainers/runc/security/advisories/GHSA-f3fp-gc8g-vw66" + }, + { + "type": "WEB", + "url": "https://github.com/youki-dev/youki/security/advisories/GHSA-5w4j-f78p-4wh9" + }, + { + "type": "WEB", + "url": "https://github.com/youki-dev/youki/commit/747e342d2026fbf3a395db3e2a491ebef00082f1" + }, + { + "type": "WEB", + "url": "https://github.com/containers/crun/blob/3ec6298abd79e144fbf3fa6db90793ff4c0516f9/src/exec.c#L319" + }, + { + "type": "WEB", + "url": "https://github.com/opencontainers/runc/blob/986451c24e17c8d4be3c454f60b1f7be4af3e8b4/exec.go#L234-L242" + }, + { + "type": "PACKAGE", + "url": "https://github.com/youki-dev/youki" + }, + { + "type": "WEB", + "url": "https://github.com/youki-dev/youki/blob/9e63fa4da1672a78ca45100f3059a732784a5174/crates/libcontainer/src/container/tenant_builder.rs#L408" + }, + { + "type": "WEB", + "url": "https://man7.org/linux/man-pages/man7/capabilities.7.html" + } + ], + "database_specific": { + "cwe_ids": [], + "severity": "MODERATE", + "github_reviewed": true, + "github_reviewed_at": "2025-03-21T15:18:28Z", + "nvd_published_at": null + } +} \ No newline at end of file