binance / binance/binance-connector-python
[Security] WebSocket ssl Parameter Accepts False/None Without Warning
- 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