Frappe 16.33.1 закрив витоки секретів, небезпечні CSV та обхід файлових шляхів
Frappe виправив маскування client_secret, формульні ін’єкції в CSV, перевірку файлових шляхів і надто широкий контекст серверних скриптів.

Frappe Framework 16.33.1 виправив одразу кілька помилок на межі між звичайним багом і вразливістю. Реліз маскує client_secret у очищених повідомленнях про помилки, екранує формулоподібні значення під час експорту CSV, перевіряє файлові шляхи та звужує контекст виконання динамічних вебсторінок. Для ERP, CRM і внутрішніх порталів це важливіше за косметичні зміни інтерфейсу.

Секрети більше не мають потрапляти в помилки
Очищені error message тепер приховують значення client_secret. Такі дані можуть з’являтися у винятку під час невдалого OAuth-запиту, після чого потрапити до журналу, системи моніторингу або повідомлення підтримці. Маскування зменшує ризик, але адміністратору все одно варто перевірити старі логи та змінити секрет, якщо він уже був розкритий.
CSV відкриватиметься як текст, а не як команда
Експортовані значення, схожі на формулу, тепер екрануються. Табличні програми можуть інтерпретувати клітинку, що починається зі спеціального символу, як формулу. Якщо значення надійшло від користувача, відкриття CSV співробітником здатне запустити небажане обчислення або створити зовнішній запит. Нове правило змушує програму показувати такий вміст як текст.
Це не означає, що будь-який старий експорт автоматично став безпечним. Файли, сформовані попередньою версією, потрібно вважати неперевіреними, особливо якщо вони містять поля з форм, імпорту чи публічних заявок.
Безпечніші сторінки, скрипти та файли
Динамічний вміст Web Page генерується у схваленому safe rendering context замість ширшого середовища. Із safe execution також прибрали змінну request. Це зменшує доступ скрипту до контексту HTTP-запиту і кількість неочікуваних шляхів до даних.
File та File Manager відхиляють шляхи, які виходять за межі дозволеної директорії, і ситуації, коли замість файлу передано каталог. Перевірка шляху особливо важлива в системах із завантаженням документів, де звичайна помилка нормалізації може дозволити читання або запис не там, де очікує розробник.
Права для автоматичних повторів
Під час налаштування Auto Repeat система перевіряє, чи може користувач редагувати пов’язаний документ. Перед кожним запланованим запуском перевіряється також право власника бачити документ. Якщо доступу немає, запуск пропускається та журналюється; якщо документ видалено, Auto Repeat вимикається, не блокуючи інші задачі.
Це усуває типову проблему фонових процесів: користувач втратив права, але старе розкладене завдання продовжує працювати з колишніми повноваженнями. Адміністраторам варто після оновлення переглянути пропуски у scheduler logs.
Інші виправлення, які помітять користувачі
- Високоточне округлення однаково працює у формах і на сервері для Commercial та Banker’s Rounding.
- Міграція під ASCII locale читає мовні дані й DocType як UTF-8.
- Пошук перекладених DocType більше не дублює і не пропускає результати під час пагінації.
- Одночасні запити до Dashboard Chart не втрачають готовий результат.
- Генерація PDF показує стан, причину помилки й окреме пояснення для надто великого звіту.
Що зробити перед оновленням
Спочатку слід прогнати тести експорту CSV, кастомних Web Page, server scripts, інтеграцій OAuth і завдань Auto Repeat. Якщо проєкт покладався на request у safe script, код треба перепроєктувати, а не повертати широкий контекст обхідним шляхом. Окремо варто переконатися, що власні файлові інтеграції використовують дозволені каталоги.
Практичний висновок: Frappe 16.33.1 варто розглядати як безпекове оновлення. Воно закриває кілька невеликих, але реальних каналів витоку даних і виконання небажаного вмісту.
Джерело та права
Матеріал є самостійним українським перекладом-переказом офіційних release notes Frappe 16.33.1, опублікованих 8 вересня 2026 року. Проєкт поширюється за ліцензією MIT. Перекладено й адаптовано редакцією «Бібліотеки програміста». Обкладинка створена редакцією за допомогою AI та не входить до першоджерела.
Матеріал перекладено, переказано та доповнено редакцією українською мовою.
Читайте далі — ми вже розбираємо наступну важливу тему.

