Vulnerabilidad en append/override_content_security_policy_directives en la función SecureHeaders::OPT_OUT en Secure Headers (CVE-2020-5217)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-74
Neutralización incorrecta de elementos especiales en la salida utilizada por un componente interno (Inyección)
Fecha de publicación:
23/01/2020
Última modificación:
21/05/2020
Descripción
En Secure Headers (secure_headers de RubyGem), una vulnerabilidad de inyección de directiva está presente en las versiones anteriores a 3.8.0, 5.1.0 y 6.2.0. Si una entrada suministrada por el usuario fue pasada a append/override_content_security_policy_directives, se podría inyectar un punto y coma conllevando a una inyección de directiva. Esto podría ser usado para, por ejemplo anular una directiva script-src. Las directivas duplicadas son ignoradas y la primera gana. Las directivas en secure_headers están ordenadas alfabéticamente, por lo que casi todas van antes de script-src. Una directiva previamente indefinida recibiría un valor inclusive si la función SecureHeaders::OPT_OUT fue suministrada. Las versiones corregidas convertirán silenciosamente los puntos y comas en espacios y emitirán una advertencia de desaprobación cuando esto suceda. Esto resultará en mensajes inocuos de la consola del navegador si está siendo explotada o usada accidentalmente. En futuras versiones, generaremos errores de aplicación resultando en 500. Según la versión principal que esté usando, las versiones corregidas son 6.2.0, 5.1.0, 3.8.0.
Impacto
Puntuación base 3.x
5.80
Gravedad 3.x
MEDIA
Puntuación base 2.0
5.00
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:twitter:secure_headers:*:*:*:*:*:ruby:*:* | 3.8.0 (excluyendo) | |
| cpe:2.3:a:twitter:secure_headers:*:*:*:*:*:ruby:*:* | 5.0.0 (incluyendo) | 5.1.0 (excluyendo) |
| cpe:2.3:a:twitter:secure_headers:*:*:*:*:*:ruby:*:* | 6.0.0 (incluyendo) | 6.2.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



