order_by del endpoint /customers/search. Bajo configuraciones específicas de MySQL, podría derivar en ejecución remota de código mediante la escritura de un shell PHP.
Índice
Resumen ejecutivo
| Campo | Valor |
|---|---|
| CVE | CVE-2025-50455 |
| Fabricante | PHP Group (producto EasyAppointments de Alex Tselegidis) |
| Producto | EasyAppointments |
| Fecha de publicación | 27 de julio de 2026 |
| Severidad | CRÍTICA |
| CVSS v3.1 | 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) |
| Puntuación de prioridad | 235 |
| Acción recomendada | Revisar el aviso oficial del fabricante y aplicar la actualización o mitigación publicada. |
Qué es la vulnerabilidad
CVE-2025-50455 es una vulnerabilidad de SQL injection que reside en el parámetro order_by del endpoint /customers/search de EasyAppointments, un sistema de gestión de citas desarrollado por Alex Tselegidis. La falla se origina porque la entrada del usuario no se sanitiza antes de pasarla al método order_by del Query Builder de CodeIgniter. Esto permite a un atacante remoto no autenticado realizar consultas basadas en tiempo (time-based) y enumerar el esquema de la base de datos. Además, bajo ciertas configuraciones de MySQL, el atacante podría escribir un shell PHP mediante la cláusula INTO OUTFILE, logrando así ejecución remota de código.
Productos y versiones vulnerables
Según la información publicada por las fuentes consultadas, el producto afectado es:
| Producto | Versión |
|---|---|
| EasyAppointments | ≤ 1.5.1 |
No se han publicado otras versiones o productos afectados en las fuentes consultadas.
Impacto y riesgo
La vulnerabilidad tiene un impacto crítico (CVSS 9.1) porque:
- Confidencialidad (C): Alta – El atacante puede leer datos sensibles de la base de datos.
- Integridad (I): Alta – Puede modificar o insertar datos, y bajo condiciones específicas ejecutar código arbitrario.
- Disponibilidad (A): Ninguna – No se ve afectada directamente.
- Vector de ataque: Red – No requiere acceso local ni físico.
- Complejidad de ataque: Baja – No se requieren condiciones especiales.
- Privilegios requeridos: Ninguno – El atacante no necesita autenticación.
- Interacción del usuario: Ninguna – No se necesita que un usuario realice ninguna acción.
El riesgo es especialmente alto en entornos donde EasyAppointments está expuesto a Internet y la base de datos MySQL tiene permisos de escritura en el sistema de archivos.
Estado de explotación conocida
No publicado por las fuentes consultadas. La selección de esta CVE por parte de RyzerBot se basa en su publicación reciente y una puntuación CVSS ≥ 9.0, no en evidencia de explotación activa.
Indicadores de compromiso (IOC)
No se han extraído IOC estructurados de las fuentes consultadas. No deben inventarse.
Cómo comprobar si estás afectado
Para determinar si tu instalación de EasyAppointments es vulnerable:
- Identifica la versión de EasyAppointments que estás ejecutando (por ejemplo, consultando el archivo
version.phpo la interfaz de administración). - Si la versión es igual o inferior a 1.5.1, estás afectado.
- Verifica si el endpoint
/customers/searchestá expuesto y accesible sin autenticación.
No se dispone de comandos específicos publicados por las fuentes para esta comprobación.
Mitigación y actualización
La acción recomendada por las fuentes consultadas es:
Revisar el aviso oficial del fabricante y aplicar la actualización o mitigación publicada.
Hasta que el fabricante publique un parche oficial, se sugiere como mitigación temporal:
- Restringir el acceso al endpoint
/customers/searchmediante reglas de firewall o autenticación adicional. - Deshabilitar la funcionalidad
INTO OUTFILEen MySQL si no es necesaria. - Validar y sanitizar manualmente el parámetro
order_byen el código de la aplicación.
Checklist para administradores
- ☐ Identificar la versión de EasyAppointments en uso.
- ☐ Si la versión es ≤ 1.5.1, considerar la aplicación afectada.
- ☐ Revisar los registros de acceso al endpoint
/customers/searchen busca de actividad sospechosa. - ☐ Aplicar las mitigaciones temporales recomendadas.
- ☐ Suscribirse a las notificaciones del fabricante para recibir el parche oficial.
- ☐ Una vez disponible, actualizar a la versión corregida.
- ☐ Verificar que no se hayan introducido archivos PHP no autorizados en el servidor.
Preguntas frecuentes
¿Qué es EasyAppointments?
EasyAppointments es un sistema de gestión de citas de código abierto desarrollado por Alex Tselegidis, utilizado para programar reservas en línea.
¿Cómo puedo saber si mi servidor MySQL permite INTO OUTFILE?
Puedes consultar la variable secure_file_priv en MySQL. Si está vacía o apunta a un directorio donde el usuario de MySQL tiene permisos de escritura, la explotación podría ser posible.
¿La vulnerabilidad afecta a todas las versiones de PHP?
No. La vulnerabilidad está en el producto EasyAppointments, no en PHP directamente. El fabricante listado es PHP Group, pero el producto afectado es EasyAppointments.
¿Existe un parche oficial disponible?
No publicado por las fuentes consultadas. Se recomienda estar atento al repositorio oficial de EasyAppointments.
¿Puedo seguir usando EasyAppointments mientras espero el parche?
Sí, pero aplicando las mitigaciones temporales descritas y monitorizando el tráfico hacia el endpoint vulnerable.
¿Qué debo hacer si detecto actividad anómala?
Aísla el servidor, revisa los logs, busca archivos PHP inesperados y contacta con un equipo de respuesta a incidentes.

















