CVE-2026-50631
Apache CXF: OAuth2: TOCTOU Race Condition in Refresh Token Processing
A race condition in AbstractOAuthDataProvider allows concurrent requests using the same Refresh Token to bypass single-use semantics and generate multiple valid Access Tokens, when 'recycleRefreshTokens' is set to false. A leaked refresh token can be replayed concurrently by multiple attackers or threads. Users are recommended to upgrade to versions 4.2.2 or 4.1.7 or 3.6.12, which fixes this issue.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.4
Apache CXF: OAuth2: TOCTOU Race Condition in Refresh Token Processing
A race condition in AbstractOAuthDataProvider allows concurrent requests using the same Refresh Token to bypass single-use semantics and generate multiple valid Access Tokens, when 'recycleRefreshTokens' is set to false. A leaked refresh token can be replayed concurrently by multiple attackers or threads. Users are recommended to upgrade to versions 4.2.2 or 4.1.7 or 3.6.12, which fixes this issue.
- Record
CVE-2026-50631- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-367
- Updated
- 2026-11-02
EUVDEUVD-2026-36399
7.4
A race condition in AbstractOAuthDataProvider allows concurrent requests using the same Refresh Token to bypass single-use semantics and generate multiple valid Access Tokens, when 'recycleRefreshTokens' is set to false. A leaked refresh token can be replayed concurrently by multiple attackers or threads. Users are recommended to upgrade to versions 4.2.2 or 4.1.7 or 3.6.12, which fixes this issue.
- Record
EUVD-2026-36399- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-83r6-96m8-r52p
7.4
Apache CXF OAuth2 TOCTOU Race Condition in Refresh Token Processing
A race condition in AbstractOAuthDataProvider allows concurrent requests using the same Refresh Token to bypass single-use semantics and generate multiple valid Access Tokens, when 'recycleRefreshTokens' is set to false. A leaked refresh token can be replayed concurrently by multiple attackers or threads. Users are recommended to upgrade to versions 4.2.2 or 4.1.7, which fixes this issue.
- Record
GHSA-83r6-96m8-r52p- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-367
- Updated
- 2026-11-02
NVD
7.4
A race condition in AbstractOAuthDataProvider allows concurrent requests using the same Refresh Token to bypass single-use semantics and generate multiple valid Access Tokens, when 'recycleRefreshTokens' is set to false. A leaked refresh token can be replayed concurrently by multiple attackers or threads. Users are recommended to upgrade to versions 4.2.2 or 4.1.7 or 3.6.12, which fixes this issue.
- Record
CVE-2026-50631- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-367
- Updated
- 2026-11-05
OSV
7.4
Apache CXF: OAuth2: TOCTOU Race Condition in Refresh Token Processing
A race condition in AbstractOAuthDataProvider allows concurrent requests using the same Refresh Token to bypass single-use semantics and generate multiple valid Access Tokens, when 'recycleRefreshTokens' is set to false. A leaked refresh token can be replayed concurrently by multiple attackers or threads. Users are recommended to upgrade to versions 4.2.2 or 4.1.7 or 3.6.12, which fixes this issue.
- Record
CVE-2026-50631- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-367
- Updated
- 2026-11-07
OSVGHSA-83r6-96m8-r52p
7.4
Apache CXF OAuth2 TOCTOU Race Condition in Refresh Token Processing
A race condition in AbstractOAuthDataProvider allows concurrent requests using the same Refresh Token to bypass single-use semantics and generate multiple valid Access Tokens, when 'recycleRefreshTokens' is set to false. A leaked refresh token can be replayed concurrently by multiple attackers or threads. Users are recommended to upgrade to versions 4.2.2 or 4.1.7, which fixes this issue.
- Record
GHSA-83r6-96m8-r52p- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-367
- Updated
- 2026-11-02
OSVRHLW-2026-fd244c7ea4e4e9e4
4.8
Lightwell Security Advisory: cxf-rt-rs-security-oauth2 3.6.9.rhlw-00003
Red Hat Lightwell has released org.apache.cxf:cxf-rt-rs-security-oauth2 3.6.9.rhlw-00003 with backported fixes for CVE-2026-50623, CVE-2026-50627, CVE-2026-50628, CVE-2026-50629, CVE-2026-50630, CVE-2026-50631, CVE-2026-57818, CVE-2026-61466, CVE-2026-63687, CVE-2026-68079, and CVE-2026-68481.
CVE-2026-50623: Apache CXF: Authentication Bypass in OAuth2 TokenIntrospectionService
CVE-2026-50627: Apache CXF: OAuth2: Missing JWT Audience and Issuer Validation in Access Token Validator
CVE-2026-50628: Apache CXF: OAuth2: Inverted IP Binding Check Defeats Security Control
CVE-2026-50629: Apache CXF: OAuth2: Log Injection via Unsanitized Client Identifier
CVE-2026-50630: Apache CXF: OAuth2: HTTP Response Splitting via WWW-Authenticate Realm Injection
CVE-2026-50631: Apache CXF: OAuth2: TOCTOU Race Condition in Refresh Token Processing
CVE-2026-57818: Apache CXF: OAuth2 Authorization Code Replay via TOCTOU in JCacheCodeDataProvider
CVE-2026-61466: Apache CXF: OAuth2 Dynamic Client Registration Scope Self-Escalation
CVE-2026-63687: Apache CXF: JwtRequestCodeFilter silently overrides outer PKCE and nonce parameters
CVE-2026-68079: Apache CXF: DefaultEncryptingCodeDataProvider allows unlimited authorization code replay
CVE-2026-68481: Apache CXF: Revocation bypass in DefaultEncryptingOAuthDataProvider
This patched artifact is a drop-in replacement for org.apache.cxf:cxf-rt-rs-security-oauth2 3.6.9 from Maven Central.
- Record
RHLW-2026-fd244c7ea4e4e9e4- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.apache.cxf:cxf-rt-rs-security-oauth2Maven |
4.2.0 up to 4.2.2 | 4.2.2 |
org.apache.cxf:cxf-rt-rs-security-oauth2Maven |
before 4.1.7 | 4.1.7 |
org.apache.cxf:cxf-rt-rs-security-oauth2Maven |
4.2.0 up to 4.2.2, plus listed versions 4.2.1 |
4.2.2 |
org.apache.cxf:cxf-rt-rs-security-oauth2Maven |
before 4.1.7, plus listed versions 2.6.02.6.12.6.102.6.112.6.12 Show 45 moreShow less2.6.132.6.142.6.152.6.162.6.172.6.22.6.32.6.42.6.52.6.62.6.72.6.82.6.92.7.02.7.12.7.102.7.112.7.122.7.132.7.142.7.152.7.162.7.172.7.182.7.22.7.32.7.42.7.52.7.62.7.72.7.82.7.93.0.03.0.0-milestone13.0.0-milestone23.0.13.0.103.0.113.0.123.0.133.0.143.0.153.0.163.0.23.0.3 |
4.1.7 |
org.apache.cxf:cxf-rt-rs-security-oauth2Red Hat Lightwell:Maven From an advisory covering 11 CVEs |
before 3.6.9.rhlw-00003, plus listed versions 2.6.02.6.12.6.102.6.112.6.12 Show 45 moreShow less2.6.132.6.142.6.152.6.162.6.172.6.22.6.32.6.42.6.52.6.62.6.72.6.82.6.92.7.02.7.12.7.102.7.112.7.122.7.132.7.142.7.152.7.162.7.172.7.182.7.22.7.32.7.42.7.52.7.62.7.72.7.82.7.93.0.03.0.0-milestone13.0.0-milestone23.0.13.0.103.0.113.0.123.0.133.0.143.0.153.0.163.0.23.0.3 |
3.6.9.rhlw-00003 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | NVD | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-50631 is a high vulnerability (CVSS 7.4) in Apache Cxf, published June 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.29%, the 21st percentile. Fixed in org.apache.cxf:cxf-rt-rs-security-oauth2 4.2.2.
References
lists.apache.org/thread/s83t3x4r626o9h8rt0ryr1w7w53l1vv8
openwall.com/lists/oss-security/2026/06/11/8
nvd.nist.gov/vuln/detail/CVE-2026-50631
github.com/advisories/GHSA-83r6-96m8-r52p
repo.maven.apache.org/maven2
github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50631.json
Show 41 moreShow less
github.com/apache/cxf
github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50623.json
lists.apache.org/thread/ydzj8m5mqmjy13xgyj9mkk9hfff63qq7
nvd.nist.gov/vuln/detail/CVE-2026-50623
github.com/advisories/GHSA-542g-m3fx-q86f
security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-50627.json
access.redhat.com/errata/RHSA-2026:37390
access.redhat.com/security/cve/CVE-2026-50627
github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50627.json
lists.apache.org/thread/0jfzz9q992957b99tw7hodcqjfyxwb1m
nvd.nist.gov/vuln/detail/CVE-2026-50627
github.com/advisories/GHSA-9mrv-8pvf-hf4m
security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-50628.json
access.redhat.com/security/cve/CVE-2026-50628
github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50628.json
lists.apache.org/thread/vb3ho8lf228gh90m1fpnohf2008xrdxk
nvd.nist.gov/vuln/detail/CVE-2026-50628
github.com/advisories/GHSA-g5v7-jchf-7jrr
github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50629.json
lists.apache.org/thread/xw95po30p8th58ms1no6b0f2375cql00
nvd.nist.gov/vuln/detail/CVE-2026-50629
github.com/advisories/GHSA-f8p7-h97q-7vx7
github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50630.json
lists.apache.org/thread/bt7vnjzzkpd6vdhkxv103poor1jy5trm
nvd.nist.gov/vuln/detail/CVE-2026-50630
github.com/advisories/GHSA-xf62-wr5p-5p95
github.com/CVEProject/cvelistV5/tree/main/cves/2026/57xxx/CVE-2026-57818.json
lists.apache.org/thread/7q08mz8bcbosp25wok7gr537zlp15mfz
nvd.nist.gov/vuln/detail/CVE-2026-57818
github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61466.json
lists.apache.org/thread/2l1r16g79tpxd7fzrzr2q9oscwrjgljs
nvd.nist.gov/vuln/detail/CVE-2026-61466
github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63687.json
lists.apache.org/thread/drcq4chmt0btx86f17o47j17r378hzpw
nvd.nist.gov/vuln/detail/CVE-2026-63687
github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68079.json
lists.apache.org/thread/6m06gdqz4rxhy9g90qz9lyqx2gqmf13o
nvd.nist.gov/vuln/detail/CVE-2026-68079
github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68481.json
lists.apache.org/thread/88c0h10yjb2b8201o1km3st71fs2zw2b
nvd.nist.gov/vuln/detail/CVE-2026-68481
Left out here: 196 versions. The JSON record has them.