# Seguridad Estructural

## Controles detectados

- CSRF global: `libraries/csrf-magic/csrf-magic.php`.
- Request purification: `Vtiger_Request::get()` -> `vtlib_purify()`.
- Referer validation en `Vtiger_Request::validateReadAccess()`.
- Write access exige POST y CSRF por `validateWriteAccess()`.
- ACL por `Users_Privileges_Model`, perfiles, roles y sharing.
- Inclusion controlada por `checkFileAccessForInclusion()`.
- Upload bad extensions definido por configuracion (`upload_badext`).
- `Documents` y webservices validan permisos antes de descarga en varios puntos.

## Riesgos estructurales

- Backup/zip grande en webroot: riesgo P0 de exposicion completa.
- `kcfinder/` y `test/upload`: riesgo P1 por subida/navegacion de archivos.
- `vtigercron.php` publico: riesgo P1 si una sesion autenticada abusara de `service`.
- Webservices `WSAPP` con appkeys: revisar fuerza, expiracion y logs.
- SQL concatenado en legacy: revisar rutas donde parametros no estan normalizados a enteros o `pquery`.
- `Install`, `Migration`, `migrate`, `pkg`, `test`: superficie residual de despliegue.
- Logs/debug: errores pueden revelar paths, queries o datos si estan accesibles.

## No realizado

No se explotaron vulnerabilidades, no se subieron archivos, no se probaron credenciales y no se ejecutaron endpoints funcionales.
