🇰🇷 한글 설명
Apache Camel PQC 컴포넌트에서 신뢰할 수 없는 데이터를 역직렬화할 때 발생하는 취약점입니다. HashiCorp Vault나 AWS Secrets Manager와 같은 백엔드에 저장된 데이터를 읽어올 때 필터링 없이 java.io.ObjectInputStream을 사용하여 임의의 코드가 실행될 수 있습니다.
💡 쉬운 설명
해커가 보안 저장소에 조작된 데이터를 몰래 넣어두면, 프로그램이 이를 읽는 과정에서 해커가 원하는 명령을 실행하게 됩니다. 이는 마치 검증되지 않은 택배 상자를 열었다가 그 안에 숨겨진 폭탄이 터지는 것과 같습니다.
🇺🇸 원문 (English)
Deserialization of Untrusted Data vulnerability in Apache Camel PQC component.
The camel-pqc component persists post-quantum key metadata (KeyMetadata) through pluggable KeyLifecycleManager implementations. HashicorpVaultKeyLifecycleManager and AwsSecretsManagerKeyLifecycleManager read that metadata back from the configured secret backend by deserializing a Base64-wrapped value with a raw java.io.ObjectInputStream.readObject() and no ObjectInputFilter or class allow-list; the cast to KeyMetadata happens only after readObject() returns, so any readObject() side effects in a crafted object run before the type check. The same unfiltered legacy-migration read also remained in FileBasedKeyLifecycleManager (for the stored KeyPair and KeyMetadata). A principal who can write to the operator-controlled backend that holds these values - the HashiCorp Vault KV path, or the AWS Secrets Manager secret (requiring a Vault token or secretsmanager:PutSecretValue) - could store a crafted serialized object that is deserialized during normal key-lifecycle operations, potentially leading to code execution in the context of the application that manages the keys. This is an incomplete-remediation follow-on to CVE-2026-40048 (CAMEL-23200), which changed FileBasedKeyLifecycleManager to store metadata as JSON / PKCS#8 / X.509 but did not add an ObjectInputFilter, did not cover the Vault and AWS sibling managers, and left FileBasedKeyLifecycleManager's own legacy-migration deserialization unfiltered.
This issue affects Apache Camel: from 4.18.0 before 4.18.3, from 4.19.0 before 4.21.0.
Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.18.x LTS releases stream, then they are suggested to upgrade to 4.18.3. For deployments that cannot upgrade immediately, restrict write access to the key backend so that only the application's own identity can write the camel-pqc secrets (least-privilege HashiCorp Vault policies and secretsmanager:PutSecretValue IAM), and keep the PQC key material in a backend separate from any data that less-trusted principals can write.
📍 영향받는 시스템
Apache Camel: 4.18.0 ~ 4.18.2, 4.19.0 ~ 4.20.x
⚔️ 공격 벡터
권한이 있는 사용자가 Vault 또는 AWS Secrets Manager의 특정 경로에 조작된 직렬화 객체를 저장하여 공격
🛡️ 대응 방법
Apache Camel을 4.21.0 또는 4.18.3 이상의 버전으로 업그레이드하거나, 백엔드 저장소에 대한 쓰기 권한을 최소화하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위가 나타나면 해당 버전이 설치되어 있는 상태입니다.
mvn dependency:list | grep 'camel-core' | grep -E '4.18.[0-2]|4.19.[0-9]+'