|
| 1 | +--- |
| 2 | +layout: news_post |
| 3 | +title: "CVE-2018-16396: Banderas de contaminación no propagadas en Array#pack y String#unpack con algunas directivas" |
| 4 | +author: "usa" |
| 5 | +translator: "vtamara" |
| 6 | +date: 2018-10-17 14:00:00 +0000 |
| 7 | +tags: security |
| 8 | +lang: es |
| 9 | +--- |
| 10 | + |
| 11 | +Con algunos formatos de `Array#pack` y `String#unpack`, las banderas de |
| 12 | +contaminación (tainted) de los datos originales no se propagan a la |
| 13 | +cadena/arreglo que se retorna. |
| 14 | +A esta vulnerabilidad se le ha asignado el identificador CVS |
| 15 | +[CVE-2018-16396](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16396). |
| 16 | + |
| 17 | +## Detalles |
| 18 | + |
| 19 | +El método `Array#pack` convierte el arreglo que recibe en una cadena |
| 20 | +con un formato especificado. Si el arreglo recibido contiene objetos |
| 21 | +contaminados, la cadena retornada también debe marcarse como |
| 22 | +contaminada. |
| 23 | +El método `String#unpack` que convierte una cadena en un arreglo |
| 24 | +también debería propagar la bandera de contaminación a los objetos |
| 25 | +del arreglo que se retorna. |
| 26 | +Pero, con las directivas `B`, `b`, `H` y `h`, las banderas |
| 27 | +de contaminación no se propagan. |
| 28 | +Asi, que si un script procesa una entrada no confiable con `Array#pack` |
| 29 | +y/o `String#unpack` y chequea su confiabilidad con las banderas de |
| 30 | +contaminación, el chequeo podría resultar errado. |
| 31 | + |
| 32 | +Todos los usuarios que corran una versión afectada deberían actualizar |
| 33 | +de inmediato. |
| 34 | + |
| 35 | +## Versiones afectadas |
| 36 | + |
| 37 | +* Serie Ruby 2.3: 2.3.7 y anteriores |
| 38 | +* Serie Ruby 2.4: 2.4.4 y anteriores |
| 39 | +* Serie Ruby 2.5: 2.5.1 y anteriores |
| 40 | +* Serie Ruby 2.6: 2.6.0-preview2 y anteriores |
| 41 | +* Anteriores la revisión r65125 del trunk |
| 42 | + |
| 43 | +## Credito |
| 44 | + |
| 45 | +Agradecimientos a [Chris Seaton](https://hackerone.com/chrisseaton) |
| 46 | +por reportar este problema. |
| 47 | + |
| 48 | +## Historia |
| 49 | + |
| 50 | +* Publicado originalmente el 2018-10-17 14:00:00 (UTC) |
0 commit comments