The post has been translated automatically. Original language: Russian
On September 2, 2026, the Podman 6.1.1 patch release was released. There are only two changes in it, but both are noticeable to those who keep containers in stock: a vulnerability in the tar archive unpacking code, which received the identifier CVE-2026-17106, was closed, and the behavior of port forwarding in rootless mode, broken in previous builds, was restored. branches.
What was wrong with unpacking the archives?
The defect does not live in the Podman itself, but in the go-archive library of the Moby project — it is a separate package of tar code used by various tools of the container ecosystem. The unpacking functions are affected: Unpack, UnpackLayer, Untar, and UntarUncompressed, as well as ApplyLayer auxiliary wrappers.
The essence of the problem is classical and this makes it especially unpleasant. Before creating a file from the archive, the code checked the path by string comparison: it made sure that the record name did not exceed the target directory. But the actual recording is performed by the operating system, and it resolves symbolic links in its own way - after verification. If there is a symbolic or hard link leading outside in the archive in advance, the lexical check skips it, and the core honestly follows the link when writing. As a result, an archive prepared by an attacker can create or overwrite files anywhere that is writable by the unpacking process.
The vulnerability has been rated 8.0 by CVSS version 4 — high level. In the classification, it goes through two weaknesses at once.: going outside the catalog and following the links. All versions of the library up to 0.3.0 are vulnerable, and the fix was included in version 0.3.0. The notification itself was published on August 18, 2026, so that the maintainers of distributions and related projects had time to tighten the dependency.
Who else does it concern
Since the problem is in the shared library, the range of affected tools is wider than one Podman. The notification specifically notes that the fixes have been included in Docker Desktop since version 48.6.0 and in the Docker CLI since version 29.7.0. The authors do not offer a workaround other than updating: the only recommendation for the time before the update is to unpack only those archives whose source you trust.
Second change: ports in rootless mode
The second point of the release is the rootlessport fix. A bundle like "-p 0.0.0.0:... -p [::]:...", that is, explicitly publishing one port separately on IPv4 and separately on IPv6, instead of working, led to an error. Now Podman binds two separate sockets — for IPv4 and for IPv6. A side effect, but an important one: the Podman Machine on WSL has port forwarding working correctly again, because its forwarding logic is designed specifically for separate sockets.
What does this mean in practice?
The first thing to look at is not just the Podman itself. If there is a defect in the library, you need to update everything that unpacks image layers and tar archives: the Docker client, assembly utilities, and self-written services on Go, if they pull this package directly. Check the dependencies in your builds — the package often turns out to be transitive and not noticeable.
Secondly, evaluate where archives of unknown origin are unpacked in your pipeline. Downloading an image from someone else's registry, receiving a user archive by a web service, unpacking artifacts from an external pipeline - these are scenarios where the lack of protection from links turns into overwriting files on behalf of the process. If the unpacking is done by a privileged user, the consequences are limited only by the rights of this process.
The third is purely operational: if you have a dual stack enabled on your hosts and ports are published separately for IPv4 and IPv6, it's worth checking the configurations after the update. The binding behavior has changed, and such things pop up not on the stand, but on the prod, where the firewall addresses and rules differ from the test ones.
The draft text was prepared with the participation of AI, the facts were checked against the original source — the official notes for the Podman 6.1.1 release and the Moby project security notice.
Второго сентября 2026 года вышел патч-релиз Podman 6.1.1. Изменений в нём всего два, но оба заметные для тех, кто держит контейнеры в проде: закрыта уязвимость в коде распаковки tar-архивов, получившая идентификатор CVE-2026-17106, и восстановлено поведение проброса портов в rootless-режиме, сломанное в предыдущих сборках ветки.
Что не так было с распаковкой архивов
Дефект живёт не в самом Podman, а в библиотеке go-archive проекта Moby — это вынесенный в отдельный пакет код работы с tar, которым пользуются разные инструменты экосистемы контейнеров. Затронуты функции распаковки: Unpack, UnpackLayer, Untar и UntarUncompressed, а также вспомогательные обёртки ApplyLayer.
Суть проблемы классическая и от этого особенно неприятная. Перед тем как создать файл из архива, код проверял путь строковым сравнением: убеждался, что имя записи не выходит за пределы целевого каталога. Но фактическую запись выполняет уже операционная система, и она разрешает символические ссылки по-своему — после проверки. Если в архиве заранее лежит символическая или жёсткая ссылка, ведущая наружу, лексическая проверка её пропускает, а ядро при записи честно уходит по ссылке. В результате подготовленный злоумышленником архив может создать или перезаписать файлы в любом месте, доступном на запись процессу, который занимается распаковкой.
Уязвимости присвоена оценка 8.0 по CVSS версии 4 — высокий уровень. В классификации она проходит сразу по двум слабостям: выход за пределы каталога и следование по ссылкам. Уязвимы все версии библиотеки до 0.3.0, исправление вошло в версию 0.3.0. Само уведомление было опубликовано 18 августа 2026 года, так что у сопровождающих дистрибутивов и смежных проектов было время подтянуть зависимость.
Кого ещё это касается
Раз проблема в общей библиотеке, круг задетых инструментов шире одного Podman. В уведомлении отдельно отмечено, что исправления вошли в Docker Desktop начиная с версии 48.6.0 и в Docker CLI начиная с версии 29.7.0. Обходного пути, кроме обновления, авторы не предлагают: единственная рекомендация на время до обновления — распаковывать только те архивы, источнику которых вы доверяете.
Второе изменение: порты в rootless-режиме
Второй пункт релиза — исправление rootlessport. Связка вида «-p 0.0.0.0:… -p [::]:…», то есть явная публикация одного порта отдельно на IPv4 и отдельно на IPv6, вместо работы приводила к ошибке. Теперь Podman биндит два отдельных сокета — под IPv4 и под IPv6. Побочный, но важный эффект: у Podman Machine на WSL снова корректно работает проброс портов, потому что его логика форвардинга рассчитана именно на раздельные сокеты.
Что это значит на практике
Первое, на что стоит посмотреть, — это не только сам Podman. Раз дефект в библиотеке, обновлять надо всё, что распаковывает слои образов и tar-архивы: клиент Docker, сборочные утилиты, самописные сервисы на Go, если они тянут этот пакет напрямую. Проверьте зависимости в своих сборках — пакет часто оказывается транзитивным и не бросается в глаза.
Второе — оцените, где у вас в конвейере распаковываются архивы неизвестного происхождения. Загрузка образа из чужого реестра, приём пользовательского архива веб-сервисом, распаковка артефактов из внешнего пайплайна — вот сценарии, где отсутствие защиты от ссылок превращается в перезапись файлов от имени процесса. Если распаковка идёт из-под привилегированного пользователя, последствия ограничены только правами этого процесса.
Третье, чисто эксплуатационное: если у вас на хостах включён двойной стек и порты публикуются раздельно для IPv4 и IPv6, стоит проверить конфигурации после обновления. Поведение биндинга поменялось, а такие вещи всплывают не на стенде, а на проде, где адреса и правила фаервола отличаются от тестовых.
Черновик текста подготовлен с участием ИИ, факты сверены с первоисточником — официальные заметки к релизу Podman 6.1.1 и уведомление о безопасности проекта Moby.