CVE-2021-44878
Pac4j token validation bypass if OpenID Connect provider supports none algorithm
If an OpenID Connect provider supports the "none" algorithm (i.e., tokens with no signature), pac4j v5.3.0 (and prior) does not refuse it without an explicit configuration on its side or for the "idtoken" response type which is not secure and violates the OpenID Core Specification. The "none" algorithm does not require any signature verification when validating the ID tokens, which allows the attacker to bypass the token validation by injecting a malformed ID token using "none" as the value of "alg" key in the header with an empty signature value.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
If an OpenID Connect provider supports the "none" algorithm (i.e., tokens with no signature), pac4j v5.3.0 (and prior) does not refuse it without an explicit configuration on its side or for the "idtoken" response type which is not secure and violates the OpenID Core Specification. The "none" algorithm does not require any signature verification when validating the ID tokens, which allows the attacker to bypass the token validation by injecting a malformed ID token using "none" as the value of "alg" key in the header with an empty signature value.
- Record
CVE-2021-44878- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
CVE List No score
If an OpenID Connect provider supports the "none" algorithm (i.e., tokens with no signature), pac4j v5.3.0 (and prior) does not refuse it without an explicit configuration on its side or for the "idtoken" response type which is not secure and violates the OpenID Core Specification. The "none" algorithm does not require any signature verification when validating the ID tokens, which allows the attacker to bypass the token validation by injecting a malformed ID token using "none" as the value of "alg" key in the header with an empty signature value.
- Record
CVE-2021-44878- Updated
- 2026-11-02
EUVDEUVD-2022-0744 No score
If an OpenID Connect provider supports the "none" algorithm (i.e., tokens with no signature), pac4j v5.3.0 (and prior) does not refuse it without an explicit configuration on its side or for the "idtoken" response type which is not secure and violates the OpenID Core Specification. The "none" algorithm does not require any signature verification when validating the ID tokens, which allows the attacker to bypass the token validation by injecting a malformed ID token using "none" as the value of "alg" key in the header with an empty signature value.
- Record
EUVD-2022-0744- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-xhw6-hjc9-679m
7.5
Pac4j token validation bypass if OpenID Connect provider supports none algorithm
If an OpenID Connect provider supports the “none” algorithm (i.e., tokens with no signature), pac4j v5.3.0 (and prior) does not refuse it without an explicit configuration on its side or for the “idtoken” response type which is not secure and violates the OpenID Core Specification. The "none" algorithm does not require any signature verification when validating the ID tokens, which allows the attacker to bypass the token validation by injecting a malformed ID token using "none" as the value of "alg" key in the header with an empty signature value.
- Record
GHSA-xhw6-hjc9-679m- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSV
7.5
If an OpenID Connect provider supports the "none" algorithm (i.e., tokens with no signature), pac4j v5.3.0 (and prior) does not refuse it without an explicit configuration on its side or for the "idtoken" response type which is not secure and violates the OpenID Core Specification. The "none" algorithm does not require any signature verification when validating the ID tokens, which allows the attacker to bypass the token validation by injecting a malformed ID token using "none" as the value of "alg" key in the header with an empty signature value.
- Record
CVE-2021-44878- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-xhw6-hjc9-679m
7.5
Pac4j token validation bypass if OpenID Connect provider supports none algorithm
If an OpenID Connect provider supports the “none” algorithm (i.e., tokens with no signature), pac4j v5.3.0 (and prior) does not refuse it without an explicit configuration on its side or for the “idtoken” response type which is not secure and violates the OpenID Core Specification. The "none" algorithm does not require any signature verification when validating the ID tokens, which allows the attacker to bypass the token validation by injecting a malformed ID token using "none" as the value of "alg" key in the header with an empty signature value.
- Record
GHSA-xhw6-hjc9-679m- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.pac4j:pac4j-oidcMaven |
before 4.5.5 | 4.5.5 |
org.pac4j:pac4j-oidcMaven |
5.0 up to 5.3.1 | 5.3.1 |
org.pac4j:pac4j-oidcMaven |
before 4.5.5, plus listed versions 1.7.01.7.11.7.21.8.01.8.0-RC1 Show 45 moreShow less1.8.11.8.21.8.31.8.41.8.51.8.61.8.71.8.81.8.91.9.01.9.11.9.21.9.31.9.41.9.51.9.61.9.71.9.81.9.92.0.02.0.0-RC12.0.0-RC22.1.02.2.02.2.12.3.02.3.13.0.03.0.0-RC13.0.0-RC23.0.13.0.23.1.03.2.03.3.03.4.03.5.03.6.03.6.13.7.03.8.03.8.13.8.23.8.33.9.0 |
4.5.5 |
org.pac4j:pac4j-oidcMaven |
5.0 up to 5.3.1, plus listed versions 5.0.05.0.15.1.05.1.15.1.2 Show 6 moreShow less5.1.35.1.45.1.55.2.05.2.15.3.0 |
5.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-44878 is a high vulnerability (CVSS 7.5) in Pac4j, published January 6, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.92%, the 60th percentile. Fixed in org.pac4j:pac4j-oidc 4.5.5.
References
github.com/pac4j/pac4j/commit/22b82ffd702a132d9f09da60362fc6264fc281ae
openid.net/specs/openid-connect-core-1_0.html
pac4j.org/blog/cve_2021_44878_is_this_serious.html
nvd.nist.gov/vuln/detail/CVE-2021-44878
github.com/pac4j/pac4j/commit/09684e0de1c4753d22c53b8135d4ef61cfda76f7
github.com/pac4j/pac4j/commit/9c87bbc536ed5d05f940ae015403120df2935589
pac4j.org/4.5.x/docs/release-notes.html
github.com/advisories/GHSA-xhw6-hjc9-679m
github.com/pac4j/pac4j
Left out here: 17 versions. The JSON record has them.