Защитная диагностика Spring Data: лимит cardinality property-path cache по GHSA-88fw-v6x4-3f58: runtime inventory, bounded fixture, измеримый verdict, красная линия и evidence bundle без production-данных.
Решение в двух шагах — Spring Data: лимит cardinality property-path cache
Сначала подтвердите, что runtime действительно использует org.springframework.data:spring-data-commons в диапазоне «maven:org.springframework.data:spring-data-commons >= 4.0.0, <= 4.0.5; first patched 4.0.6 | maven:org.springframework.data:spring-data-commons >= 3.5.0, <= 3.5.11; first patched 3.5.12 | maven:org.springframework.data:spring-data-commons >= 3.4.0, <= 3.4.13» и что функция «Spring Data: лимит cardinality property-path cache» включена. Затем выполните только bounded fixture: В isolated cache передать несколько synthetic paths при низком test cap; reflection metadata фиксирована, сервер не запускать. Боль, которую проверяет эта страница: каждая уникальная path может навсегда увеличить global cache. Выходной артефакт — raw path / normalized key / cache size / eviction or reject / verdict. GHSA GHSA-88fw-v6x4-3f58 не заменяет inventory и не доказывает уязвимость конкретной системы.
Карта границы — Spring Data: лимит cardinality property-path cache
Нарисуйте последовательность Source → Normalize → Authorize/Validate → Side effect. Для «Spring Data: лимит cardinality property-path cache» особая карта такова: Матрица различает повтор ключа, invalid path, over-length и cap+1 unique key. PASS ограничивает key length/cardinality и не удерживает отрицательные entries бесконечно. На каждой стрелке укажите тип данных, владельца решения и измеримый counter. Если две стадии видят разные представления одной строки или объекта, итог UNKNOWN до устранения неоднозначности.
Подготовка без production-данных — Spring Data: лимит cardinality property-path cache
Создайте temp directory, in-memory graph/cache/store либо pure adapter, соответствующий протоколу: В isolated cache передать несколько synthetic paths при низком test cap; reflection metadata фиксирована, сервер не запускать. Используются только короткие canary labels; IP, токены, customer records, реальные пути и environment values запрещены. Network, shell, database, filesystem и session issuance заменяются spies. Зафиксируйте hash fixture и нулевые counters до control.
Control и boundary-case — Spring Data: лимит cardinality property-path cache
Control подтверждает достижимость ветки на разрешённом входе. Boundary-case меняет ровно один параметр и должен остановиться до состояния «каждая уникальная path может навсегда увеличить global cache». Запишите raw path / normalized key / cache size / eviction or reject / verdict, reason code и monotonic duration. Матрица различает повтор ключа, invalid path, over-length и cap+1 unique key. PASS ограничивает key length/cardinality и не удерживает отрицательные entries бесконечно. Не повышайте размер/глубину после первого превышения, не используйте эксплуатационный payload и не сравнивайте разные ОС как доказательство исправления.
Таблица verdict — Spring Data: лимит cardinality property-path cache
PASS: применимый runtime подтверждён, control прошёл, boundary остановился до side effect, cleanup доказан. FAIL: та же provenance и наблюдаемое запрещённое состояние. UNKNOWN: отсутствуют версия, configuration snapshot, control, counter или cleanup. NOT_APPLICABLE: package либо entry point доказанно отсутствует. Версия вне диапазона без runtime readback остаётся только inventory clue.
Красная линия — Spring Data: лимит cardinality property-path cache
Стоп-условие: cache size превышает cap, invalid path кешируется навсегда или cleanup отсутствует. После остановки не повторяйте тест с большим вводом. Верните disposable state к hash, обнулите spies, освободите buffers/objects и выполните один benign control. Несовпадение state после cleanup блокирует PASS и должно войти в handoff как отдельный дефект harness или компонента.
Самостоятельная польза — Spring Data: лимит cardinality property-path cache
Даёт cardinality/length budget и повторный-hit контроль. Не parser CPU ratio: здесь долговременный cache lifecycle. Практический результат не сводится к названию CVE: читатель получает raw path / normalized key / cache size / eviction or reject / verdict. Матрица различает повтор ключа, invalid path, over-length и cap+1 unique key. PASS ограничивает key length/cardinality и не удерживает отрицательные entries бесконечно. Механическая замена framework, устройства или платформы не создаёт новый intent; совпадающая старая страница становится update/merge-кандидатом.
Минимальный handoff — Spring Data: лимит cardinality property-path cache
Передайте GHSA GHSA-88fw-v6x4-3f58, runtime digest, диапазон «maven:org.springframework.data:spring-data-commons >= 4.0.0, <= 4.0.5; first patched 4.0.6 | maven:org.springframework.data:spring-data-commons >= 3.5.0, <= 3.5.11; first patched 3.5.12 | maven:org.springframework.data:spring-data-commons >= 3.4.0, <= 3.4.13», entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Источник опубликован 2026-07-31, обновлён 2026-07-31; это дата advisory, а не показатель спроса или эксплуатации. После remediation повторите тот же fixture и сравните границу/side-effect counters.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-88fw-v6x4-3f58 проверено 2026-09-02
- Первичный upstream — org.springframework.data:spring-data-commons проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.