Flask-CORS allows for inconsistent CORS matching
Moderate severity
GitHub Reviewed
Published
Mar 20, 2025
to the GitHub Advisory Database
•
Updated May 17, 2025
Description
Published by the National Vulnerability Database
Mar 20, 2025
Published to the GitHub Advisory Database
Mar 20, 2025
Reviewed
Mar 21, 2025
Last updated
May 17, 2025
A vulnerability in corydolphin/flask-cors version 5.0.1 allows for inconsistent CORS matching due to the handling of the '+' character in URL paths. The request.path is passed through the unquote_plus function, which converts the '+' character to a space ' '. This behavior leads to incorrect path normalization, causing potential mismatches in CORS configuration. As a result, endpoints may not be matched correctly to their CORS settings, leading to unexpected CORS policy application. This can cause unauthorized cross-origin access or block valid requests, creating security vulnerabilities and usability issues.
References