Funcionalidadactivecreado Tue Jun 09#network#security#feature#auditoría-suprema#authorization#port-management#cable-report
Resumen
Quinta y última sesión de auditoría del módulo network (SA5: Port connections / Cable report). Cierra al 100% el dominio network tras audit de SA1-SA4.
18 hallazgos confirmados (3 ALTA, 6 MEDIA, 9 BAJA):
- Broken Access Control en 11 endpoints (faltaba
require_perm) - XSS en Cable Report HTML (Mermaid loose + nombres crudos)
- Inyección de header y markdown
- Duplicación de código extraída a
port_labels.py
Cambios principales
| Cambio | Archivo | Impacto |
|---|---|---|
require_perm(network, edit) en mutaciones | port_connections.py | Readonly ya no crea/borra cableado |
require_perm(network, view) en lecturas/report | cable_report.py | No exfiltra mapa de red a readonly |
securityLevel:'strict' + saneo labels | cable_report.py | XSS Mermaid cerrado |
Whitelist en Content-Disposition | cable_report.py | Header injection cerrada |
| Escape de pipes en tabla Markdown | cable_report.py | Markdown injection cerrada |
Nuevo port_labels.py | services/ | Deduplicación (Regla 2) |
| 12 tests nuevos | tests/api/test_network_sa5.py | Cobertura de autorización/XSS |
Status
- ✅ Implementado en commit
14e9074 - ✅ Sin migraciones
- ✅ Backward-compatible (solo gating de permisos, endpoints públicos igual)
- ✅ Dominio network: 100% auditado y rectificado (SA1-SA5)
Véase también
- [[incident—20260609—auditoria-sa5-red-network]]
- [[entity—network—service—port-labels]]
- [[entity—network—model—port-connection]]
- [[entity—network—endpoint—port-connections]]
- [[entity—network—endpoint—cable-report]]