Publicado por usa el 2018-10-17
Traducción de vtamara
La comparación de igualdad de OpenSSL::X509::Name
no es correcta en la
librería de la extensión de openssl empaquetada con Ruby.
A esta vulnerabilidad se le ha asignado el identificador CVE
CVE-2018-16395.
Detalles
Una instancia de OpenSSL::X509::Name
contiene entidades tales como CN, C,
y así sucesivamente. Un par de instancias de OpenSSL::X509::Name
son
iguales sólo cuando todas las entidades son exactamente iguales. Sin embargo,
hay una falla en la comparación de igualdad, de modo que no da un resultado
correcto si el valor de la entidad de uno de los argumentos (el del lado
derecho) comienza con el valor recibido (lado izquierdo).
Así, que al pasar un certificado X.509 malicioso para compararlo con
un certificado existente, hay la posibilidad de que se juzguen
erradamente como iguales.
Se recomienda con enfásis a los usuarios de Ruby actualizar su instalación de ruby o aplicar una de las siguientes mitigaciones tan pronto como sea posible.
Versiones afectadas
- Serie Ruby 2.3: 2.3.7 y anteriores
- Serie Ruby 2.4: 2.4.4 y anteriores
- Serie Ruby 2.5: 2.5.1 y anteriores
- Serie Ruby 2.6: 2.6.0-preview2 y anteriores
- Antes de la revisión r65139 de trunk
Mitigación
La gema openssl 2.1.2 y posteriores incluye una solución para la vulnerabilidad así que actualice la gema de openssl a la versión más reciente si usa Ruby 2.4 o un serie posterior.
gem install openssl -v ">= 2.1.2"
Sin embargo, para la serie Ruby 2.3, no podrá sobrecargar la versión de openssl enpaqueta con la gema openssl. Por favor actualice su instalación de Ruby a la versión más reciente.
Credito
Agradecimientos a Tyler Eckstein por reportar el problema.
Historia
- Publicada originalmente el 2018-10-17 14:00:00 (UTC)
- Mención a la revisión arreglada en trunk el 2018-10-19 00:00:00 (UTC)