En el módulo Perl Spreadsheet::ParseExcel, que proporciona funciones para analizar archivos en formato Excel, se ha identificado una vulnerabilidad crítica (CVE-2023-7101) que permite la ejecución de código arbitrario al procesar archivos XLS o XLSX que contienen reglas de formato numérico especialmente diseñadas. La vulnerabilidad se debe al uso de datos obtenidos del archivo en procesamiento al construir la llamada a "eval". El problema se ha solucionado en la actualización Spreadsheet::ParseExcel 0.66. Existe un prototipo de exploit. Código vulnerable: if ( $format_str =~ /^{\[([=][^\]]+)\](.*)}$ / ) { $conditional = $1; $format_str = $2; } … $section = eval "$number $conditional" ? 0 : 1; Ejemplo de exploit para ejecutar el comando whoami: 123;system(‘whoami > /tmp/inject.txt’)]123"/>
La vulnerabilidad fue identificada por la compañía Barracuda Networks durante el análisis de un ataque de colocación de malware en dispositivos Barracuda ESG (Email Security Gateway). La causa de la compromisión de los dispositivos fue una vulnerabilidad de día cero (CVE-2023-7102) en el módulo Spreadsheet::ParseExcel, utilizado en Barracuda ESG para analizar los archivos adjuntos de correo electrónico en formato Excel. Para ejecutar su código en los sistemas que utilizan Barracuda ESG, basta con enviar un correo electrónico con un archivo adjunto de correo especialmente diseñado.
Fuente: opennet.ru
