{"id":"CVE-2026-40048","state":"PUBLISHED","title":"Apache Camel PQC: Unsafe Deserialization from FileBasedKeyLifecycleManager","description":"The Camel-PQC FileBasedKeyLifecycleManager class deserializes the contents of `<keyId>.key` files in the configured key directory using java.io.ObjectInputStream without applying any ObjectInputFilter or class-loading restrictions. The cast to `java.security.KeyPair` is evaluated only after `readObject()` has already returned, so any `readObject()` side effects in the deserialized object run before the type check. An attacker who can write to the key directory used by a Camel application — for example through a path traversal into the directory, misconfigured filesystem permissions on the volume where keys are stored, a compromised key provisioning pipeline, or a symlink attack — can place a crafted serialized Java object that, when deserialized during normal key lifecycle operations, results in arbitrary code execution in the context of the application.\n\nThis issue affects Apache Camel: from 4.19.0 before 4.20.0, from 4.18.0 before 4.18.2.\n\nUsers are recommended to upgrade to version 4.20.0, which fixes the issue by replacing java.io.ObjectInputStream-based key and metadata storage with standard PKCS#8 (private key) / X.509 SubjectPublicKeyInfo (public key) Base64 JSON encoding. For users on the 4.18.x LTS releases stream, upgrade to 4.18.2.","publishedAt":"2026-04-27T07:53:54.636Z","updatedAt":"2026-07-15T01:01:31.729Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"CISA-ADP"},"assigner":"apache","products":["Apache Software Foundation Apache Camel PQC"],"affected":[{"vendor":"Apache Software Foundation","product":"Apache Camel PQC","packageName":"org.apache.camel:camel-pqc","defaultStatus":"unaffected","versions":[{"version":"4.19.0","status":"affected","lessThan":"4.20.0","versionType":"semver"},{"version":"4.18.0","status":"affected","lessThan":"4.18.2","versionType":"semver"}],"collectionURL":"https://repo.maven.apache.org/maven2"}],"references":["https://camel.apache.org/security/CVE-2026-40048.html","http://www.openwall.com/lists/oss-security/2026/04/26/6","https://access.redhat.com/security/cve/CVE-2026-40048","https://bugzilla.redhat.com/show_bug.cgi?id=2463176","https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40048.json"],"weaknesses":["CWE-502"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/40xxx/CVE-2026-40048.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-40048","state":"PUBLISHED","datePublished":"2026-04-27T07:53:54.636Z","dateUpdated":"2026-07-15T01:01:31.729Z","assignerShortName":"apache","assignerOrgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","dateReserved":"2026-04-08T16:40:29.330Z"},"containers":{"cna":{"title":"Apache Camel PQC: Unsafe Deserialization from FileBasedKeyLifecycleManager","descriptions":[{"lang":"en","value":"The Camel-PQC FileBasedKeyLifecycleManager class deserializes the contents of `<keyId>.key` files in the configured key directory using java.io.ObjectInputStream without applying any ObjectInputFilter or class-loading restrictions. The cast to `java.security.KeyPair` is evaluated only after `readObject()` has already returned, so any `readObject()` side effects in the deserialized object run before the type check. An attacker who can write to the key directory used by a Camel application — for example through a path traversal into the directory, misconfigured filesystem permissions on the volume where keys are stored, a compromised key provisioning pipeline, or a symlink attack — can place a crafted serialized Java object that, when deserialized during normal key lifecycle operations, results in arbitrary code execution in the context of the application.\n\nThis issue affects Apache Camel: from 4.19.0 before 4.20.0, from 4.18.0 before 4.18.2.\n\nUsers are recommended to upgrade to version 4.20.0, which fixes the issue by replacing java.io.ObjectInputStream-based key and metadata storage with standard PKCS#8 (private key) / X.509 SubjectPublicKeyInfo (public key) Base64 JSON encoding. For users on the 4.18.x LTS releases stream, upgrade to 4.18.2."}],"affected":[{"vendor":"Apache Software Foundation","product":"Apache Camel PQC","packageName":"org.apache.camel:camel-pqc","defaultStatus":"unaffected","versions":[{"version":"4.19.0","status":"affected","lessThan":"4.20.0","versionType":"semver"},{"version":"4.18.0","status":"affected","lessThan":"4.18.2","versionType":"semver"}],"collectionURL":"https://repo.maven.apache.org/maven2"}],"references":[{"url":"https://camel.apache.org/security/CVE-2026-40048.html","tags":["vendor-advisory"]}],"metrics":[{"other":{"content":{"text":"important"},"type":"Textual description of severity"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-502","description":"CWE-502 Deserialization of Untrusted Data","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"apache","orgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","dateUpdated":"2026-04-27T07:53:54.636Z"},"credits":[{"lang":"en","type":"finder","value":"Andrea Cosentino from ASF"},{"lang":"en","type":"finder","value":"Venkatraman Kumar from Securin"}],"source":{"defect":["CAMEL-23200"],"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"http://www.openwall.com/lists/oss-security/2026/04/26/6"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2026-04-27T08:55:14.226Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-04-28T00:00:00+00:00","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3","id":"CVE-2026-40048"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-04-29T03:55:33.198Z"}},{"title":"Apache Camel: Apache Camel: Arbitrary code execution via insecure deserialization of crafted key files","descriptions":[{"lang":"en","value":"A flaw was found in Apache Camel. The FileBasedKeyLifecycleManager class deserializes key files without proper validation, allowing an attacker who can write to the key directory to place a specially crafted serialized Java object. When this object is deserialized during normal key operations, it can lead to arbitrary code execution within the application. This vulnerability stems from insecure deserialization of untrusted data."}],"affected":[{"vendor":"Red Hat","product":"Red Hat build of Apache Camel for Spring Boot 4","packageName":"camel-pqc","defaultStatus":"unaffected","collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/a:redhat:camel_spring_boot:4"]}],"references":[{"url":"https://access.redhat.com/security/cve/CVE-2026-40048","tags":["vdb-entry","x_refsource_REDHAT"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2463176","name":"RHBZ#2463176","tags":["issue-tracking","x_refsource_REDHAT"]},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40048.json","tags":["x_sadp-csaf-vex"]}],"metrics":[{"other":{"content":{"namespace":"https://access.redhat.com/security/updates/classification/","value":"Important"},"type":"Red Hat severity rating"}},{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"LOCAL","availabilityImpact":"HIGH","baseScore":7.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"format":"CVSS"}],"problemTypes":[{"descriptions":[{"cweId":"CWE-502","description":"Deserialization of Untrusted Data","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"redhat-SADP","orgId":"0b0ca135-0b70-47e7-9f44-1890c2a1c46c","dateUpdated":"2026-07-15T01:01:31.729Z"},"datePublic":"2026-04-27T07:53:54.636Z","timeline":[{"lang":"en","time":"2026-04-27T10:01:25.786Z","value":"Reported to Red Hat."},{"lang":"en","time":"2026-04-27T07:53:54.636Z","value":"Made public."}],"x_adpType":"supplier","x_generator":{"engine":"sadp-cli 1.0.0"}}]}}}