Every CVE Search/ Get API key

CVE-2024-31209

OpenID Connect client Atom Exhaustion in provider configuration worker ets table location

5.3 MediumFix available

oidcc is the OpenID Connect client library for Erlang. Denial of Service (DoS) by Atom exhaustion is possible by calling oidcc_provider_configuration_worker:get_provider_configuration/1 or oidcc_provider_configuration_worker:get_jwks/1. This issue has been patched in version(s)3.1.2 & 3.2.0-beta.3.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
High
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.24%Up 0.2 points since Apr 5, 2024
90%50%10%1%

What each source reports

CVE List Score used 5.3

OpenID Connect client Atom Exhaustion in provider configuration worker ets table location

oidcc is the OpenID Connect client library for Erlang. Denial of Service (DoS) by Atom exhaustion is possible by calling oidcc_provider_configuration_worker:get_provider_configuration/1 or oidcc_provider_configuration_worker:get_jwks/1. This issue has been patched in version(s)3.1.2 & 3.2.0-beta.3.

Record
CVE-2024-31209
CVSS 3.1
5.3 MediumCVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02
EUVDEUVD-2024-1249 5.3

oidcc is the OpenID Connect client library for Erlang. Denial of Service (DoS) by Atom exhaustion is possible by calling oidcc_provider_configuration_worker:get_provider_configuration/1 or oidcc_provider_configuration_worker:get_jwks/1. This issue has been patched in version(s)3.1.2 & 3.2.0-beta.3.

Record
EUVD-2024-1249
CVSS 3.1
5.3 MediumCVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H
Updated
2026-11-03
GitHub AdvisoriesGHSA-mj35-2rgf-cv8p 5.3

OpenID Connect client Atom Exhaustion in provider configuration worker ets table location

Impact

DOS by Atom exhaustion is possible by calling oidcc_provider_configuration_worker:get_provider_configuration/1 or oidcc_provider_configuration_worker:get_jwks/1.

Since the name is usually provided as a static value in the application using oidcc, this is unlikely to be exploited.

Details

Example to illustrate the vulnerability.

{ok, Claims} =
  oidcc:retrieve_userinfo(
    Token,
    myapp_oidcc_config_provider,
    <<"client_id">>,
    <<"client_secret">>,
    #{}
  )

The vulnerability is present in oidcc_provider_configuration_worker:get_ets_table_name/1. The function get_ets_table_name is calling erlang:list_to_atom/1.

https://github.com/erlef/oidcc/blob/018dbb53dd752cb1e331637d8e0e6a489ba1fae9/src/oidcc_provider_configuration_worker.erl#L385-L388

There might be a case (Very highly improbable) where the 2nd argument of oidcc_provider_configuration_worker:get_*/1 is called with a different atom each time which eventually leads to the atom table filling up and the node crashing.

Patches

Patched in 3.0.2, 3.1.2 & 3.2.0-beta.3

Workarounds

Make sure only valid provider configuration worker names are passed to the functions.

References

Record
GHSA-mj35-2rgf-cv8p
CVSS 3.1
5.3 MediumCVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02
NVD 5.3

oidcc is the OpenID Connect client library for Erlang. Denial of Service (DoS) by Atom exhaustion is possible by calling oidcc_provider_configuration_worker:get_provider_configuration/1 or oidcc_provider_configuration_worker:get_jwks/1. This issue has been patched in version(s)3.1.2 & 3.2.0-beta.3.

Record
CVE-2024-31209
CVSS 3.1
5.3 MediumCVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02
OSV 5.3

OpenID Connect client Atom Exhaustion in provider configuration worker ets table location

oidcc is the OpenID Connect client library for Erlang. Denial of Service (DoS) by Atom exhaustion is possible by calling oidcc_provider_configuration_worker:get_provider_configuration/1 or oidcc_provider_configuration_worker:get_jwks/1. This issue has been patched in version(s)3.1.2 & 3.2.0-beta.3.

Record
CVE-2024-31209
CVSS 3.1
5.3 MediumCVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02
OSVGHSA-mj35-2rgf-cv8p 5.3

OpenID Connect client Atom Exhaustion in provider configuration worker ets table location

Impact

DOS by Atom exhaustion is possible by calling oidcc_provider_configuration_worker:get_provider_configuration/1 or oidcc_provider_configuration_worker:get_jwks/1.

Since the name is usually provided as a static value in the application using oidcc, this is unlikely to be exploited.

Details

Example to illustrate the vulnerability.

{ok, Claims} =
  oidcc:retrieve_userinfo(
    Token,
    myapp_oidcc_config_provider,
    <<"client_id">>,
    <<"client_secret">>,
    #{}
  )

The vulnerability is present in oidcc_provider_configuration_worker:get_ets_table_name/1. The function get_ets_table_name is calling erlang:list_to_atom/1.

https://github.com/erlef/oidcc/blob/018dbb53dd752cb1e331637d8e0e6a489ba1fae9/src/oidcc_provider_configuration_worker.erl#L385-L388

There might be a case (Very highly improbable) where the 2nd argument of oidcc_provider_configuration_worker:get_*/1 is called with a different atom each time which eventually leads to the atom table filling up and the node crashing.

Patches

Patched in 3.0.2, 3.1.2 & 3.2.0-beta.3

Workarounds

Make sure only valid provider configuration worker names are passed to the functions.

References

Record
GHSA-mj35-2rgf-cv8p
CVSS 3.1
5.3 MediumCVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
oidcc
Hex
3.0.0 up to 3.0.2
3.0.2
oidcc
Hex
3.1.0 up to 3.1.2
3.1.2
oidcc
Hex
3.2.0-beta.1 up to 3.2.0-beta.3
3.2.0-beta.3
oidcc
Hex
3.0.0 up to 3.0.2, plus listed versions
3.0.1
3.0.2
oidcc
Hex
3.1.0 up to 3.1.2, plus listed versions
3.1.13.1.2-beta.1
3.1.2
oidcc
Hex
3.2.0-beta.1 up to 3.2.0-beta.3, plus listed versions
3.2.0-beta.2
3.2.0-beta.3

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-31209 is a medium vulnerability (CVSS 5.3) in Erlef Oidcc, published April 3, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.24%, the 14th percentile. Fixed in oidcc 3.0.2.

References

Show 4 moreShow less
MoveEnter Open