Журнал безпеки.
Ми публікуємо знахідки після того, як вони виправлені й перевірені — коротке резюме, ніколи не рецепт експлойта. Терміни виправлення вказані поруч із кожним записом.
Що сталося.
Внутрішня перевірка перед запуском програми
15 липня 2026 року ми розпочали внутрішню перевірку безпеки CreateYourVPN. Виправлення, які ми завершили та перевірили повторно, опубліковано нижче; решта з'являтимуться в міру розгортання та підтвердження.
— Команда CreateYourVPNДодано захист від небезпечної cross-origin конфігурації
Поточна production-конфігурація не дозволяла довільні origins, проте код допускав небезпечне поєднання параметрів у разі помилки оператора. Тепер така конфігурація відхиляється під час запуску і покрита автоматичним тестом.
— Команда CreateYourVPNСкорочено публічну поверхню production API
Інтерактивна технічна документація API була доступна без автентифікації. Це не давало доступу до захищених даних, але полегшувало вивчення внутрішньої структури API. У production документацію тепер вимкнено, а для розробки вона лишається доступною в ізольованому середовищі.
— Команда CreateYourVPNРозділено криптографічні ключі платформи за призначенням
Внутрішня перевірка виявила, що один секрет використовувався для двох різних криптографічних задач. Прямого обходу захисту це не створювало, проте збільшувало наслідки компрометації ключа. Призначення розділено, і кожне тепер ротується незалежно.
— Команда CreateYourVPNГарантовано очищення керуючого ключа після видалення сервера
Очищення зашифрованого керуючого ключа виконувалося після фонових мережевих операцій і могло не повторитися в разі їхнього збою. Ми відокремили очищення ключа від мережевого каскаду й додали гарантоване повторення. Сценарії недоступного сервера та переривання процесу покрито тестами.
— Команда CreateYourVPNВидалено невикористовуваний спосіб авторизації партнерського API
API підтримував додатковий cookie-шлях авторизації, який не потрібен поточній server-side архітектурі. Підтвердженої міжсайтової атаки в production не виявлено, проте зайвий шлях збільшував поверхню майбутніх помилок. API переведено на один явно визначений спосіб авторизації й покрито негативними тестами.
— Команда CreateYourVPNОбмежено доступ до панелі керування інфраструктурою
Зовнішній дослідник повідомив, що адміністративний інтерфейс керування інфраструктурою відповідав із публічної мережі. Інтерфейс був захищений автентифікацією, ознак несанкціонованого доступу не виявлено. Звіт прийнято, доступ обмежено.
Зараз інтерфейс доступний лише з дозволених адрес, вимоги до автентифікації посилено, задіяні компоненти оновлено. Результат перевірено із зовнішньої мережі. Додатково переглянуто публічно доступну поверхню та додано її регулярну перевірку. Винагороду виплачено за найвищим рівнем.
— Gaurang MahetaАдреси користувачів вітрин більше не зберігаються
Людина вводить свій email, щоб увійти до вітрини партнера, але в нас ця адреса не осідає: лист із кодом іде, і адреса одразу видаляється. Обліковий запис упізнається за необоротним відбитком, з якого адресу не відновити, а ім'я запису її не містить.
— Команда CreateYourVPNКористувач може сам скинути своє посилання на підписку
Посилання на підписку — це секрет: той, хто його має, отримує такий самий доступ, як і власник. Користувач може скинути його сам в особистому кабінеті — попереднє посилання перестає працювати, а доступи за ним видаються заново. Закрите так посилання лишається закритим, зокрема й після відновлення даних із резервної копії.
— Команда CreateYourVPNSecurity-заголовки на сторінках вітрин
Вітрини партнерів не віддавали security-заголовків, які панель і API віддавали давно, — зокрема того, що забороняє чужим сайтам показувати сторінку у фреймі. Прочитати так дані акаунта чи сесію було неможливо. Тепер повний набір іде з кожною відповіддю вітрини, а твердження SR-15 називає кожен фронтенд, який ми розміщуємо.
— Abhinav RajКерування сесіями та надсилання кодів входу
За звітами зовнішнього дослідника ми переглянули дві суміжні ділянки: життєвий цикл партнерської сесії та шлях листа з кодом входу. Доступу до акаунтів, даних партнерів чи трафіку користувачів жодна зі знахідок не давала.
— Ganesh RKПосилили захист публічної форми підтримки
Дослідник 0xVicky виявив, що публічну форму підтримки можна було використовувати для масового надсилання звернень. Ми додали обмеження для кожного відвідувача й загального потоку, захистили внутрішній канал надсилання та посилили перевірку вкладень. Дякуємо за відповідальне повідомлення.
— 0xVickyEnabled DNSSEC
A researcher found that DNSSEC was not enabled for createyourvpn.com. We signed the DNS zone, published the DS record in .com, and verified the chain of trust.
— Waqar JamalПартнерські сесії тепер можна відкликати повністю
Дослідник безпеки виявив, що копія токена партнерської сесії могла залишатися активною після виходу, якщо її було оновлено окремо. Ми перевели сесії на єдиний серверний ідентифікатор: тепер звичайний вихід відкликає всю поточну сесію, а дія «Вийти на всіх пристроях» завершує всі активні сесії.
— A Sai VardhanУвімкнено MTA-STS і TLS-звіти
Дослідник безпеки виявив, що для вхідної пошти createyourvpn.com не були налаштовані MTA-STS і TLS-звіти. Ми опублікували політику MTA-STS та ввімкнули TLS-звіти. Спочатку політика працює в режимі testing, поки ми перевіряємо сторонній маршрут пересилання; примусове застосування ввімкнемо після чистих звітів.
— A Sai VardhanУвімкнено примусове застосування DMARC
Дослідник безпеки виявив, що DMARC-політика createyourvpn.com працювала лише в режимі моніторингу й не вимагала відхиляти листи, які не пройшли перевірку. Ми ввімкнули p=reject для основного домену та sp=reject для його піддоменів, які не надсилають пошту. Транзакційні листи й надалі ізольовані на окремих піддоменах надсилання зі своїми політиками SPF, DKIM і DMARC.
— A Sai VardhanЩо сюди потрапляє.
Резюме і терміни
Суть знахідки, клас вразливості, дата звіту і дата виправлення. Якщо знахідка спростувала SR-твердження — публічна поправка до звіту.
Рецепти експлойтів
Покрокові інструкції, PoC-код і деталі, які допомогли б атакувати інші сервери, поки всі не оновляться.
Щось знайшли?
Напишіть нам із відтворюваним proof of concept. Відповідаємо протягом 72 годин, тріаж ведемо самі.