Безопасная проверка Spring Web Services security faults по ghsa-5x25-c2rf-f2jx: применимость, обратимый fixture, backend-outcome / fault-code / reason-class / detail-shape / timing-bucket / audit-marker, PASS и stop-rule без production-данных.
Разберите симптом Spring Web Services security faults
Отдельная пользовательская боль: SOAP client различает locked/disabled/unknown account по reason/details callback. Reviewed advisory описывает «Spring Web Services: SOAP security faults leak Spring Security account state»; практический механизм: Backend может хранить подробную причину для аудита, но external fault contract должен быть одинаковым по code, reason, detail shape и coarse timing. Проверяем invariant «все authentication failures имеют единый внешний SOAP fault без account-state detail», а не общий класс проблем. Запись ghsa-5x25-c2rf-f2jx опубликована 2026-06-11, обновлена 2026-08-21; ecosystem boundary: «maven/org.springframework.ws:spring-ws-security >= 5.0.0, <= 5.0.1; first patched 5.0.2». Это не доказывает affected code в fork, факт эксплуатации, популярность или поисковый спрос.
Сопоставьте runtime и безопасный control
Зафиксируйте source package, runtime version, build digest, commit provenance, feature/config state и роль, достигающую ветви. Нормальный control: internal audit marker различает причины только в закрытом recorder. Отдельно укажите самый ранний read/write/send/execute/cache/credential side effect. Если provenance или reachability неизвестна, статус unknown. Версионный диапазон «maven/org.springframework.ws:spring-ws-security >= 5.0.0, <= 5.0.1; first patched 5.0.2» — фильтр; backport подтверждается diff и поведением, а не предположением.
Запустите обратимый fixture
Лабораторный опыт: Fault-mapper test подаст synthetic unknown/locked/disabled/bad-secret outcomes; transport не поднимается. Все идентификаторы и данные синтетические; network отключён или заменён recorder, filesystem ограничен mkdtemp, persistence — memory adapter/rollback. До запуска сохраните input digest, ожидаемое правило «external fields одинаковы для всех failures, principal/handler отсутствуют» и нулевые counters. После — строку «backend-outcome / fault-code / reason-class / detail-shape / timing-bucket / audit-marker», final-state digest и cleanup proof. Реальный payload, credential, нагрузка или production mutation запрещены.
Прочитайте матрицу backend-outcome / fault-code / reason-class / detail-shape / timing-bucket / audit-marker
Убедитесь, что control прошёл именно нужную ветвь, затем найдите stage policy и любой чувствительный action. PASS возможен только если external fields одинаковы для всех failures, principal/handler отсутствуют. Один status code, отсутствие exception или запись в лог не доказывают защиту. Для concurrency/state boundary используйте fixed barriers и малый детерминированный повтор. Любой неожиданный side effect переводит результат в fail/unknown до объяснения и полного cleanup.
Свяжите patch, stop-rule и решение
Diff исправления должен реализовать смысл «все authentication failures имеют единый внешний SOAP fault без account-state detail» до side effect. Красные флаги: fail-open, policy после action, несовпадение requested/effective target, неполный transport/path coverage или отсутствующий negative control. Stop-rule: не проверять реальные usernames и не измерять сетевое время. Также остановитесь при privilege prompt, реальных данных, необратимой записи, росте ресурсов или невозможности cleanup. Дерево: proven patched — not-applicable; недостижимо — not-reachable; PASS — ready-for-reviewed-update; наблюдается «SOAP client различает locked/disabled/unknown account по reason/details callback» — fail; иначе unknown. В support packet включите ghsa-5x25-c2rf-f2jx, build provenance, «backend-outcome / fault-code / reason-class / detail-shape / timing-bucket / audit-marker», expected/observed, stop reason и две source URL без секретов/персональных данных. Production rollout требует отдельного backup, canary, readiness и rollback.
Материал подготовлен редакцией VOne с помощью ИИ; даты, диапазоны, прямые источники, безопасный fixture, privacy-границы и отсутствие рекламных обещаний затем перепроверены.
Источники и проверка
- GitHub Reviewed Advisory ghsa-5x25-c2rf-f2jx проверено 2026-08-31
- Official/upstream source for Spring Web Services security faults проверено 2026-08-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.