CVE-2026-104380 PUBLISHED

Punk versions from 0.48 before 0.55 for Perl route Extended CONNECT requests to any GET route without an Origin check in ps_serve_one

Assigner: CPANSec
Reserved: 01.10.2026 Published: 06.10.2026 Updated: 06.10.2026

Punk versions from 0.48 before 0.55 for Perl route Extended CONNECT requests to any GET route without an Origin check in ps_serve_one.

On HTTP/2 and HTTP/3 a WebSocket handshake arrives as an Extended CONNECT, which is matched as a GET and so reaches every GET route, API operation and mount. The Origin check runs only when a websocket route matches. On this transport the handler's status is the handshake response, and a 2xx accepts it.

A cross-origin page can open a WebSocket to any path and learn from its open or error event whether that path returns 2xx.

Product Status

Package Collection https://cpan.org/modules
Package Name Punk
Versions Default: unaffected
  • affected from 0.48 to 0.55 (excl.)

Solutions

Upgrade to Punk 0.55 or later.

References

Problem Types

  • CWE-1385 Missing Origin Validation in WebSockets CWE