Saltar al contenido
CVE-2026-19433 ·
Alta · 10 de agosto de 2026

Authorization Bypass Through User-Controlled Key en Prospero Flow CRM permite escritura y lectura de contactos de otras empresas

S0
Secur0 CNA
CVE-2026-19433

Descripción

Authorization Bypass Through User-Controlled Key (CWE-639) en ContactRepository (app/Repositories/ContactRepository.php) y en ContactExportVCard (app/Http/Controllers/Contact/ContactExportVCard.php), expuestos en POST /contact/save y GET /contact/export-vcard/{id}, en Prospero Flow CRM 5.4.7, que permite a un usuario autenticado de cualquier empresa sobrescribir a ciegas los datos de un contacto perteneciente a otra empresa y descargar sus datos personales en formato vCard, mediante el envío o la enumeración del identificador numérico del contacto, debido a que el método save() recuperaba el registro a actualizar con Contact::find($data['id']) y export() con Contact::findOrFail($id), en ambos casos sin restringir la consulta al company_id del usuario autenticado, a diferencia de los controladores hermanos ContactUpdateController y ContactDeleteController, que sí aplican ese filtro desde el commit a3a2f9f5 (PR #248). Esto resulta en la modificación no autorizada del nombre, apellidos, teléfono, móvil, correo electrónico, cargo, perfiles de LinkedIn y Twitter, y notas de contactos de otras empresas, sin necesidad de haber leído previamente su contenido, y en la divulgación de los datos personales de esos mismos contactos a través de la exportación vCard. El mismo commit de corrección aplica el filtro equivalente en SupplierContactRepository::save() y en el ContactExportVCard::export() del módulo de proveedores, dos superficies no cubiertas por la prueba de concepto.

Tipo de vulnerabilidad (CWE)

CWE-639: Authorization Bypass Through User-Controlled Key

Versiones afectadas

Prospero Flow CRM anteriores a 5.4.8 (corregido por el commit f16b4af2, de fecha 2026-06-25). El commit de corrección no modificó version.php, que permaneció en 5.4.7; la primera versión que incorpora la corrección es 5.4.8, establecida por el commit inmediatamente posterior 361566c1. El sumidero de escritura se introdujo en el commit 65f6b9f9 (2023-02-21) y el de exportación vCard en el commit a0306e77 (2023-02-07); ambos estuvieron presentes en las etiquetas v1.0.0, v2.0.1 y v4.6.0, por lo que sí hubo releases etiquetadas distribuidas en estado vulnerable. La versión 5.4.8 no tiene etiqueta git: la primera etiqueta que incorpora la corrección es v5.5.3. Las versiones se leen de la constante APP_VERSION en version.php. Estado por defecto: no afectado.

Puntuación (CVSS 4.0)

Alta (8.6)

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Solución

Actualizar a la versión 5.4.8 o superior. La corrección no se etiquetó: la primera release etiquetada que la incorpora es v5.5.3.

Parche

Commit f16b4af2

Créditos

  • Darío Rivas Quero - finder (descubridor)
  • Alejandro Gutiérrez López - finder (descubridor)
  • Cristian Fernández Cornejo - analyst (analista)
  • Xoán M. Otero Jorge - analyst (analista)
  • Secur0 CNA - coordinator (coordinador)
  • Gustavo Novaro - remediation developer (desarrollador de la corrección) Origen del descubrimiento: Interno Registro oficial: CVE-2026-19433