CVE-2019-16764

PowAssent is susceptible to denial of service attacks

Published Nov 25, 2019 CVSS 3.1 · 6.5 Medium EPSS 1.1% KEV · Not listed
Description
The use of `String.to_atom/1` in PowAssent is susceptible to denial of service attacks. In `PowAssent.Phoenix.AuthorizationController` a value is fetched from the user provided params, and `String.to_atom/1` is used to convert the binary value to an atom so it can be used to fetch the provider configuration value. This is unsafe as it is user provided data, and can be used to fill up the whole atom table of ~1M which will cause the app to crash.

Analysis

No analysis available yet

Remediation

Vendor Workaround

A plug can be used to validate conn.params["provider"] before it reaches the PowAssent.Phoenix.AuthorizationController.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2022-1629 The use of `String.to_atom/1` in PowAssent is susceptible to denial of service attacks. In `PowAssent.Phoenix.AuthorizationController` a value is fetched from the user provided params, and `String.to_atom/1` is used to convert the binary value to an atom so it can be used to fetch the provider configuration value. This is unsafe as it is user provided data, and can be used to fill up the whole atom table of ~1M which will cause the app to crash.
Github GHSA Github GHSA GHSA-5653-437f-5hmc Denial of service
History

No history.

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 5, 2024, 1:24 AM
Reserved
Sep 24, 2019, 12:00 AM
Status
Modified
Published
Nov 25, 2019, 5:15 PM
Modified
Jun 17, 2026, 2:22 AM