dbt-common — это общие общие утилиты для использования dbt-core и адаптеров. До версий 1.34.2 и 1.37.3 уязвимость обхода пути существовала в функции Safe_extract() dbt-common, используемой при извлечении архивов tarball. Функция использует os.path.commonprefix() для проверки того, что извлеченные файлы остаются в предполагаемом каталоге назначения.
Однако commonprefix() сравнивает пути посимвольно, а не по компонентам пути, позволяя вредоносному архиву записывать файлы в родственные каталоги с совпадающими префиксами имен. Эта проблема исправлена в версиях 1.34.2 и 1.37.3.
Показать оригинальное описание (EN)
dbt-common is the shared common utilities for dbt-core and adapter implementations use. Prior to versions 1.34.2 and 1.37.3, a path traversal vulnerability exists in dbt-common's safe_extract() function used when extracting tarball archives. The function uses os.path.commonprefix() to validate that extracted files remain within the intended destination directory. However, commonprefix() compares paths character-by-character rather than by path components, allowing a malicious tarball to write files to sibling directories with matching name prefixes. This issue has been patched in versions 1.34.2 and 1.37.3.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Getdbt Dbt-Common
cpe:2.3:a:getdbt:dbt-common:*:*:*:*:*:*:*:*
|
— |
1.34.2
|
|
Getdbt Dbt-Common
cpe:2.3:a:getdbt:dbt-common:*:*:*:*:*:*:*:*
|
1.35.0
|
1.37.3
|