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