Vulnerabilidade en zlib que se produce ao comprimir datos especialmente deseñados

Identificouse unha vulnerabilidade (CVE-2018-25032) na biblioteca zlib, que provoca un desbordamento do búfer ao tentar comprimir unha secuencia de caracteres especialmente preparada nos datos entrantes. Na súa forma actual, os investigadores demostraron a capacidade de facer que un proceso termine de forma anormal. Aínda non se estudou se o problema podería ter consecuencias máis graves.

A vulnerabilidade aparece a partir da versión zlib 1.2.2.2 e tamén afecta á versión actual de zlib 1.2.11. Cabe destacar que en 2018 se propuxo un parche para corrixir a vulnerabilidade, pero os desenvolvedores non lle prestaron atención e non lanzaron unha versión correctiva (a biblioteca zlib actualizouse por última vez en 2017). A corrección aínda non está incluída nos paquetes ofrecidos polas distribucións. Podes seguir a publicación de correccións por distribucións nestas páxinas: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. A biblioteca zlib-ng non se ve afectada polo problema.

A vulnerabilidade prodúcese se o fluxo de entrada contén un gran número de coincidencias para empaquetar, ás que se aplica o empaquetado en base a códigos Huffman fixos. En determinadas circunstancias, o contido do búfer intermedio no que se coloca o resultado comprimido pode solaparse coa memoria na que se almacena a táboa de frecuencias de símbolos. Como resultado, xéranse datos comprimidos incorrectos e fallan debido á escritura fóra do límite do búfer.

A vulnerabilidade só se pode explotar mediante unha estratexia de compresión baseada en códigos Huffman fixos. Escóllese unha estratexia similar cando a opción Z_FIXED está activada explícitamente no código (un exemplo dunha secuencia que leva a un fallo ao usar a opción Z_FIXED). A xulgar polo código, a estratexia Z_FIXED tamén se pode seleccionar automaticamente se as árbores óptimas e estáticas calculadas para os datos teñen o mesmo tamaño.

Aínda non está claro se se poden seleccionar as condicións para explotar a vulnerabilidade mediante a estratexia de compresión predeterminada Z_DEFAULT_STRATEGY. Se non é así, entón a vulnerabilidade limitarase a determinados sistemas específicos que utilizan explícitamente a opción Z_FIXED. Se é así, o dano da vulnerabilidade podería ser moi significativo, xa que a biblioteca zlib é un estándar de facto e úsase en moitos proxectos populares, incluíndo o núcleo de Linux, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg. , rpm, Git , PostgreSQL, MySQL, etc.

Fonte: opennet.ru

Engadir un comentario