CVE-2024-34715
LOW2.3EPSS 0.10%Fides Webserver Logs Hosted Database Password Partial Exposure Vulnerability
描述
The Fides webserver requires a connection to a hosted PostgreSQL database for persistent storage of application data. If the password used by the webserver for this database connection includes special characters such as `@` and `$`, webserver startup fails and the part of the password following the special character is exposed in webserver error logs. This is caused by improper escaping of the SQLAlchemy password string, see [here](https://docs.sqlalchemy.org/en/14/core/engines.html#escaping-special-characters-such-as-signs-in-passwords) and [here](https://github.com/sqlalchemy/sqlalchemy/discussions/6615) for more info. ### Impact Partial exposure of hosted database password in webserver logs ### Patches The vulnerability has been patched in Fides version `2.37.0`. Users are advised to upgrade to this version or later to secure their systems against this threat. ### Workarounds There are no workarounds. ### Proof of Concept 1. Create a hosted PostgreSQL database for Fides with a password including `@` or `$` e.g. `p@ssword` 2. Run Fides and observe failure, sample log attached ``` fides | 2024-02-28 14:27:52.609 | ERROR | fides.api.db.database:configure_db:117 - Unable to configure database: sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "ssword@fides-db" to address: Name or service not known ```
受影響套件(1)
- PyPI/ethyca-fidesfrom 0, < 2.37.0
CVSS 分數
| 來源 | 版本 | 嚴重程度 | 向量 |
|---|---|---|---|
| osv | CVSS 3.1 | LOW2.3 | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N |
參考連結(6)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2024-34715
- PATCHhttps://github.com/ethyca/fides
- WEBhttps://docs.sqlalchemy.org/en/14/core/engines.html#escaping-special-characters-such-as-signs-in-passwords
- WEBhttps://github.com/ethyca/fides/commit/6ab37b1ffe2b1a3bd35b706a82f78e061086141c
- WEBhttps://github.com/ethyca/fides/security/advisories/GHSA-8cm5-jfj2-26q7
- WEBhttps://github.com/sqlalchemy/sqlalchemy/discussions/6615