CVE-2021-30185: Indico Tampering with links (e.g. password reset) in sent emails
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.46742%
CWE
Published
4/8/2021
Updated
9/23/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
indico | pip | < 2.3.4 | 2.3.4 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from Indico's URL generation using the Host header instead of enforcing BASE_URL. The key changes in the patch:
- configure_app() was modified to always set SERVER_NAME/APPLICATION_ROOT from BASE_URL, removing the 'set_path' conditional
- make_app() was updated to stop passing 'set_path=True'
In vulnerable versions, these functions allowed Flask's URL generation to use attacker-controlled Host headers when:
- configure_app didn't set SERVER_NAME (due to set_path=False)
- make_app didn't enforce the configuration This would manifest in runtime profiles during email generation flows (like password reset) using Flask's url_for with incorrect host information.