
Apache OpenMeetings 9.1.0 - Alta - Remota - CWE-502 - clustering OpenJPA RemoteCommitProvider TCP 5636
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-cluster-openjpa
Clase: CWE-502 Alcance: Remoto
Apache OpenMeetings 9.1.0. Residuo de CVE-2024-54676 (lista blanca de docs). El bin/startup.sh predeterminado no establece las listas de OpenJPA. Clustering.xml / la unidad systemd todavía documentan RemoteCommitProvider=tcp. Cuando un administrador descomenta eso, el TCP 5636 queda como ObjectInputStream.readObject sin filtrar. La versión 9.1.0 estándar no vincula el 5636.
Este laboratorio solo envía java.util.HashMap / String. Sin cadena de gadgets.
| ID | aún sin CVE |
| Clase | CWE-502 |
| Alcance | Remoto (cuando el clustering TCP está habilitado según la documentación) |
| CWE | CWE-502 |
| CVSS | Alto: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Producto | Apache OpenMeetings 9.1.0 clustering |
| Autenticación | ninguna en el 5636 una vez que el clustering está activado |
| Licencia | GNU Affero GPL v3.0 |
| Laboratorio | solo 127.0.0.1:18162 |
| Método | Sumidero | Privilegio |
|---|---|---|
| TCP 5636 predeterminado de serie | startup.sh no tiene listas; persistence.xml comentado | Cerrado en la versión de serie (probado en laboratorio): puerto cerrado. PHASE_A_STOCK_NOT_EXPLOITABLE. |
Docs activados RemoteCommitProvider=tcp y luego TCP 5636 HashMap serializado | readObject de OpenJPA | Integridad (deserialización probada en laboratorio): ClassCastException HashMap vs RemoteCommitEvent. La cadena testigo estaba en el HashMap. No se ejercitó RCE mediante gadgets. |
Cerrado: no se usó ysoserial. Clustering desactivado por defecto. La lista blanca de docs de CVE-2024-54676 para la ruta del script; este residuo es el proveedor TCP que la documentación de clustering todavía muestra.
cd lab
./run.sh
Última línea: SUCCESS OPENMEETINGS-CLUSTER-OPENJPA-WITNESS
Corrección sugerida: mantener RemoteCommitProvider desactivado. Si se requiere clustering TCP, vincular a loopback y establecer la lista blanca de serialización de OpenJPA en startup.sh, no solo en systemd. No documentar descomentar-y-escuchar en el 5636.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
Proveedor: [email protected]