Защитная инструкция по Ruby net-imap и ghsa-75xq-5h9v-w6px: применимость, обратимый стендовый опыт, stop-rule и минимальный пакет для поддержки.
Граница применимости Ruby net-imap
Эта карточка отвечает только за «валидация Symbol до сериализации IMAP command». Боль, которую она отделяет от соседних тем: невалидированный Symbol может изменить исходящую IMAP-команду. Reviewed record ghsa-75xq-5h9v-w6px опубликован 2026-05-04 и обновлён 2026-07-22. Пакетная граница: rubygems:net-imap >= 0.6.0, <= 0.6.3 → fixed 0.6.4; rubygems:net-imap >= 0.5.0, <= 0.5.13 → fixed 0.5.14; rubygems:net-imap >= 0, <= 0.4.23 → fixed 0.4.24. Снимите версию реально запущенного artifact, digest, provenance сборки и достижимость этой функции. Lockfile без runtime digest оставляет статус unknown; severity не доказывает атаку или ущерб.
Что подтверждено для ghsa-75xq-5h9v-w6px
Прямая Advisory Database связывает ghsa-75xq-5h9v-w6px, CVE-2026-42258, Ruby net-imap, механизм «невалидированный Symbol может изменить исходящую IMAP-команду» и диапазон «rubygems:net-imap >= 0.6.0, <= 0.6.3 → fixed 0.6.4; rubygems:net-imap >= 0.5.0, <= 0.5.13 → fixed 0.5.14; rubygems:net-imap >= 0, <= 0.4.23 → fixed 0.4.24». Upstream-страница подтверждает происхождение проекта, но не состояние вашей установки. Локально запишите source URL, checked_at, version, enabled path, trust boundary, expected, observed и decision. Новость, forum thread и search snippet остаются лидами: ими нельзя подменять факт, причину или популярность.
Обратимый опыт: валидация Symbol до сериализации IMAP command
Безопасный стендовый сценарий: подключить mock socket, передать один нейтральный Symbol с недопустимым разделителем и ожидать ошибку до любой записи в socket. До запуска зафиксируйте baseline обычного входа, лимит времени/памяти/объектов и команду cleanup. После первого граничного исхода остановитесь, повторите normal control и удалите fixture. Запрещены production-документы, credentials, внешние адреса, активный HTML, команды и аварийная нагрузка. Если без них ответ не получен, карточка остаётся blocked, а не «успешной».
Матрица исходов для Ruby net-imap
Полезный артефакт этой, а не соседней карточки: протокол input type/validation error/socket bytes=0 без публикации сырой строки. Ветвь not-applicable требует доказанной версии вне «rubygems:net-imap >= 0.6.0, <= 0.6.3 → fixed 0.6.4; rubygems:net-imap >= 0.5.0, <= 0.5.13 → fixed 0.5.14; rubygems:net-imap >= 0, <= 0.4.23 → fixed 0.4.24» или недостижимой функции. Ветвь update требует артефакта из primary source и повтора того же опыта. Ветвь contain допускает лишь узкое обратимое ограничение. При unknown provenance нужна escalation. Не меняйте одновременно runtime, proxy, OS и policy: иначе причинность не доказывается.
Stop-rule и пакет поддержки ghsa-75xq-5h9v-w6px
Немедленно остановите опыт при выходе за заданный budget, crash вне дочернего процесса, записи за temp root, неожиданном сетевом запросе или невозможности cleanup. Минимальный пакет для support: Ruby net-imap, ghsa-75xq-5h9v-w6px, version/digest, абстрактная topology, hash fixture, протокол input type/validation error/socket bytes=0 без публикации сырой строки, normal-control outcome, rollback status и decision code. Исключите IP, tokens, cookies, private keys, полный config, реальные имена и пользовательские данные. Отдельно отметьте, что advisory не доказывает эксплуатацию, ущерб или затронутость конкретной системы.
Паспорт evidence CVE-2026-42258
Идентификаторы: ghsa-75xq-5h9v-w6px и CVE-2026-42258; severity Reviewed record — medium; классификация — CWE-77: Improper Neutralization of Special Elements used in a Command ('Command Injection'), CWE-93: Improper Neutralization of CRLF Sequences ('CRLF Injection'). Пакеты: rubygems:net-imap >= 0.6.0, <= 0.6.3 → fixed 0.6.4; rubygems:net-imap >= 0.5.0, <= 0.5.13 → fixed 0.5.14; rubygems:net-imap >= 0, <= 0.4.23 → fixed 0.4.24. Primary provenance: https://github.com/ruby/net-imap; глобальная карточка: https://github.com/advisories/GHSA-75xq-5h9v-w6px. Эти поля копируются в тикет без расширительного толкования. CVE и CWE помогают маршрутизации, но не заменяют runtime inventory и локальную проверку «валидация Symbol до сериализации IMAP command». Несовпадение product, package, function или digest запрещает автоматически переносить вывод этой страницы.
Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.
Источники и проверка
- GitHub Reviewed Advisory ghsa-75xq-5h9v-w6px проверено 2026-08-30
- Upstream-репозиторий Ruby net-imap проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.