Kerentanan  ·  2026-10-15

MCP Python SDK: buffering badan permintaan tanpa batas + retensi sesi tanpa batas → DoS OOM jarak jauh dari server FastMCP

KerentananMedium dampakGlobalCVE-2026-109527
Diverifikasi melalui NVD REST API (keduanya diterbitkan 2026-10-14; CVE-2026-109527 CVSS 7.5 CWE-770; CVE-2026-59951 CVSS 6.9 v4.0 CWE-400/772). Dua kelemahan kehabisan sumber daya yang berbeda di transport aliran SDK MCP Python resmi, diperbaiki di jalur patch independen. Penerapan hanya-Stdio dan server di belakang batas ukuran badan upstream tidak terpengaruh.
Bersama dengan advisory SDK Java minggu yang sama dan advisory SDK mcp-go/Kotlin sebelumnya, ini menunjukkan transport HTTP SDK MCP resmi secara luas kekurangan batas ukuran permintaan dan siklus-hidup sesi — cara jarak jauh tanpa autentikasi untuk menjatuhkan server alat agen yang mendukung banyak alur kerja AI. Platform agen harus memberlakukan batas ukuran badan dan sesi di pintu masuk mereka terlepas dari patch SDK.
Klien jarak jauh tanpa autentikasi mengirim badan permintaan besar yang dideklarasikan atau dialirkan ke manajer sesi HTTP Streamable, endpoint pesan SSE, atau rute server otorisasi OAuth; endpoint mem-buffer badan (mengonsumsi beberapa kali ukuran badan dalam memori) untuk menghabiskan atau mematikan server. Secara terpisah (CVE-2026-59951), server HTTP Streamable stateful tidak pernah mengakhiri atau membatasi entri sesi, sehingga permintaan pendek biasa menumbuhkan memori server tanpa batas hingga restart.
mcp < 1.29.1 dan 2.0.0a1–2.0.1 untuk CVE-2026-109527; mcp 1.8.0–1.30.0 dan 2.0.0–2.2.0 untuk DoS retensi sesi CVE-2026-59951. Diperbaiki di 1.29.1/2.1.0 (109527) dan 1.30.0/2.2.0 (59951).
Tingkatkan mcp ke >= 1.29.1 (atau 2.1.0) dan >= 1.30.0/2.2.0 untuk perbaikan retensi sesi. Tambahkan batas ukuran permintaan reverse-proxy dan manajemen sesi di tepi penerapan.
NVD CVE-2026-109527NVD CVE-2026-59951GitHub advisory GHSA-fmmv-w9g8-j3gc
Lihat di umpan langsung Jelajahi temuan keamanan dan tata kelola AI terkait — diperbarui setiap pagi.
Buka umpan →