Защитная инструкция по Spring for GraphQL и ghsa-phxq-526m-79px: проверить применимость, выполнить обратимый стендовый сценарий, распознать безопасный исход и остановиться без опасного payload.
Паспорт применимости: Spring for GraphQL
Сопоставьте lockfile с реально загруженным кодом. Для Spring for GraphQL Reviewed advisory ghsa-phxq-526m-79px подтверждает отдельную проблему: annotation detection на method в type hierarchy мог пропустить security annotation у controller data fetcher. Пакетная граница записи: maven:org.springframework.graphql:spring-graphql >= 2.0.0, <= 2.0.3; первая исправленная 2.0.4; maven:org.springframework.graphql:spring-graphql >= 1.4.0, <= 1.4.5; первая исправленная 1.4.6; maven:org.springframework.graphql:spring-graphql >= 1.3.0, <= 1.3.8; исправленная версия в Reviewed record не указана; maven:org.springframework.graphql:spring-graphql >= 1.0.0, <= 1.0.6; исправленная версия в Reviewed record не указана. Declared package сопоставляют с runtime version, digest, команде запуска и build provenance. Когда package отсутствует или path выключен, фиксируют not-applicable с доказательством; при неизвестном происхождении — unknown. Severity high задаёт приоритет разбора, но не доказывает эксплуатацию, ущерб или состояние конкретной установки. GitHub фиксирует публикацию 2026-06-11 и обновление 2026-08-21; эти даты не заменяют локальный inventory.
Наблюдения до изменения Spring for GraphQL
До update или containment сохраните набор наблюдений, специфичный для этой карточки: версия spring-graphql, interface/base/override methods, annotation source, principal roles и authorization trace. Рядом с каждым наблюдением сохраняют происхождение, время и ответственного. Разведите ожидаемое, увиденное, неизвестное и неприменимое; пустое поле не зелёное. Отдельно укажите входной субъект, policy/parser, защищаемый объект и вид контролируемого отказа. Это отделяет «annotation detection на method в type hierarchy мог пропустить security annotation у controller data fetcher» от обычной ошибки конфигурации, stale process, proxy/cache или прежнего инцидента. До и после изменения baseline получают одним методом. Редактируйте tokens, cookies, реальные адреса, персональные данные и закрытые пути; полные дампы в редакционный пакет не входят. Если health был красным заранее, сначала закройте этот инцидент.
Стендовый сценарий без опасного входа
Допустим один bounded experiment: создать synthetic controller hierarchy с public field и отдельным field, разрешённым только test role, затем вызвать от двух principals. Порядок фиксирован: обычный A, безопасная граница B, контрольный A2. До запуска задают synthetic input, disposable scope, time и resource budget. Ожидаемый исход записывают до запуска: обычный principal не получает protected field, test role получает его, trace указывает найденную annotation на нужном method. Между A, B и A2 не меняйте одновременно dependency, роли, network и storage. Любая потеря health, timeout, пустой ответ или ручное изменение отменяют успех. Не копируйте рабочий exploit из источника, не направляйте запрос к чужой системе и не используйте production данные. Если A2 отличается от A, вернитесь к baseline.
Как классифицировать результат
Таблица решения для Spring for GraphQL содержит version boundary, runtime digest, active-path evidence, исходы A/B/A2, health и cleanup. Статус passed-bounded-check допустим только когда обычный principal не получает protected field, test role получает его, trace указывает найденную annotation на нужном method. Классификация не свободная: affected даёт update-required, untested patch — patched-unverified, no proof — unknown, failed criterion — failed-safe-check. Если Reviewed record не называет first patched version, не придумывайте её: используйте vendor release или containment и оставляйте patch boundary unknown. Один успешный прогон не переносится на другие узлы и версии. Он не является общей гарантией безопасности Spring for GraphQL, не исключает соседние дефекты и не доказывает качество всей установки.
Остановка, возврат и передача владельцу
Дальнейшие действия запрещены, если нужны production schema/data, отключение auth или реальный privileged principal. При stop criterion эксперимент не масштабируют ни по правам, ни по ресурсам. Заранее подготовленный возврат: удалить test schema/principals, закрыть context и повторить unit suite. Возврат принимают после контрольного A, чистого diff и закрытия files/processes/sessions. Для передачи достаточно следующего: JAR digest, hierarchy map, annotation resolution, два GraphQL outcomes и cleanup. Добавьте время, expected/actual, две прямые ссылки и ответственного за очистку. Не включайте секреты, активный payload, личные обстоятельства и инфраструктуру третьих лиц. Эти данные воспроизводимы для владельца, однако не являются обещанием индексации, позиций, спроса или фактом проверки у читателя.
Материал подготовлен редакцией VOne с помощью ИИ по открытым официальным, первичным и исследовательским источникам; факты, даты, версии и ссылки перепроверены. Реальные пользовательские данные, активные опасные payload и вымышленные результаты тестов не использовались.
Источники и проверка
- GitHub Advisory Database ghsa-phxq-526m-79px по Spring for GraphQL проверено 2026-08-30
- Прямая upstream или research-страница Spring for GraphQL проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.