---
id: "CVE-2026-116579"
kind: "vulnerability"
aliases: ["CVE-2026-116579"]
title: "Autobahn Python: crafted Brotli WebSocket frame exhausts server memory"
severity: "medium"
cvss: 5.9
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["autobahn", "package", "python", "self-hosted", "websocket"]
not_affected_if: ["default-config", "pre-26.7.1-or-post-26.10.1"]
published_at: "2026-10-26T21:18:15+00:00"
first_seen_at: "2026-10-26T21:20:31+00:00"
updated_at: "2026-10-26T21:21:13+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116579", "first_seen_at": "2026-10-26T21:20:31+00:00"}]
---

# Autobahn Python: crafted Brotli WebSocket frame exhausts server memory

Autobahn Python's permessage-brotli decompression runs without an output limit, so a small compressed WebSocket frame can allocate hundreds of MiB before the payload size check rejects it. An unauthenticated client can use this to cause memory-exhaustion denial of service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `pip show autobahn` and check whether the installed version is between `26.7.1` and `26.10.1`.
- Check whether the `compress` extra is installed and the permessage-brotli feature is enabled in the WebSocket server configuration (unknown if the sources give the exact setting name).

## Fix

- Upgrade the autobahn package to `26.10.1` or later.

## Timeline

- 2026-10-26T21:20:31+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116579

## From the sources

Autobahn Python is a WebSocket and WAMP implementation for Python that supports Twisted and asyncio. From 26.7.1 until 26.10.1, PerMessageBrotli.decompress_message_data in compress_brotli.py calls the Brotli decompressor without an output limit and checks maxMessagePayloadSize only after a complete frame has been inflated. An unauthenticated WebSocket client can send a small, highly compressed frame that allocates hundreds of MiB before rejection, causing memory-exhaustion denial of service on servers that enable the opt-in permessage-brotli feature through the compress extra. Deflate and bzip2 already enforce the remaining output budget and are outside this residual vulnerability. This issue is fixed in version 26.10.1.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
