CVE-2026-19730 in Podman
Сводка
по VulDB • 14.08.2026
В Podman версий 5.8.x обнаружена уязвимость. Команда `podman quadlet install --replace` открывает существующий файл назначения с флагами O_CREATE|O_WRONLY, но опускает флаг O_TRUNC. Когда первоначальная попытка создания reflink-копии завершается неудачей (что часто происходит на файловых системах без поддержки reflink, включая многие конфигурации XFS по умолчанию в RHEL), механизм ReflinkOrCopy использует функцию io.Copy, которая выполняет запись без усечения файла. Если исходный Quadlet больше нового Quadlet, файл не усекается и содержимое оригинала сохраняется. Команда завершается успешно без предупреждений.
Риска утечки информации нет, так как пользователь уже имел доступ к заменяемому Quadlet-файлу; в большинстве случаев это приводит лишь к созданию недопустимых Quadlet-файлов (см. https://github.com/podman-container-tools/podman/issues/29013). Однако параметры безопасности из конца старого Quadlet могут быть включены в новый Quadlet, и если усечение привело бы к формированию корректного файла Quadlet, это могло бы вызвать нежелательное поведение. Например, выполнение команды `podman quadlet install --replace` для удаления одной строки с конца Quadlet (включая чувствительные параметры безопасности, такие как AddCapability) завершится неудачей, и этот параметр продолжит использоваться. Кроме того, в случае Volume-Quadlet это может привести к добавлению дополнительных точек монтирования, что вызовет непреднамеренное раскрытие содержимого внутри контейнеров. Если впоследствии образ будет обновлен, скомпрометированное содержимое может быть передано злоумышленнику.
Уязвимые участки кода находятся в файлах pkg/domain/infra/abi/quadlet.go (строки 338-360: O_CREATE|O_WRONLY без O_TRUNC) и vendor/go.podman.io/storage/pkg/fileutils/reflink_linux.go (строки 12-19: резервный вариант ioCopy без усечения).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.