Thanks to visit codestin.com
Credit goes to github.com

Skip to content

daemon: Decompress archives before entering container filesystem - #11

Open
val4oss wants to merge 1 commit into
SUSE:suse-v28.5.1from
val4oss:suse-v28.5.1-cve-2026-41567
Open

daemon: Decompress archives before entering container filesystem#11
val4oss wants to merge 1 commit into
SUSE:suse-v28.5.1from
val4oss:suse-v28.5.1-cve-2026-41567

Conversation

@val4oss

@val4oss val4oss commented Jun 9, 2026

Copy link
Copy Markdown

Move decompression outside RunInFS to prevent executing attacker-controlled binaries from within the container filesystem.

When dockerd handles PUT /containers/{id}/archive, it switches root into the container's filesystem before extracting the archive. Previously, archive.Untar was called inside RunInFS, which meant decompression binaries (xz, unpigz) were resolved via PATH inside the container's filesystem. A malicious binary at /usr/bin/xz in the container would be executed as host root.

Fix by calling decompressing the archive before entering the container filesystem, then using unpacking the uncompressed tar stream inside RunInFS.
This ensures decompression binaries are always resolved from the host filesystem.

Signed-off-by: Paweł Gronowski [email protected]
(cherry picked from commit 2022313)

[vlefebvre: fixes bsc#1267827 CVE-2026-41567]

- What I did

- How I did it

- How to verify it

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

Move decompression outside RunInFS to prevent executing
attacker-controlled binaries from within the container filesystem.

When dockerd handles `PUT /containers/{id}/archive`, it switches root
into the container's filesystem before extracting the archive.
Previously, archive.Untar was called inside RunInFS, which meant
decompression binaries (xz, unpigz) were resolved via PATH inside the
container's filesystem. A malicious binary at /usr/bin/xz in the
container would be executed as host root.

Fix by calling decompressing the archive before entering the container
filesystem, then using unpacking the uncompressed tar stream inside
RunInFS.
This ensures decompression binaries are always resolved from the host
filesystem.

Signed-off-by: Paweł Gronowski <[email protected]>
(cherry picked from commit 2022313)

[vlefebvre: fixes bsc#1267827 CVE-2026-41567]
@danishprakash danishprakash removed their assignment Jun 12, 2026
@rcmadhankumar

Copy link
Copy Markdown

Lets not merge it now.
I will try to keep it v29.4.0 everywhere. Will take care of the patch if update is not possible.

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.

4 participants