Flatpak-builder — это инструмент для сборки плоских пакетов из исходного кода. Начиная с версии 1.4.5 и до версии 1.4.8, ключ манифеста файлов лицензий принимает массив путей к определенным пользователем файлам лицензий относительно исходного каталога модуля. Пути из этого массива разрешаются с помощью g_file_resolve_relative_path() и проверяются на предмет сохранения внутри исходного каталога с помощью двух проверок: g_file_get_relative_path(), которая не разрешает символические ссылки, и g_file_query_file_type() с G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, которая применяется только к конечному компоненту пути.
Операция копирования выполняется на хосте. Это можно использовать, используя созданный манифест и/или источник для чтения произвольных файлов с хоста и захвата их в выходные данные сборки. Эта уязвимость исправлена в версии 1.4.8.
Показать оригинальное описание (EN)
flatpak-builder is a tool to build flatpaks from source. From 1.4.5 to before 1.4.8, the license-files manifest key takes an array of paths to user defined licence files relative to the source directory of the module. The paths from that array are resolved using g_file_resolve_relative_path() and validated to stay inside the source directory using two checks - g_file_get_relative_path() which does not resolve symlinks and g_file_query_file_type() with G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS which only applies to the final path component. The copy operation runs on host. This can be exploited by using a crafted manifest and/or source to read arbitrary files from the host and capture them into the build output. This vulnerability is fixed in 1.4.8.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Flatpak Flatpak-Builder
cpe:2.3:a:flatpak:flatpak-builder:*:*:*:*:*:*:*:*
|
1.4.5
|
1.4.8
|