CPANSA-Punk-2026-104380: Punk vulnerability

Publisher giterlizzi Document category csaf_security_advisory
Initial release date 2026-10-06T00:00:00 Engine CSAF Perl Toolkit 0.26
Current release date 2026-10-06T00:00:00 Build Date
Current version 1 Status final
CVSS v3.1 Base Score 5.3 Severity Medium
Original language Language en
Also referred to

Vulnerability Description

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.

Vulnerabilities

CVE-2026-104380

Vulnerability Description

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.

Weakness CWE-1385 : Missing Origin Validation in WebSockets

Product status

Known affected
Product Score
Punk greater than or equal 0.48 and less than 0.55
CVSS Version CVSS Vector CVSS Base Score CVSS Base Severity
3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 5.3 Medium
Fixed

giterlizzi

Namespace: https://github.com/giterlizzi/

gdt@cpan.org

References

Revision history

Version Date of the revision Summary of the revision
1 Tue Oct 6 00:00:00 2026 First release

Sharing rules

TLP:WHITE
For the TLP version see: https://www.first.org/tlp/