Защитная диагностика Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом по GHSA-583r-f84w-33g7: применимость, изолированный тест, измеримый verdict, stop-rule и пакет данных для владельца.
Короткий ответ и применимость — Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом
Проверяемая задача: проверить direction-aware mapping заголовков Dapr Pub/Sub в Apache Camel. Сначала подтвердите фактически загруженный компонент org.apache.camel:camel-dapr, его digest, затронутый entry point и границу версий «Maven:org.apache.camel:camel-dapr >= 4.12.0, < 4.14.8; first patched 4.14.8 | Maven:org.apache.camel:camel-dapr >= 4.15.0, < 4.18.3; first patched 4.18.3 | Maven:org.apache.camel:camel-dapr >= 4.19.0, < 4.21.0; first patched 4.21.0». Только после inventory выполняется ограниченный regression: Передать consumer synthetic CloudEvent; producer, сеть и broker заменить route spies. Пользовательская боль здесь конкретна: значения pubsub name и topic из входного события могут попасть в producer control headers. Результат оформляется как inbound attribute / internal header / producer route / filter decision. GHSA GHSA-583r-f84w-33g7 — ориентир для проверки, но не доказательство состояния вашей установки.
Модель решения — Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом
Разложите путь на Source → Parse/Normalize → Policy → Side effect. Специальная инварианта этой темы: Входные данные сохраняются как обычный payload metadata, но не как управляющие заголовки исходящего endpoint. Для каждой границы запишите представление данных, владельца решения, ожидаемый counter и допустимый переход состояния. NOT_APPLICABLE возможен только при доказанном отсутствии пакета либо функции; неизвестная версия, конфигурация или digest означают UNKNOWN, а не безопасность.
Безопасный стенд — Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом
Используйте disposable temp directory, in-memory repository или pure adapter, не production. Протокол стенда: Передать consumer synthetic CloudEvent; producer, сеть и broker заменить route spies. Все внешние действия — сеть, shell, database, filesystem, browser, message broker, session issuance — заменяются spies или счётчиками. Применяйте короткие canary labels; реальные токены, IP, учётные записи, конфиги и пользовательские данные запрещены. До control сохраните baseline hash и нулевые counters.
Control и boundary-case — Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом
Разрешённый control доказывает достижимость нужной ветки, но не снимает ограничений. Boundary-case меняет ровно один параметр и должен остановиться до состояния «значения pubsub name и topic из входного события могут попасть в producer control headers». Сохраните поля inbound attribute / internal header / producer route / filter decision, reason code, monotonic duration и cleanup state. Входные данные сохраняются как обычный payload metadata, но не как управляющие заголовки исходящего endpoint. Не увеличивайте размер, глубину или число повторов после первого нарушения и не создавайте эксплуатационный payload.
PASS, FAIL, UNKNOWN — Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом
PASS требует подтверждённых runtime и entry point, успешного control, остановки boundary до side effect и доказанного cleanup. FAIL — тот же provenance и наблюдаемый запрещённый вызов, counter или state transition. UNKNOWN — нет digest, конфигурации, точки наблюдения, control либо восстановления. NOT_APPLICABLE — компонент или функция доказанно отсутствуют. Номер исправленной версии без runtime readback не является PASS.
Красная линия — Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом
Немедленно остановитесь, если входное поле изменило destination producer или миновало HeaderFilterStrategy. Не повторяйте проверку с более сильным вводом. Верните disposable state к исходному hash, освободите объекты и выполните один benign control. Любой неожиданный ненулевой counter сети, процессов, файлов, записей, исходящих маршрутов или сессий блокирует PASS и фиксируется отдельно от результата parser/policy.
Почему это отдельная статья — Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом
Даёт реестр направлений consumer-only, producer-only и data headers. Не Kafka и не NATS: самостоятельна граница CloudEvent Dapr Pub/Sub и обратного producer route. Поэтому механическая замена бренда, ОС или устройства не создаёт ещё один URL. Самостоятельная практическая ценность выражена в deliverable «inbound attribute / internal header / producer route / filter decision» и инварианте «Входные данные сохраняются как обычный payload metadata, но не как управляющие заголовки исходящего endpoint.». Если опубликованная страница уже покрывает тот же intent и дерево решения, правильное действие — update/merge, а не новая страница.
Пакет для владельца — Apache Camel Dapr: входные CloudEvent-поля не управляют исходящим маршрутом
Передайте владельцу GHSA GHSA-583r-f84w-33g7, runtime digest, границу «Maven:org.apache.camel:camel-dapr >= 4.12.0, < 4.14.8; first patched 4.14.8 | Maven:org.apache.camel:camel-dapr >= 4.15.0, < 4.18.3; first patched 4.18.3 | Maven:org.apache.camel:camel-dapr >= 4.19.0, < 4.21.0; first patched 4.21.0», entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Advisory опубликована 2026-07-06, обновлена 2026-08-28; даты подтверждают свежесть проверенного источника, но не популярность запроса и не факт эксплуатации. После remediation повторите тот же fixture и сравните state transition без изменения тестового масштаба.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; даты, версии, границы и ссылки сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-583r-f84w-33g7 проверено 2026-09-02
- Первичный upstream материал — org.apache.camel:camel-dapr проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.