Le transport WebSocket de SIPGO alloue un tampon à partir de la longueur déclarée par le client avant d’avoir validé cette valeur, permettant à un client non authentifié de provoquer l’arrêt du processus.
Analyse technique
WSConnection.Read utilise la longueur indiquée dans l’en-tête de trame WebSocket pour créer un tableau avant application d’une limite. Une valeur hors plage peut provoquer un panic Go lors de l’allocation ; aucun mécanisme de récupération ne protège alors le processus serveur concerné.
Impact, versions et correctif
Détection / vérification
Rechercher les panic Go liés à makeslice ou au transport_ws.go ; surveiller les redémarrages de processus et les connexions WebSocket dont les en-têtes déclarent des tailles anormalement élevées.
Action recommandée
Mettre à jour github.com/emiago/sipgo vers 1.4.3 ou une version ultérieure.
Sources
Priorisation DFS : P3 · confiance de recoupement standard · 1 source(s).