
Apache OpenMeetings 9.1.0 - Élevée - Distante - CWE-502 - clustering OpenJPA RemoteCommitProvider TCP 5636
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-cluster-openjpa
Classe : CWE-502 Portée : Distante
Apache OpenMeetings 9.1.0. Résidu de CVE-2024-54676 (liste blanche de la documentation). Le bin/startup.sh par défaut ne définit pas les listes OpenJPA. Clustering.xml / l'unité systemd documentent encore RemoteCommitProvider=tcp. Lorsqu'un administrateur décommente cela, le TCP 5636 est un ObjectInputStream.readObject non filtré. La version 9.1.0 standard ne se lie pas au 5636.
Ce laboratoire n'envoie que java.util.HashMap / String. Aucune chaîne de gadgets.
| ID | pas encore de CVE |
| Classe | CWE-502 |
| Portée | Distante (lorsque le clustering TCP est activé comme dans la documentation) |
| CWE | CWE-502 |
| CVSS | Élevé : 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Produit | Apache OpenMeetings 9.1.0 clustering |
| Authentification | aucune sur 5636 une fois le clustering activé |
| Licence | GNU Affero GPL v3.0 |
| Laboratoire | 127.0.0.1:18162 uniquement |
| Méthode | Point de terminaison | Privilège |
|---|---|---|
| TCP 5636 par défaut standard | startup.sh n'a pas de listes ; persistence.xml commenté | Fermé sur la version standard (prouvé en laboratoire) : port fermé. PHASE_A_STOCK_NOT_EXPLOITABLE. |
Docs-on RemoteCommitProvider=tcp puis TCP 5636 HashMap sérialisé | OpenJPA readObject | Intégrité (désérialisation prouvée en laboratoire) : ClassCastException HashMap vs RemoteCommitEvent. La chaîne témoin était dans le HashMap. RCE par gadget non exercée. |
Fermé : ysoserial non utilisé. Clustering par défaut désactivé. Liste blanche de la documentation CVE-2024-54676 pour le chemin script ; ce résidu est le fournisseur TCP que la documentation de clustering montre encore.
cd lab
./run.sh
Dernière ligne : SUCCESS OPENMEETINGS-CLUSTER-OPENJPA-WITNESS
Correctif suggéré : garder RemoteCommitProvider désactivé. Si le clustering TCP est requis, se lier à l'interface loopback et définir la liste blanche de sérialisation OpenJPA dans startup.sh, pas seulement dans systemd. Ne pas documenter le décommenter-et-écouter sur 5636.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
Fournisseur : [email protected]