Intel

AIKIDO-2026-820211

picows is vulnerable to Out-of-bounds Write

Out-of-bounds WriteGHSA-583m-hcmv-qpq9 Published Aug 11, 2026

75

High Risk

This Affects:

PYTHONpicows
1.11.0 - 2.1.1
Fixed in 2.1.2
Are you affected? Scan for Free

TL;DR

The Cython WebSocket frame parser in picows.pyx reads a client-supplied 64-bit extended payload length into a signed Py_ssize_t field without checking the RFC 6455-forbidden high bit. A remote client that completes a normal WebSocket handshake can send a single frame whose length sets that high bit, producing a negative value that bypasses the max_frame_size and payload-completeness checks. The negative length is then reinterpreted as a huge unsigned size_t in the payload-masking routine, which reads and writes far outside the receive buffer and crashes the server process. The fix rejects forbidden high-bit and non-minimal extended-length encodings with a protocol error before they are used.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you use picows to run a WebSocket server that accepts frames from untrusted clients.

Background info

picows is vulnerable to Out-of-bounds Write in versions 1.11.0 - 2.1.1.

How to fix this

Upgrade the picows library to the patch version.