Django: вихід за межі каталогу під час розпакування шаблону

1 хв читання

1 жовтня 2025 року розробники Django усунули вразливість CVE-2025-59682, яка дозволяла частковий вихід за межі каталогу під час розпакування шаблонів через функцію django.utils.archive.extract().

Вразливість була оприлюднена 1 жовтня 2025 року і стосується функції django.utils.archive.extract(). Вона використовується командами startapp --template та startproject --template. Проблема дозволяла частковий вихід за межі цільового каталогу, якщо архів шаблону містив спеціально сформовані шляхи до файлів, що мали спільний префікс із цільовим каталогом, що потенційно дозволяло перезапис файлів поза межами проєкту.

Рекомендації:

  • Оновіть Django до версії, яка містить виправлення CVE-2025-59682.
  • Уникайте використання шаблонів з ненадійних або неперевірених джерел.
  • Перевірте права доступу користувача, від імені якого виконуються команди startapp або startproject, щоб мінімізувати потенційні наслідки виходу за межі каталогу.

Захист від directory-traversal у Django шаблонах

Вразливість у Django, що дозволяє вихід за межі каталогу під час розпакування шаблонів, створює ризик перезапису файлів на сервері. Це критично для розробників, які використовують команди `startapp` або `startproject` з шаблонами, оскільки зловмисник може отримати несанкціонований доступ до файлової системи.

Практичний крок: Оновіть Django до версії з виправленням CVE-2025-59682 та припиніть використання шаблонів з ненадійних джерел. Зверніться до Softline для налаштування безпечного середовища розробки та перевірки прав доступу користувачів, щоб мінімізувати ризики несанкціонованих операцій з файлами.

Використані джерела

  1. djangoproject.com (djangoproject.com)