CVE-2024-27280: Vulnerabilidad de sobre-lectura de buffer en StringIO

Hemos publicado las versiones 3.0.1.1 y 3.0.1.2 de la gema StringIO que tiene una corrección de seguridad para una vulnerabilidad de sobre-lectura de un buffer. A esta vulnerabilidad se le ha asignado el identificador CVE CVE-2024-27280.

Detalles

Se descubrió un problema en StringIO 3.0.1, distribuido con Ruby 3.0.x, hasta 3.0.6 y con 3.1.x hasta 3.1.4.

Los métodos ungetbyte y ungetc de StringIO pueden leer más allá del fin de una cadena, y las llamadas subsiguientes a StringIO.gets pueden retornar valores en memoria.

Esta vulnerabilidad no afecta a StringIO 3.0.3 ni a posteriores, ni a Ruby 3.2.x ni a posteriores.

Acción recomendada

Recomendamos actualizar la gema StringIO a la versión 3.0.3 o posterior. Para asegurar la compatibilidad con las versiones incluidas en series de Ruby anteriores, puede actualizar como se indica a continuación:

  • Para usuarios de Ruby 3.0: Actualizar a stringio 3.0.1.1
  • Para usuarios de Ruby 3.1: Actualizar a stringio 3.0.1.2

Nota: La gema StringIO 3.0.1.2 contiene no sólo corrección para esta vulnerabilidad, sino también una solución para la falla [Falla #19389].

Puede usar gem update stringio para actualizar. Si está usando bundler, por favror agregue gem "stringio", ">= 3.0.1.2" a su Gemfile.

Versiones afectadas

  • Ruby 3.0.6 y anteriores
  • Ruby 3.1.4 y anteriores
  • Gema StringIO 3.0.1 y anteriores

Creditos

Agradecemos a david_h1 por descubrir este problema.

Historia

  • Arreglada la versión afectada de StringIO (3.0.2 -> 3.0.1) el 2024-04-11 12:50:00 (UTC)
  • Publiado originalmente el 2024-03-21 4:00:00 (UTC)