{ "id": "CVE-2021-21241", "sourceIdentifier": "security-advisories@github.com", "published": "2021-01-11T21:15:13.377", "lastModified": "2021-01-19T15:43:12.123", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [ { "lang": "en", "value": "The Python \"Flask-Security-Too\" package is used for adding security features to your Flask application. It is an is a independently maintained version of Flask-Security based on the 3.0.0 version of Flask-Security. In Flask-Security-Too from version 3.3.0 and before version 3.4.5, the /login and /change endpoints can return the authenticated user's authentication token in response to a GET request. Since GET requests aren't protected with a CSRF token, this could lead to a malicious 3rd party site acquiring the authentication token. Version 3.4.5 and version 4.0.0 are patched. As a workaround, if you aren't using authentication tokens - you can set the SECURITY_TOKEN_MAX_AGE to \"0\" (seconds) which should make the token unusable." }, { "lang": "es", "value": "El paquete Python \"Flask-Security-Too\" es usado para agregar funcionalidades de seguridad a su aplicaci\u00f3n Flask. Es una versi\u00f3n mantenida independientemente de Flask-Security basada en la versi\u00f3n 3.0.0 de Flask-Security. En Flask-Security-Too desde la versi\u00f3n 3.3.0 y versiones anteriores a 3.4.5, los endpoints /login y /change pueden devolver el token de autenticaci\u00f3n del usuario autenticado en respuesta a una petici\u00f3n GET. Dado que las peticiones GET no est\u00e1n protegidas con un token CSRF, esto podr\u00eda conllevar a que un sitio de terceros malicioso adquiera el token de autenticaci\u00f3n. La versi\u00f3n 3.4.5 y la versi\u00f3n 4.0.0 est\u00e1n parcheadas. Como soluci\u00f3n temporal, si no est\u00e1 utilizando tokens de autenticaci\u00f3n, puede establecer el SECURITY_TOKEN_MAX_AGE en \"0\" (segundos), lo que deber\u00eda inutilizar el token" } ], "metrics": { "cvssMetricV31": [ { "source": "nvd@nist.gov", "type": "Primary", "cvssData": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE", "baseScore": 7.4, "baseSeverity": "HIGH" }, "exploitabilityScore": 2.8, "impactScore": 4.0 }, { "source": "security-advisories@github.com", "type": "Secondary", "cvssData": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE", "baseScore": 7.4, "baseSeverity": "HIGH" }, "exploitabilityScore": 2.8, "impactScore": 4.0 } ], "cvssMetricV2": [ { "source": "nvd@nist.gov", "type": "Primary", "cvssData": { "version": "2.0", "vectorString": "AV:N/AC:M/Au:N/C:P/I:N/A:N", "accessVector": "NETWORK", "accessComplexity": "MEDIUM", "authentication": "NONE", "confidentialityImpact": "PARTIAL", "integrityImpact": "NONE", "availabilityImpact": "NONE", "baseScore": 4.3 }, "baseSeverity": "MEDIUM", "exploitabilityScore": 8.6, "impactScore": 2.9, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": true } ] }, "weaknesses": [ { "source": "security-advisories@github.com", "type": "Primary", "description": [ { "lang": "en", "value": "CWE-352" } ] } ], "configurations": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:a:flask-security-too_project:flask-security-too:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.3.0", "versionEndExcluding": "3.4.5", "matchCriteriaId": "6955F0BE-FEE7-4B0E-B488-FA537F6B068C" } ] } ] } ], "references": [ { "url": "https://github.com/Flask-Middleware/flask-security/commit/61d313150b5f620d0b800896c4f2199005e84b1f", "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ] }, { "url": "https://github.com/Flask-Middleware/flask-security/commit/6d50ee9169acf813257c37b75babe9c28e83542a", "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ] }, { "url": "https://github.com/Flask-Middleware/flask-security/pull/422", "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ] }, { "url": "https://github.com/Flask-Middleware/flask-security/releases/tag/3.4.5", "source": "security-advisories@github.com", "tags": [ "Third Party Advisory" ] }, { "url": "https://github.com/Flask-Middleware/flask-security/security/advisories/GHSA-hh7m-rx4f-4vpv", "source": "security-advisories@github.com", "tags": [ "Third Party Advisory" ] }, { "url": "https://pypi.org/project/Flask-Security-Too", "source": "security-advisories@github.com", "tags": [ "Product", "Third Party Advisory" ] } ] }