Skip to content

hugetlb: reject page sizes containing path separators - #400

Open
justmorpheus wants to merge 1 commit into
containerd:mainfrom
justmorpheus:hugetlb-pagesize-validation
Open

justmorpheus wants to merge 1 commit into
containerd:mainfrom
justmorpheus:hugetlb-pagesize-validation

Conversation

@justmorpheus

Copy link
Copy Markdown

The hugepage size from LinuxResources.HugepageLimits is used to build the hugetlb limit filename. A value containing path separators makes the resulting path resolve outside of the cgroup directory, and the write silently lands there.

Return an error instead. For cgroup v2 the check is done in Value.write so it covers every filename written to the unified hierarchy. Valid page sizes (e.g. "2MB", "1GB") are unaffected.

Follow-up to the closed advisory GHSA-vg8r-xxjh-q4ww and this also matches the hardening applied in runc (opencontainers/runc#4103).

Tests added for both cgroup v1 and v2

The hugepage size from LinuxResources.HugepageLimits is used to build
the hugetlb limit filename. A value containing path separators makes
the resulting path resolve outside of the cgroup directory, and the
write silently lands there.

Return an error instead. For cgroup v2 the check is done in
Value.write so it covers every filename written to the unified
hierarchy. Valid page sizes (e.g. "2MB", "1GB") are unaffected.

This matches the hardening applied in runc (opencontainers/runc#4103).

Signed-off-by: divyanshu <86191568+justmorpheus@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant