CVE-2025-57812
[BIGSLEEP-434612419] CUPS-Filters has heap-buffer-overflow write in `cfImageLut()`
En resumen
Una falla en el software de impresión CUPS permite que un archivo TIFF manipulado cause desbordamiento de memoria durante el procesamiento de impresión. Un atacante puede explotarlo enviando un trabajo de impresión especialmente elaborado, causando posible bloqueo o mal funcionamiento del servicio de impresión.
Detalle técnico
CVE-2025-57812 es un desbordamiento de buffer heap en la función `cfImageLut()` de CUPS-Filters al procesar imágenes TIFF (versiones ≤1.28.17 y libcupsfilters 2.0.0–2.1.1). La vulnerabilidad ocurre cuando el búfer de píxeles se asigna con un cálculo de bytes-por-píxel, pero se procesa con un multiplicador diferente (3x), causando acceso a memoria fuera de límites cuando un TIFF manipulado se envía con opciones que establecen bytes-por-píxel en 1. La explotación requiere que el filtro `imagetoraster` o `cfFilterImageToRaster()` se invoque en la canalización de procesamiento de la impresora.
Resumen generado y traducido por IA a partir de la descripción oficial.
CUPS is a standards-based, open-source printing system, and `libcupsfilters` contains the code of the filters of the former `cups-filters` package as library functions to be used for the data format conversion tasks needed in Printer Applications. In CUPS-Filters versions up to and including 1.28.17 and libscupsfilters versions 2.0.0 through 2.1.1, CUPS-Filters's `imagetoraster` filter has an out of bounds read/write vulnerability in the processing of TIFF image files. While the pixel buffer is allocated with the number of pixels times a pre-calculated bytes-per-pixel value, the function which processes these pixels is called with a size of the number of pixels times 3. When suitable inputs are passed, the bytes-per-pixel value can be set to 1 and bytes outside of the buffer bounds get processed. In order to trigger the bug, an attacker must issue a print job with a crafted TIFF file, and pass appropriate print job options to control the bytes-per-pixel value of the output format. They must choose a printer configuration under which the `imagetoraster` filter or its C-function equivalent `cfFilterImageToRaster()` gets invoked. The vulnerability exists in both CUPS-Filters 1.x and the successor library libcupsfilters (CUPS-Filters 2.x). In CUPS-Filters 2.x, the vulnerable function is `_cfImageReadTIFF() in libcupsfilters`. When this function is invoked as part of `cfFilterImageToRaster()`, the caller passes a look-up-table during whose processing the out of bounds memory access happens. In CUPS-Filters 1.x, the equivalent functions are all found in the cups-filters repository, which is not split into subprojects yet, and the vulnerable code is in `_cupsImageReadTIFF()`, which is called through `cupsImageOpen()` from the `imagetoraster` tool. A patch is available in commit b69dfacec7f176281782e2f7ac44f04bf9633cfa.
CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N