Apache CXF: JwtRequestCodeFilter silently overrides outer PKCE and nonce parameters
Apache CXF's JwtRequestCodeFilter copies all claims from a signed request JWT into the authorization parameter map without excluding security-sensitive parameters. A client that can produce a validly-signed request JWT (e.g., one whose client_secret is known or compromised) can thereby substitute the code_challenge, code_challenge_method, nonce, and state values that were set in the outer HTTP request, undermining PKCE integrity and OpenID Connect replay protection. Users are recommended to upgrade to versions 4.2.3 or 4.1.8 or 3.6.12, which fix this issue.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-63687
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 08:36 UTC · Revision 1
Source evidence
Apache CXF: JwtRequestCodeFilter silently overrides outer PKCE and nonce parameters
core-osv · Original sourcePublished 6 Aug 2026, 11:23 UTC
Apache CXF's JwtRequestCodeFilter copies all claims from a signed request JWT into the authorization parameter map without excluding security-sensitive parameters. A client that can produce a validly-signed request JWT (e.g., one whose client_secret is known or compromised) can thereby substitute the code_challenge, code_challenge_method, nonce, and state values that were set in the outer HTTP request, undermining PKCE integrity and OpenID Connect replay protection. Users are recommended to upgrade to versions 4.2.3 or 4.1.8 or 3.6.12, which fix this issue.
osv:CVE-2026-63687
Complete source record
{
"id": "e5b9f2511f316d29ea3790bdd95af11e043c157785660f6d359f2af8b028607e",
"url": "https://osv.dev/vulnerability/CVE-2026-63687",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Apache CXF: JwtRequestCodeFilter silently overrides outer PKCE and nonce parameters",
"summary": "Apache CXF's JwtRequestCodeFilter copies all claims from a signed request JWT into the authorization parameter map without excluding security-sensitive parameters. A client that can produce a validly-signed request JWT (e.g., one whose client_secret is known or compromised) can thereby substitute the code_challenge, code_challenge_method, nonce, and state values that were set in the outer HTTP request, undermining PKCE integrity and OpenID Connect replay protection. Users are recommended to upgrade to versions 4.2.3 or 4.1.8 or 3.6.12, which fix this issue.",
"evidence": "osv:CVE-2026-63687",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-63687",
"aliases": [
"CVE-2026-63687"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/apache/cxf",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "16d606b3c4d5c7d271fd3b488c60a208586acb3f"
},
{
"introduced": "02310e95fe74c0c031f540f3284e4a9bd856ced2"
},
{
"fixed": "8797a177ec23e9c578c78a630c154ad27d9bbe8d"
},
{
"introduced": "04ccbfd709eef8f4af53d6237514fbe9db7ea81f"
},
{
"fixed": "33259395b45b4ff69b8df6a153630721fdd489fa"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:apache:cxf:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.6.12"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:apache:cxf:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.1.8"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:apache:cxf:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.2.0"
},
{
"fixed": "4.2.3"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"cxf-4.1.7",
"cxf-4.2.2",
"cxf-3.6.11",
"cxf-4.1.6",
"cxf-4.2.1",
"cxf-3.6.10",
"cxf-4.1.5",
"cxf-4.2.0",
"cxf-3.6.9",
"cxf-4.1.4",
"cxf-3.6.8",
"cxf-4.1.3",
"cxf-3.6.7",
"cxf-4.1.2",
"cxf-3.6.6",
"cxf-4.1.1",
"cxf-4.1.0",
"cxf-3.6.5",
"cxf-3.6.4",
"cxf-3.6.3",
"cxf-4.0.4",
"cxf-4.0.3",
"cxf-3.6.2",
"cxf-4.0.2",
"cxf-3.6.1",
"cxf-4.0.1",
"cxf-3.6.0",
"cxf-4.0.0",
"cxf-3.5.0",
"cxf-3.4.1",
"cxf-3.4.0",
"cxf-3.3.3",
"cxf-3.3.2",
"cxf-3.3.1",
"cxf-3.3.0",
"cxf-3.2.5",
"cxf-3.2.4",
"cxf-3.2.3",
"cxf-3.2.2",
"cxf-3.2.1",
"cxf-3.2.0",
"cxf-3.1.4",
"cxf-3.1.3",
"cxf-3.1.2",
"cxf-3.1.1",
"cxf-3.1.0",
"cxf-3.0.0",
"cxf-3.0.0-milestone2",
"cxf-2.7.2",
"cxf-2.7.1",
"cxf-2.7.0",
"cxf-2.6.1",
"cxf-2.6.0",
"cxf-2.5.1",
"cxf-2.5.0",
"cxf-2.4.0",
"cxf-2.3.0",
"cxf-2.2.2",
"cxf-2.2.1",
"cxf-2.2",
"cxf-2.1.2",
"cxf-2.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-63687.json"
}
}
],
"modified": "2026-10-28T02:30:34.006407592Z",
"provider": "osv",
"references": [
"https://repo.maven.apache.org/maven2",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63687.json",
"https://lists.apache.org/thread/drcq4chmt0btx86f17o47j17r378hzpw",
"https://nvd.nist.gov/vuln/detail/CVE-2026-63687"
],
"provider_metadata": {
"cwe_ids": [
"CWE-345"
],
"cna_assigner": "apache",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"introduced": "4.2.0"
},
{
"fixed": "4.2.3"
},
{
"introduced": "4.0.0"
},
{
"fixed": "4.1.8"
},
{
"fixed": "3.6.12"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63687.json"
}
},
"related_cves": [
{
"value": "CVE-2026-63687",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 501184,
"published_at": "2026-08-06T11:23:45.175+00:00"
}