binance / binance/binance-connector-python

[Security] WebSocket ssl Parameter Accepts False/None Without Warning

Offen
#512 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
2.9k
Forks
699
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Bug Name
WebSocket ssl Parameter Accepts False/None Without Warning

## Attack Scenario
The WebSocket init_connection method passes configuration.https_agent directly to aiohttp.ws_connect(ssl=...). When ssl=False, aiohttp disables SSL verification entirely without any warning from the SDK.

## Impact
A user who sets https_agent=False would silently disable TLS certificate verification for all WebSocket connections, enabling MITM attacks.

## Components
File: common/src/binance_common/websocket.py (lines 164-170, 182-188). ssl parameter passed from configuration.https_agent.

## Reproduction
1. Create WebSocket configuration with https_agent=False.
2. Connect to WebSocket API.
3. SSL verification is silently disabled -- no warning or error.

## Fix
Add a validation check: if https_agent is False, raise a warning or error. Document the security implications clearly.

## Details
Finding ID: SEC-05
Severity: Low

---
Researcher: Independent Security Researcher -- Mefai Security Team

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne in common/src/binance_common/websocket.py beim Code für init_connection ungefähr bei den Zeilen 164–170 und 182–188 und verfolge anschließend die Konfiguration von https_agent bis zu aiohttp.ws_connect. Stelle eine Verbindung mit https_agent=False nach und überprüfe, dass die abgeschlossene Änderung nicht länger stillschweigend deaktivierte SSL-Verifizierung zulässt und die Sicherheitsauswirkungen dokumentiert sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
networking, security
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
56/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.