К обсуждениям

Wings SFTP: бюджет пакета на этапе handshake

Редакция VOne Технологии

Защитная диагностика Wings SFTP: бюджет пакета на этапе handshake по GHSA-ghrq-5wpp-hxx5: runtime inventory, bounded regression, измеримый verdict, красная линия и пакет данных для владельца.

Ответ и граница применимости — Wings SFTP: бюджет пакета на этапе handshake

Задача этой страницы — проверить bounded length и state transition SFTP handshake в Pterodactyl Wings. Сначала подтвердите фактически загруженный github.com/pterodactyl/wings, его digest, диапазон «Go:github.com/pterodactyl/wings >= 0, < 1.13.0; first patched 1.13.0» и включённый entry point. Затем нужен только ограниченный regression: Handshake parser вызвать на коротких synthetic headers; socket, allocation и session creation заменить spies. Боль: первый пакет соединения может заявить несогласованный размер и удержать либо аварийно завершить обработчик. Итоговый артефакт: declared length / received bytes / state / allocation / close verdict. GHSA GHSA-ghrq-5wpp-hxx5 задаёт проверяемый ориентир, но не доказывает состояние вашей установки.

Карта решения — Wings SFTP: бюджет пакета на этапе handshake

Разделите путь на Source → Parse/Normalize → Policy → Side effect. Специальная инварианта материала: До перехода из INIT разрешены только полный header, допустимая длина и ограниченный payload budget. На каждой границе укажите представление данных, владельца решения и counter. Candidate становится NOT_APPLICABLE только при доказанном отсутствии package или entry point; неизвестная runtime-версия означает UNKNOWN, а не безопасность.

Подготовка безопасного стенда — Wings SFTP: бюджет пакета на этапе handshake

Соберите temp directory, in-memory repository/cache либо pure adapter. Примените протокол: Handshake parser вызвать на коротких synthetic headers; socket, allocation и session creation заменить spies. Используйте короткие canary labels; пользовательские записи, токены, IP, реальные конфиги, production routes и environment dump запрещены. Network, shell, database, filesystem, browser и session issuance замените spies. До control сохраните hash fixture и нулевые counters.

Control и одна переменная — Wings SFTP: бюджет пакета на этапе handshake

Разрешённый control подтверждает, что harness достигает нужной ветки. Boundary-case меняет ровно один параметр и обязан остановиться до состояния «первый пакет соединения может заявить несогласованный размер и удержать либо аварийно завершить обработчик». Сохраните поля declared length / received bytes / state / allocation / close verdict, reason code и monotonic duration. До перехода из INIT разрешены только полный header, допустимая длина и ограниченный payload budget. Не наращивайте размер/глубину после первого превышения и не используйте эксплуатационные payload.

Вердикт без догадок — Wings SFTP: бюджет пакета на этапе handshake

PASS: runtime и entry point подтверждены, control прошёл, boundary остановлен до side effect, cleanup доказан. FAIL: та же provenance и наблюдаемый запрещённый counter/state. UNKNOWN: нет digest, конфигурации, control, точки наблюдения или восстановления. NOT_APPLICABLE: компонент либо функция доказанно отсутствуют. Номер patched release без runtime readback не является PASS.

Красная линия и восстановление — Wings SFTP: бюджет пакета на этапе handshake

Немедленный стоп: allocation вышла за cap, session создана до полного frame либо parser потерял bounded close. После стопа не повторяйте проверку с большим вводом. Верните disposable state к исходному hash, освободите объекты и выполните один benign control. Ненулевой неожиданный counter сети, процессов, файлов, записей или сессий блокирует PASS и фиксируется отдельно.

Почему нужен отдельный материал — Wings SFTP: бюджет пакета на этапе handshake

Строит state-machine тест первого SFTP packet без открытия слушателя и без реального сервера. Не SSH credential check: самостоятельная pre-auth граница packet framing в Wings SFTP. Поэтому механическая замена framework, ОС или устройства не создаёт новый URL. Практическая самостоятельность выражена в deliverable «declared length / received bytes / state / allocation / close verdict» и в инварианте: До перехода из INIT разрешены только полный header, допустимая длина и ограниченный payload budget. Совпадающий старый intent должен стать update/merge-кандидатом.

Минимальный handoff — Wings SFTP: бюджет пакета на этапе handshake

Передайте владельцу GHSA GHSA-ghrq-5wpp-hxx5, runtime digest, границу «Go:github.com/pterodactyl/wings >= 0, < 1.13.0; first patched 1.13.0», entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Advisory опубликована 2026-07-31, обновлена 2026-07-31; эти даты отражают свежесть источника, а не популярность запроса или факт эксплуатации. После remediation повторите тот же fixture и сравните state transition.

Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.