---
id: CVE-2026-123817
aliases:
  - GHSA-2g87-pp6c-29x5
title: 'aiohttp: Multiple instances of excessive or unbounded memory/CPU use'
summary: 'aiohttp: Multiple instances of excessive or unbounded memory/CPU use'
severity: high
cvss: 8.7
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'
vendor: aiohttp
product: aiohttp
ecosystem: pip
affected:
  - aiohttp < 3.14.4
patched:
  - aiohttp 3.14.4
published: '2026-10-19'
updated: '2026-11-09'
sourceUpdated: '2026-11-09T21:30:07.738926065Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-2g87-pp6c-29x5'
references:
  - url: >-
      https://github.com/aio-libs/aiohttp/security/advisories/GHSA-2g87-pp6c-29x5
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/09bcaa73ff084a0c539bbf16a0a78743acb7141f
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/0ae507423f681161efa77d20052b4054397c7fb6
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/3d850ee9b92573c7e913821cbcb96005beb3f4df
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/47babd8c23ca79e2bae6cc8dcb5752b61e369fc7
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/615fec3d4f088f30d2ee72cad760152e92aa1c53
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/6963ee0befec1502b6bb7b4db6c72d044c08f4fa
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/6a4f6682817839313b04b8e5cea2b39c1a88ab4f
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/8cfbe9abe5e11b84006a10f9bdf82bf607671dab
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/a555ab698e08e9baea7386d5b4c0761cb8956fdd
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/c6ac0e44c3c573ff9616f4a6a532992538b31e43
  - url: >-
      https://github.com/aio-libs/aiohttp/commit/d925a80539ffd227da1d93ab4a5bff123cc777db
  - url: 'https://github.com/aio-libs/aiohttp'
  - url: 'https://github.com/aio-libs/aiohttp/releases/tag/v3.14.4'
  - url: 'https://github.com/advisories/GHSA-2g87-pp6c-29x5'
  - url: 'https://github.com/aio-libs/aiohttp/pull/13352'
    label: 'https://github.com/aio-libs/aiohttp/pull/13352'
  - url: 'https://github.com/aio-libs/aiohttp/pull/13612'
    label: 'https://github.com/aio-libs/aiohttp/pull/13612'
tags:
  - osv
  - pip
  - ghsa
  - cve.org
epss: 0.00328
epssPercentile: 0.26109
cvssSource: cna
cwe:
  - CWE-770
ingestedAt: '2026-11-09T21:28:49.531Z'
---

## Overview

### Summary

While reassembling a WebSocket frame that arrived across many small transport reads, the reader kept one `bytes` object per read with no bound on the count. The per-object overhead is many times larger than the payload bytes, so a frame delivered a few bytes at a time could use far more memory than `max_msg_size` allows.

### Impact

An attacker could cause excessive memory use in a WebSocket server, or a malicious server against a client, by sending a frame in a large number of tiny segments.

## Affected packages

- `aiohttp < 3.14.4`

## Remediation

Upgrade to a patched release:

- `aiohttp 3.14.4`
