
Репродуктор для CVE-2026-46590: небезопасная десериализация жизненного цикла ключей Apache Camel camel-pqc (миграция устаревших .key файлов FileBasedKeyLifecycleManager через ObjectInputStream), неполное устранение CVE-2026-40048 (исправлено в 4.18.3/4.21.0)
| Среда выполнения | Каталог | Стек |
|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-pqc 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (включает Camel 4.20.0) |
Обе версии затронуты уязвимостью (исправлено в 4.18.3 / 4.21.0), и обе демонстрируют один и тот же дефект:
FileBasedKeyLifecycleManager сохраняет постквантовые ключи как PKCS#8/X.509 JSON, но по-прежнему переносит устаревшие
(сериализованные в Java) файлы ключей обратно с помощью сырого ObjectInputStream и без ObjectInputFilter —
остаток неполного исправления CVE-2026-40048. getKey(keyId) переходит к migrateLegacyKey(), который
десериализует подложенный атакующим файл <keyId>.key; приведение к KeyPair происходит только после возврата
readObject(), поэтому сконструированный объект выполняется первым (CWE-502).
Каждый подкаталог — это автономный проект со своим собственным Dockerfile, docker-compose.yml и README. В
кратце, для любого из них:
cd camel-spring-boot # или: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
| Свойство | Значение |
|---|---|
| Компонент | camel-pqc |
| Затронутый класс | org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager#migrateLegacyKey (и migrateLegacyMetadata), а также родственные HashicorpVault / AwsSecretsManager |
| CWE | CWE-502 (Десериализация недоверенных данных) |
| Воздействие | Выполнение кода в приложении управления ключами при чтении устаревшего значения ключа/метаданных |
| Затронутые версии | С 4.18.0 до 4.18.3, с 4.19.0 до 4.21.0 (менеджеры ключей camel-pqc не существуют до 4.16.0, поэтому 4.14.x не затронута) |
| Исправленные версии | 4.18.3, 4.21.0 |
| JIRA | CAMEL-23726 (PR apache/camel#23912, бэкпорт #23914) |
| Автор находки | Yu Bao (PayPal) |
Консультация: https://camel.apache.org/security/CVE-2026-46590.html
Эти воспроизведения предоставлены только для исследований в области безопасности и авторизованного тестирования, для публично раскрытой и исправленной уязвимости. Не используйте их против систем без явного разрешения.