
Reprodutor para CVE-2026-46590: desserialização insegura do ciclo de vida de chaves do Apache Camel camel-pqc (migração legada de .key do FileBasedKeyLifecycleManager via ObjectInputStream), remediação incompleta do CVE-2026-40048 (corrigido em 4.18.3/4.21.0)
| Runtime | Diretório | Stack |
|---|
| 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 (inclui o Camel 4.20.0) |
Ambas são versões afetadas (corrigidas em 4.18.3 / 4.21.0) e demonstram o mesmo defeito:
o FileBasedKeyLifecycleManager persiste chaves pós-quânticas como JSON PKCS#8/X.509, mas ainda migra arquivos
de chave legados (serializados em Java) usando um ObjectInputStream bruto e sem ObjectInputFilter — o
resíduo da remediação incompleta da CVE-2026-40048. O getKey(keyId) recorre a migrateLegacyKey(), que
desserializa o arquivo <keyId>.key plantado pelo atacante; a conversão para KeyPair acontece apenas depois
que readObject() retorna, de modo que um objeto forjado é executado primeiro (CWE-502).
Cada subdiretório é um projeto autossuficiente com seu próprio Dockerfile, docker-compose.yml e README. Em
resumo, para qualquer um dos dois:
cd camel-spring-boot # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
| Propriedade | Valor |
|---|---|
| Componente | camel-pqc |
| Classe Afetada | org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager#migrateLegacyKey (e migrateLegacyMetadata), além das variantes HashicorpVault / AwsSecretsManager |
| CWE | CWE-502 (Desserialização de Dados Não Confiáveis) |
| Impacto | Execução de código no aplicativo de gerenciamento de chaves quando um valor de chave/metadados legado é lido |
| Versões Afetadas | De 4.18.0 até antes da 4.18.3, de 4.19.0 até antes da 4.21.0 (os gerenciadores de chaves do camel-pqc não existem antes da 4.16.0; portanto, a 4.14.x não é afetada) |
| Versões Corrigidas | 4.18.3, 4.21.0 |
| JIRA | CAMEL-23726 (PR apache/camel#23912, backport #23914) |
| Crédito | Yu Bao (PayPal) |
Estes reprodutores são fornecidos apenas para pesquisa de segurança e testes autorizados, para uma vulnerabilidade divulgada publicamente e corrigida. Não os utilize contra sistemas sem permissão explícita.