Deserialización insegura en el plugin Magento 2 de TrueLayer
Se ha coordinado la divulgación de un fallo de seguridad de alta gravedad que afecta al complemento de integración de pagos TrueLayer Magento 2, específicamente en sus versiones comprendidas entre la 2.4.0 y la 2.4.2. El problema consiste en una vulnerabilidad de deserialización insegura ubicada en el componente Psr16CacheAdapter, la cual surge a raíz del empleo de la función nativa de PHP para esta tarea sin aplicar restricciones sobre las clases permitidas cuando se recupera información guardada en la caché.
Para lograr explotar este fallo, se requiere que el atacante cuente previamente con la capacidad de escribir datos modificados dentro de la infraestructura de caché empleada por la aplicación, ya sea mediante un acceso al sistema de archivos local o a sistemas como Redis o Memcached. De este modo, al introducir objetos PHP creados de forma maliciosa y provocar que sean procesados, existe la posibilidad de lograr la ejecución remota de código aprovechando las cadenas de gadgets disponibles en el entorno.
El fallo ha recibido su respectiva codificación, puntuación y clasificación, y fue descubierto por Gemma López Jiménez junto con Víctor Flores Sánchez. Como solución, los desarrolladores lanzaron la versión 2.4.3 del complemento, la cual prescinde del uso de la función vulnerable y pasa a utilizar un mecanismo basado en JSON que se alinea con las directrices de seguridad del núcleo de Magento 2. La recomendación principal consiste en aplicar la actualización y asegurar que los sistemas de caché no admitan escrituras sin la debida autorización.